siesa-agents 2.1.46 → 2.1.48
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/README.md
CHANGED
|
@@ -11,15 +11,20 @@ Paquete para instalar y configurar el ecosistema **BMAD v6** con los agentes esp
|
|
|
11
11
|
Esta versión está diseñada y optimizada para el siguiente stack tecnológico empresarial:
|
|
12
12
|
|
|
13
13
|
**Frontend:**
|
|
14
|
-
-
|
|
14
|
+
- Vite 6+ como bundler (builds rápidos, HMR instantáneo)
|
|
15
|
+
- TanStack Router 1+ (file-based routing, type-safe)
|
|
16
|
+
- React 18+ con TypeScript (strict mode)
|
|
17
|
+
- TanStack Query 5+ para server state
|
|
18
|
+
- Zustand 5+ para client state
|
|
15
19
|
- Shadcn/ui + Radix UI + TailwindCSS v4
|
|
16
|
-
- Zustand para state management
|
|
17
20
|
- React Hook Form + Zod para formularios
|
|
21
|
+
- Vitest para testing
|
|
22
|
+
- Preparado para microfrontends con Module Federation
|
|
18
23
|
|
|
19
24
|
**Backend:**
|
|
20
25
|
- .NET 10 con C# Minimal API
|
|
21
26
|
- Entity Framework Core 10 + linq2db + LinqKit
|
|
22
|
-
- PostgreSQL como base de datos primaria
|
|
27
|
+
- PostgreSQL 18+ como base de datos primaria
|
|
23
28
|
- Arquitectura de Microservicios
|
|
24
29
|
|
|
25
30
|
**Principios Arquitectónicos:**
|
|
@@ -27,25 +32,6 @@ Esta versión está diseñada y optimizada para el siguiente stack tecnológico
|
|
|
27
32
|
- Test-Driven Development (TDD)
|
|
28
33
|
- Database per Microservice
|
|
29
34
|
|
|
30
|
-
## Sistema de Publicación Automática
|
|
31
|
-
|
|
32
|
-
Este proyecto cuenta con un sistema de CI/CD automatizado que maneja las publicaciones de manera inteligente:
|
|
33
|
-
|
|
34
|
-
### Versiones Estables (`latest`)
|
|
35
|
-
- **Rama**: `npm-package`
|
|
36
|
-
- **Propósito**: Versiones oficiales para producción
|
|
37
|
-
- **Funcionamiento**: Cada commit en esta rama incrementa automáticamente la versión y la publica en npm
|
|
38
|
-
|
|
39
|
-
### Versiones de Desarrollo (`dev`)
|
|
40
|
-
- **Rama**: `developer`
|
|
41
|
-
- **Propósito**: Versiones de prueba y desarrollo
|
|
42
|
-
- **Funcionamiento**: Incrementa automáticamente el contador de desarrollo
|
|
43
|
-
|
|
44
|
-
### Flujo de Trabajo
|
|
45
|
-
1. **Desarrollo**: Trabaja en la rama `developer` para cambios experimentales
|
|
46
|
-
2. **Estable**: Mueve cambios finalizados a `npm-package` para versiones oficiales
|
|
47
|
-
3. **Automático**: El sistema maneja todo el versionado sin intervención manual
|
|
48
|
-
|
|
49
35
|
## Instalación
|
|
50
36
|
|
|
51
37
|
### Instalación única con npx (Recomendado)
|
|
@@ -105,8 +91,8 @@ El sistema detectará automáticamente que ya existe una instalación y la actua
|
|
|
105
91
|
|
|
106
92
|
## Requisitos
|
|
107
93
|
|
|
108
|
-
- Node.js >=
|
|
109
|
-
- npm >=
|
|
94
|
+
- Node.js >= 20.0.0
|
|
95
|
+
- npm >= 8.0.0 (o pnpm >= 8.0.0 recomendado)
|
|
110
96
|
- Python >= 3.7 (requerido para hooks de Claude Code)
|
|
111
97
|
|
|
112
98
|
## Estructura de archivos instalados
|
|
@@ -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
|
|
@@ -2,26 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
## Frontend Stack
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
- **
|
|
7
|
-
- Default
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
### Bundler & Dev Server
|
|
6
|
+
- **Vite 6+** with TypeScript
|
|
7
|
+
- Default bundler for all frontend projects
|
|
8
|
+
- Native ES modules for fast development
|
|
9
|
+
- Optimized for Module Federation (microfrontends)
|
|
10
|
+
- HMR (Hot Module Replacement) instantáneo
|
|
11
|
+
|
|
12
|
+
### Router
|
|
13
|
+
- **TanStack Router 1+** (file-based routing)
|
|
14
|
+
- Type-safe routing with auto-generated route tree
|
|
15
|
+
- File-based routing with special prefixes (`_`, `.`, `-`, `$`)
|
|
16
|
+
- Automatic code-splitting per route
|
|
17
|
+
- Integrated with TanStack Query
|
|
11
18
|
|
|
12
19
|
### State Management
|
|
13
|
-
- **Zustand
|
|
20
|
+
- **Zustand 5+** (client state)
|
|
21
|
+
- Feature-based stores following DDD patterns
|
|
22
|
+
- Prepared for microfrontends (singleton stores)
|
|
23
|
+
- **TanStack Query 5+** (server state)
|
|
24
|
+
- Cache and synchronization
|
|
25
|
+
- Optimistic updates
|
|
14
26
|
|
|
15
27
|
### UI Framework & Styling
|
|
16
|
-
- **
|
|
28
|
+
- **shadcn/ui** (component library)
|
|
17
29
|
- **Radix UI** (primitives)
|
|
18
30
|
- **TailwindCSS v4** (styling)
|
|
19
31
|
|
|
20
32
|
### Architecture
|
|
21
33
|
- **Clean Architecture** + **Domain-Driven Design (DDD)**
|
|
34
|
+
- **Module/Domain/Feature** structure for enterprise scale
|
|
22
35
|
|
|
23
36
|
### Testing
|
|
24
|
-
- **Vitest** (test runner)
|
|
37
|
+
- **Vitest** (test runner - native Vite integration)
|
|
25
38
|
- **React Testing Library** (component testing)
|
|
26
39
|
- **MSW** (Mock Service Worker - API mocking)
|
|
27
40
|
|
|
@@ -33,11 +46,34 @@
|
|
|
33
46
|
- **Axios** with interceptors
|
|
34
47
|
|
|
35
48
|
### Progressive Web App (PWA)
|
|
36
|
-
- **
|
|
49
|
+
- **vite-plugin-pwa** (PWA plugin for Vite)
|
|
37
50
|
- **Workbox** (service worker library)
|
|
38
51
|
|
|
39
|
-
|
|
40
|
-
|
|
52
|
+
## Microfrontends Configuration
|
|
53
|
+
|
|
54
|
+
### Module Federation Shared Dependencies
|
|
55
|
+
|
|
56
|
+
Para evitar dependencias duplicadas entre microfrontends:
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
// vite.config.ts - Host y cada Remote
|
|
60
|
+
import { federation } from '@module-federation/vite';
|
|
61
|
+
|
|
62
|
+
federation({
|
|
63
|
+
shared: {
|
|
64
|
+
react: { singleton: true, requiredVersion: '^18.3.0' },
|
|
65
|
+
'react-dom': { singleton: true, requiredVersion: '^18.3.0' },
|
|
66
|
+
'@tanstack/react-router': { singleton: true, requiredVersion: '^1.95.0' },
|
|
67
|
+
'@tanstack/react-query': { singleton: true, requiredVersion: '^5.62.0' },
|
|
68
|
+
zustand: { singleton: true, requiredVersion: '^5.0.0' },
|
|
69
|
+
},
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
| Configuración | Propósito |
|
|
74
|
+
|---------------|-----------|
|
|
75
|
+
| `singleton: true` | Garantiza una sola instancia en runtime |
|
|
76
|
+
| `requiredVersion: '^x.x.0'` | Rango semver para flexibilidad sin romper compatibilidad |
|
|
41
77
|
|
|
42
78
|
## Core Principles
|
|
43
79
|
|
|
@@ -58,9 +94,10 @@ Build complex UIs from simple, reusable components
|
|
|
58
94
|
Leverage TypeScript for compile-time safety and developer experience
|
|
59
95
|
|
|
60
96
|
### Performance by Design
|
|
61
|
-
- Lazy loading
|
|
97
|
+
- Lazy loading (automatic with TanStack Router)
|
|
62
98
|
- Memoization
|
|
63
99
|
- Bundle optimization
|
|
100
|
+
- Singleton shared dependencies for microfrontends
|
|
64
101
|
|
|
65
102
|
### Accessibility as Standard
|
|
66
103
|
WCAG 2.1 AA compliance in all components
|
|
@@ -233,3 +270,25 @@ Implement security at every layer
|
|
|
233
270
|
### Docker for Production Only
|
|
234
271
|
- Development: dotnet run locally
|
|
235
272
|
- Production: Docker containers
|
|
273
|
+
|
|
274
|
+
## Version Summary
|
|
275
|
+
|
|
276
|
+
### Frontend
|
|
277
|
+
| Technology | Version | Notes |
|
|
278
|
+
|------------|---------|-------|
|
|
279
|
+
| Vite | 6+ | Bundler, optimized for Module Federation |
|
|
280
|
+
| React | 18+ | Functional components, hooks |
|
|
281
|
+
| TypeScript | 5+ | Strict mode enabled |
|
|
282
|
+
| TanStack Router | 1+ | File-based, type-safe routing |
|
|
283
|
+
| TanStack Query | 5+ | Server state management |
|
|
284
|
+
| Zustand | 5+ | Client state management |
|
|
285
|
+
| TailwindCSS | 4+ | Utility-first CSS |
|
|
286
|
+
| Vitest | Latest | Native Vite test runner |
|
|
287
|
+
|
|
288
|
+
### Backend
|
|
289
|
+
| Technology | Version | Notes |
|
|
290
|
+
|------------|---------|-------|
|
|
291
|
+
| .NET | 10 | LTS |
|
|
292
|
+
| Entity Framework Core | 10 | Matches .NET version |
|
|
293
|
+
| PostgreSQL | 18+ | Mandatory, one per microservice |
|
|
294
|
+
| xUnit | Latest | Testing framework |
|