clean-architecture

Enforce clean architecture layers for Tauri desktop applications.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/YosrBennagra/3rd-Window --skill clean-architecture-yosrbennagra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clean-architecture
Source: https://github.com/YosrBennagra/3rd-Window/tree/main/.github/copilot/skills/clean-architecture
Command: npx skills add https://github.com/YosrBennagra/3rd-Window --skill clean-architecture-yosrbennagra

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enforces a robust clean architecture for desktop applications, ensuring modularity, testability, and long-term maintainability in complex projects.

Core Features & Use Cases

  • Architectural Enforcement: Maintains strict separation between UI, application state, domain logic, and infrastructure layers.
  • Dependency Management: Ensures one-directional data flow and prevents architectural drift.
  • Use Case: When developing a new feature for a Tauri desktop app, this Skill guides the developer to correctly place code within the UI, state, domain, or infrastructure layers, preventing common architectural violations.

Quick Start

Use the clean-architecture skill to review the proposed structure for a new feature in the src/ui directory.

Frequently Asked Questions about clean-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce clean architecture in a Tauri app with React and Rust?

Enforce clean architecture in a Tauri app by maintaining strict separation between UI, application state, domain logic, and infrastructure layers. This approach ensures one-directional data flow and prevents architectural drift across React and Rust boundaries.

What is the best way to manage state and domain logic separation in TypeScript desktop apps?

Managing state and domain logic separation in TypeScript desktop apps requires explicit boundary definitions between layers. Using Zustand for application state while isolating domain logic ensures modularity, testability, and long-term maintainability for complex projects.

How do I structure a new feature across UI and backend layers in a Tauri application?

Structure a new feature across UI and backend layers by placing code within the UI, state, domain, or infrastructure layers according to strict dependency rules. Correct placement prevents common architectural violations and maintains modular desktop application design.

Can I use Zustand for state management while following strict clean architecture principles?

Yes, you can use Zustand for state management while following strict clean architecture principles. Zustand manages the application state layer, while explicit boundaries and one-directional data flow keep it decoupled from the domain logic and infrastructure layers in Tauri apps.

When do I need clean architecture for my React and Rust desktop application?

You need clean architecture for your React and Rust desktop application when developing complex projects that demand long-term maintainability. It enforces modularity and testability by preventing architectural drift across system integration layers.

Why does my Tauri app lose modularity as I add more features across the React and Rust boundary?

Your Tauri app loses modularity when architectural drift breaks the separation between UI, state, domain, and infrastructure layers. Enforcing strict dependency rules and one-directional data flow prevents these violations and restores stability across the React and Rust boundary.