siesa-agents 2.1.45 → 2.1.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +66 -42
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +1062 -263
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +72 -13
- package/package.json +1 -1
|
@@ -7,26 +7,34 @@
|
|
|
7
7
|
|
|
8
8
|
### Folder Structure
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Vite + TanStack Router Structure with Clean Architecture + DDD:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
├── app/ # Next.js App Router directory
|
|
14
|
-
│ ├── (dashboard)/ # Route groups for dashboard
|
|
15
|
-
│ ├── sales/ # Routes for sales module
|
|
16
|
-
│ │ ├── quotes/ # Quote management pages
|
|
17
|
-
│ │ └── invoices/ # Invoice pages
|
|
18
|
-
│ ├── inventory/ # Inventory routes
|
|
19
|
-
│ ├── globals.css # Global styles
|
|
20
|
-
│ ├── layout.tsx # Root layout component
|
|
21
|
-
│ ├── page.tsx # Home page
|
|
22
|
-
│ ├── loading.tsx # Global loading UI
|
|
23
|
-
│ └── not-found.tsx # 404 page
|
|
24
|
-
│
|
|
25
13
|
├── src/
|
|
26
|
-
│ ├──
|
|
27
|
-
│
|
|
28
|
-
│
|
|
29
|
-
│
|
|
14
|
+
│ ├── main.tsx # React entry point
|
|
15
|
+
│ ├── router.tsx # TanStack Router config
|
|
16
|
+
│ ├── routeTree.gen.ts # Auto-generated (DO NOT EDIT)
|
|
17
|
+
│ ├── globals.css # Global styles + Tailwind
|
|
18
|
+
│ │
|
|
19
|
+
│ ├── routes/ # TanStack Router file-based routing
|
|
20
|
+
│ │ ├── __root.tsx # Root layout (providers)
|
|
21
|
+
│ │ ├── index.tsx # Home redirect
|
|
22
|
+
│ │ ├── _auth.tsx # Public layout (pathless)
|
|
23
|
+
│ │ ├── _auth/
|
|
24
|
+
│ │ │ └── login.tsx # /login
|
|
25
|
+
│ │ ├── _app.tsx # Protected layout (pathless)
|
|
26
|
+
│ │ └── _app/
|
|
27
|
+
│ │ ├── dashboard.tsx # /dashboard
|
|
28
|
+
│ │ ├── sales/
|
|
29
|
+
│ │ │ ├── quotes.tsx # /sales/quotes
|
|
30
|
+
│ │ │ └── invoices.tsx # /sales/invoices
|
|
31
|
+
│ │ └── inventory/
|
|
32
|
+
│ │ └── products.tsx # /inventory/products
|
|
33
|
+
│ │
|
|
34
|
+
│ ├── modules/ # Business modules following DDD
|
|
35
|
+
│ │ ├── sales/ # Sales module
|
|
36
|
+
│ │ │ ├── quotes/ # Quote domain
|
|
37
|
+
│ │ │ │ ├── cart/ # Shopping cart feature
|
|
30
38
|
│ │ │ │ │ ├── domain/
|
|
31
39
|
│ │ │ │ │ │ ├── entities/
|
|
32
40
|
│ │ │ │ │ │ ├── repositories/
|
|
@@ -41,29 +49,43 @@ Next.js 16 App Router Structure with Clean Architecture + DDD:
|
|
|
41
49
|
│ │ │ │ │ │ ├── api/
|
|
42
50
|
│ │ │ │ │ │ └── adapters/
|
|
43
51
|
│ │ │ │ │ └── presentation/
|
|
44
|
-
│ │ │ │ │ └── components/
|
|
45
|
-
│ │ │ │ └── products/
|
|
46
|
-
│ │ │ └── billing/
|
|
47
|
-
│ │ ├── inventory/
|
|
48
|
-
│ │ └── users/
|
|
52
|
+
│ │ │ │ │ └── components/
|
|
53
|
+
│ │ │ │ └── products/ # Products feature
|
|
54
|
+
│ │ │ └── billing/ # Billing domain
|
|
55
|
+
│ │ ├── inventory/ # Inventory module
|
|
56
|
+
│ │ └── users/ # User module
|
|
49
57
|
│ │
|
|
50
58
|
│ ├── shared/
|
|
51
|
-
│ │ ├── components/
|
|
52
|
-
│ │
|
|
53
|
-
│ │ ├──
|
|
54
|
-
│ │ ├──
|
|
55
|
-
│ │
|
|
59
|
+
│ │ ├── components/ # Reusable UI components
|
|
60
|
+
│ │ │ └── ui/ # shadcn/ui components
|
|
61
|
+
│ │ ├── hooks/ # Shared hooks
|
|
62
|
+
│ │ ├── lib/ # Utilities (utils.ts, api-client.ts)
|
|
63
|
+
│ │ ├── types/ # Common TypeScript types
|
|
64
|
+
│ │ └── constants/ # App constants
|
|
56
65
|
│ │
|
|
57
|
-
│ ├──
|
|
58
|
-
│ ├──
|
|
59
|
-
│ └──
|
|
66
|
+
│ ├── app/ # Global configuration
|
|
67
|
+
│ │ ├── providers/ # React context providers
|
|
68
|
+
│ │ └── store/ # Global Zustand stores
|
|
69
|
+
│ │
|
|
70
|
+
│ └── infrastructure/ # Global external services
|
|
71
|
+
│ ├── api/ # API configuration
|
|
72
|
+
│ ├── storage/ # IndexedDB, localStorage
|
|
73
|
+
│ └── pwa/ # PWA configuration
|
|
60
74
|
│
|
|
61
|
-
├──
|
|
62
|
-
├──
|
|
63
|
-
|
|
64
|
-
└── styles/ # Additional stylesheets
|
|
75
|
+
├── public/ # Static assets and PWA manifest
|
|
76
|
+
├── index.html # Vite entry point
|
|
77
|
+
└── vite.config.ts # Vite + TanStack Router plugin config
|
|
65
78
|
```
|
|
66
79
|
|
|
80
|
+
### TanStack Router Conventions
|
|
81
|
+
|
|
82
|
+
| Prefix | Effect | Example |
|
|
83
|
+
|--------|--------|---------|
|
|
84
|
+
| `_` | Pathless layout (no URL segment) | `_app.tsx` → layout only |
|
|
85
|
+
| `.` | Flat routing (nested without folders) | `orders.$id.tsx` → `/orders/:id` |
|
|
86
|
+
| `-` | Ignored by router (colocated files) | `-components/` |
|
|
87
|
+
| `$` | Dynamic parameter | `$orderId.tsx` → `:orderId` |
|
|
88
|
+
|
|
67
89
|
### Core Principles
|
|
68
90
|
|
|
69
91
|
#### Clean Architecture First
|
|
@@ -71,7 +93,7 @@ Strict separation of:
|
|
|
71
93
|
- **Domain layer** - Business entities, repositories interfaces, domain services, and types
|
|
72
94
|
- **Application layer** - Use cases, hooks, and state management (Zustand stores)
|
|
73
95
|
- **Infrastructure layer** - Repository implementations, API clients, and adapters
|
|
74
|
-
- **Presentation layer** - UI components
|
|
96
|
+
- **Presentation layer** - UI components in `presentation/`, routes in `routes/`
|
|
75
97
|
|
|
76
98
|
#### Domain-Driven Design
|
|
77
99
|
Business logic drives architecture decisions. Organize by business modules and domains, not technical layers.
|
|
@@ -83,7 +105,7 @@ Build complex UIs from simple, reusable components.
|
|
|
83
105
|
Leverage TypeScript for compile-time safety and developer experience.
|
|
84
106
|
|
|
85
107
|
#### Performance by Design
|
|
86
|
-
- Lazy loading
|
|
108
|
+
- Lazy loading (automatic with TanStack Router)
|
|
87
109
|
- Memoization
|
|
88
110
|
- Bundle optimization
|
|
89
111
|
|
|
@@ -107,11 +129,11 @@ Use MCP to install Shadcn components instead of creating manually.
|
|
|
107
129
|
|
|
108
130
|
### Framework Selection Rules
|
|
109
131
|
|
|
110
|
-
**Default**: Always use
|
|
132
|
+
**Default**: Always use Vite + TanStack Router with TypeScript.
|
|
111
133
|
|
|
112
|
-
**
|
|
134
|
+
**Microfrontends**: Use Vite + Module Federation for distributed architecture.
|
|
113
135
|
|
|
114
|
-
**Reasoning**:
|
|
136
|
+
**Reasoning**: Vite provides faster builds, TanStack Router offers type-safe routing, and the combination is prepared for microfrontends with Module Federation.
|
|
115
137
|
|
|
116
138
|
## Backend Architecture
|
|
117
139
|
|
|
@@ -388,9 +410,11 @@ app.MapScalarApiReference(); // NOT app.UseSwagger()
|
|
|
388
410
|
## Summary
|
|
389
411
|
|
|
390
412
|
### Frontend
|
|
391
|
-
- **
|
|
413
|
+
- **Bundler**: Vite 5+
|
|
414
|
+
- **Router**: TanStack Router (file-based, type-safe)
|
|
415
|
+
- **Framework**: React 18+ with TypeScript (strict mode)
|
|
392
416
|
- **Architecture**: Clean Architecture + DDD
|
|
393
|
-
- **State**: Zustand
|
|
417
|
+
- **State**: Zustand (client) + TanStack Query (server)
|
|
394
418
|
- **UI**: shadcn/ui + Radix UI + TailwindCSS v4
|
|
395
419
|
- **Testing**: Vitest + React Testing Library
|
|
396
420
|
- **Validation**: Zod + React Hook Form
|
|
@@ -412,4 +436,4 @@ app.MapScalarApiReference(); // NOT app.UseSwagger()
|
|
|
412
436
|
3. **Test-Driven Development** - Tests before/alongside implementation
|
|
413
437
|
4. **Database per Microservice** - Complete isolation between services
|
|
414
438
|
5. **Type Safety** - TypeScript (frontend) and C# (backend) strong typing
|
|
415
|
-
6. **Docker for Production** - Local development without containers
|
|
439
|
+
6. **Docker for Production** - Local development without containers
|