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.
@@ -7,26 +7,34 @@
7
7
 
8
8
  ### Folder Structure
9
9
 
10
- Next.js 16 App Router Structure with Clean Architecture + DDD:
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
- │ ├── modules/ # Business modules following DDD
27
- ├── sales/ # Sales module
28
- │ │ ├── quotes/ # Quote domain
29
- │ │ │ ├── cart/ # Shopping cart feature
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/ # Only components, pages in app/
45
- │ │ │ │ └── products/ # Products feature
46
- │ │ │ └── billing/ # Billing domain
47
- │ │ ├── inventory/ # Inventory module
48
- │ │ └── users/ # User module
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/ # Reusable UI components
52
- │ │ ├── hooks/ # Shared hooks
53
- │ │ ├── utils/ # Utility functions
54
- │ │ ├── types/ # Common TypeScript types
55
- │ │ └── constants/ # App constants
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
- │ ├── providers/ # React context providers
58
- │ ├── store/ # Global Zustand stores
59
- │ └── middleware.ts # Next.js middleware
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
- ├── lib/ # Next.js utilities and configurations
62
- ├── components/ # Global UI components (alternative to src/shared)
63
- ├── public/ # Static assets and PWA manifest
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 (pages go in `app/`, components in `presentation/`)
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 Next.js 16 with App Router unless explicitly told otherwise.
132
+ **Default**: Always use Vite + TanStack Router with TypeScript.
111
133
 
112
- **Exceptions**: Only use pure React + Vite when user specifically mentions offline-first functionality or requests non-Next.js setup.
134
+ **Microfrontends**: Use Vite + Module Federation for distributed architecture.
113
135
 
114
- **Reasoning**: Next.js provides better developer experience, built-in optimization, and easier deployment while maintaining PWA capabilities.
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
- - **Framework**: Next.js 16 with TypeScript and App Router
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