siesa-agents 2.1.24 → 2.1.25-dev.0
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 +10 -7
- package/bin/install.js +23 -119
- package/bmad-core/agents/architect.md +0 -2
- package/bmad-core/agents/ux-expert.md +0 -1
- package/bmad-core/data/backend-standards.md +195 -127
- package/claude/hooks/file-restriction-hook.py +51 -0
- package/claude/hooks/track-agent.py +67 -0
- package/claude/settings.local.json +37 -1
- package/kiro/README.md +13 -0
- package/kiro/steering/agent-detection.md +46 -0
- package/package.json +2 -1
- package/bmad-core/data/architecture-patterns.md +0 -261
- package/bmad-core/data/technology-stack.md +0 -81
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
inclusion: always
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Agent Detection System
|
|
6
|
+
|
|
7
|
+
When the user types a short command starting with "as", detect and activate the corresponding agent from bmad-core/agents/.
|
|
8
|
+
|
|
9
|
+
## Agent Command Mapping
|
|
10
|
+
|
|
11
|
+
| Command | Agent File | Agent Name | Role |
|
|
12
|
+
|---------|-----------|------------|------|
|
|
13
|
+
| `as dev` | bmad-core/agents/dev.md | James | Full Stack Developer |
|
|
14
|
+
| `as analyst` | bmad-core/agents/analyst.md | Mary | Business Analyst |
|
|
15
|
+
| `as architect` | bmad-core/agents/architect.md | - | Software Architect |
|
|
16
|
+
| `as backend` | bmad-core/agents/backend-agent.md | - | Backend Developer |
|
|
17
|
+
| `as frontend` | bmad-core/agents/frontend-agent.md | - | Frontend Developer |
|
|
18
|
+
| `as pm` | bmad-core/agents/pm.md | - | Project Manager |
|
|
19
|
+
| `as po` | bmad-core/agents/po.md | - | Product Owner |
|
|
20
|
+
| `as qa` | bmad-core/agents/qa.md | Quinn | Test Architect |
|
|
21
|
+
| `as sm` | bmad-core/agents/sm.md | - | Scrum Master |
|
|
22
|
+
| `as ux` | bmad-core/agents/ux-expert.md | - | UX Expert |
|
|
23
|
+
| `as master` | bmad-core/agents/bmad-master.md | - | BMad Master |
|
|
24
|
+
| `as orchestrator` | bmad-core/agents/bmad-orchestrator.md | - | BMad Orchestrator |
|
|
25
|
+
|
|
26
|
+
## Detection Rules
|
|
27
|
+
|
|
28
|
+
1. When user input matches pattern `as {agent_id}`, load the corresponding agent file
|
|
29
|
+
2. Read the ENTIRE agent file to understand the complete persona
|
|
30
|
+
3. Follow the activation-instructions in the YAML block exactly
|
|
31
|
+
4. Load bmad-core/core-config.yaml as specified in activation instructions
|
|
32
|
+
5. Adopt the persona and execute the greeting + *help command
|
|
33
|
+
6. Stay in character until user types the agent's `*exit` command
|
|
34
|
+
|
|
35
|
+
## Examples
|
|
36
|
+
|
|
37
|
+
- User types: `as dev` → Load bmad-core/agents/dev.md → Become James the Developer
|
|
38
|
+
- User types: `as qa` → Load bmad-core/agents/qa.md → Become Quinn the Test Architect
|
|
39
|
+
- User types: `as analyst` → Load bmad-core/agents/analyst.md → Become Mary the Business Analyst
|
|
40
|
+
|
|
41
|
+
## Important Notes
|
|
42
|
+
|
|
43
|
+
- Each agent file is self-contained with complete configuration in YAML
|
|
44
|
+
- DO NOT load external agent files during activation
|
|
45
|
+
- ONLY load dependency files when user requests specific command execution
|
|
46
|
+
- The agent.customization field ALWAYS takes precedence over conflicting instructions
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "siesa-agents",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.25-dev.0",
|
|
4
4
|
"description": "Paquete para instalar y configurar agentes SIESA en tu proyecto",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"vscode/**/*",
|
|
25
25
|
"github/**/*",
|
|
26
26
|
"claude/**/*",
|
|
27
|
+
"kiro/**/*",
|
|
27
28
|
"bin/**/*",
|
|
28
29
|
"resources/**/*",
|
|
29
30
|
"README.md"
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
# Architecture Patterns & Design Decisions
|
|
2
|
-
|
|
3
|
-
## Frontend Architecture
|
|
4
|
-
|
|
5
|
-
### Architecture Style
|
|
6
|
-
- **Clean Architecture** + **Domain-Driven Design (DDD)**
|
|
7
|
-
|
|
8
|
-
### Folder Structure
|
|
9
|
-
|
|
10
|
-
Next.js 15 App Router Structure with Clean Architecture + DDD:
|
|
11
|
-
|
|
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
|
-
├── src/
|
|
26
|
-
│ ├── modules/ # Business modules following DDD
|
|
27
|
-
│ │ ├── sales/ # Sales module
|
|
28
|
-
│ │ │ ├── quotes/ # Quote domain
|
|
29
|
-
│ │ │ │ ├── cart/ # Shopping cart feature
|
|
30
|
-
│ │ │ │ │ ├── domain/
|
|
31
|
-
│ │ │ │ │ │ ├── entities/
|
|
32
|
-
│ │ │ │ │ │ ├── repositories/
|
|
33
|
-
│ │ │ │ │ │ ├── services/
|
|
34
|
-
│ │ │ │ │ │ └── types/
|
|
35
|
-
│ │ │ │ │ ├── application/
|
|
36
|
-
│ │ │ │ │ │ ├── use-cases/
|
|
37
|
-
│ │ │ │ │ │ ├── hooks/
|
|
38
|
-
│ │ │ │ │ │ └── store/
|
|
39
|
-
│ │ │ │ │ ├── infrastructure/
|
|
40
|
-
│ │ │ │ │ │ ├── repositories/
|
|
41
|
-
│ │ │ │ │ │ ├── api/
|
|
42
|
-
│ │ │ │ │ │ └── adapters/
|
|
43
|
-
│ │ │ │ │ └── presentation/
|
|
44
|
-
│ │ │ │ │ └── components/ # Only components, pages in app/
|
|
45
|
-
│ │ │ │ └── products/ # Products feature
|
|
46
|
-
│ │ │ └── billing/ # Billing domain
|
|
47
|
-
│ │ ├── inventory/ # Inventory module
|
|
48
|
-
│ │ └── users/ # User module
|
|
49
|
-
│ │
|
|
50
|
-
│ ├── shared/
|
|
51
|
-
│ │ ├── components/ # Reusable UI components
|
|
52
|
-
│ │ ├── hooks/ # Shared hooks
|
|
53
|
-
│ │ ├── utils/ # Utility functions
|
|
54
|
-
│ │ ├── types/ # Common TypeScript types
|
|
55
|
-
│ │ └── constants/ # App constants
|
|
56
|
-
│ │
|
|
57
|
-
│ ├── providers/ # React context providers
|
|
58
|
-
│ ├── store/ # Global Zustand stores
|
|
59
|
-
│ └── middleware.ts # Next.js middleware
|
|
60
|
-
│
|
|
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
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Core Principles
|
|
68
|
-
|
|
69
|
-
#### Clean Architecture First
|
|
70
|
-
Strict separation of:
|
|
71
|
-
- **Domain layer** - Business entities, repositories interfaces, domain services, and types
|
|
72
|
-
- **Application layer** - Use cases, hooks, and state management (Zustand stores)
|
|
73
|
-
- **Infrastructure layer** - Repository implementations, API clients, and adapters
|
|
74
|
-
- **Presentation layer** - UI components (pages go in `app/`, components in `presentation/`)
|
|
75
|
-
|
|
76
|
-
#### Domain-Driven Design
|
|
77
|
-
Business logic drives architecture decisions. Organize by business modules and domains, not technical layers.
|
|
78
|
-
|
|
79
|
-
#### Component Composition
|
|
80
|
-
Build complex UIs from simple, reusable components.
|
|
81
|
-
|
|
82
|
-
#### Type Safety
|
|
83
|
-
Leverage TypeScript for compile-time safety and developer experience.
|
|
84
|
-
|
|
85
|
-
#### Performance by Design
|
|
86
|
-
- Lazy loading
|
|
87
|
-
- Memoization
|
|
88
|
-
- Bundle optimization
|
|
89
|
-
|
|
90
|
-
#### Accessibility as Standard
|
|
91
|
-
WCAG 2.1 AA compliance in all components.
|
|
92
|
-
|
|
93
|
-
#### Test-Driven Development
|
|
94
|
-
Unit tests for all use cases and components.
|
|
95
|
-
|
|
96
|
-
#### Progressive Web App
|
|
97
|
-
Offline-first approach with service workers.
|
|
98
|
-
|
|
99
|
-
#### Minimal and Functional
|
|
100
|
-
Only build what's explicitly requested, nothing more.
|
|
101
|
-
|
|
102
|
-
#### User-Centered Design
|
|
103
|
-
Start with user needs and work backward to implementation.
|
|
104
|
-
|
|
105
|
-
#### MCP Shadcn Available
|
|
106
|
-
Use MCP to install Shadcn components instead of creating manually.
|
|
107
|
-
|
|
108
|
-
### Framework Selection Rules
|
|
109
|
-
|
|
110
|
-
**Default**: Always use Next.js 15 with App Router unless explicitly told otherwise.
|
|
111
|
-
|
|
112
|
-
**Exceptions**: Only use pure React + Vite when user specifically mentions offline-first functionality or requests non-Next.js setup.
|
|
113
|
-
|
|
114
|
-
**Reasoning**: Next.js provides better developer experience, built-in optimization, and easier deployment while maintaining PWA capabilities.
|
|
115
|
-
|
|
116
|
-
## Backend Architecture
|
|
117
|
-
|
|
118
|
-
### Architecture Style
|
|
119
|
-
- **Hexagonal Architecture** (Ports & Adapters) + **Domain-Driven Design (DDD)**
|
|
120
|
-
|
|
121
|
-
### Folder Structure
|
|
122
|
-
|
|
123
|
-
MonoRepo Structure with Hexagonal Architecture + DDD:
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
├── apps/ # Microservices applications
|
|
127
|
-
│ ├── sales-service/ # Sales domain microservice
|
|
128
|
-
│ │ ├── src/
|
|
129
|
-
│ │ │ ├── modules/
|
|
130
|
-
│ │ │ │ ├── quotes/ # Quote bounded context
|
|
131
|
-
│ │ │ │ │ ├── application/
|
|
132
|
-
│ │ │ │ │ │ ├── ports/ # Interfaces (secondary ports)
|
|
133
|
-
│ │ │ │ │ │ │ ├── repositories/
|
|
134
|
-
│ │ │ │ │ │ │ └── services/
|
|
135
|
-
│ │ │ │ │ │ ├── use-cases/ # Primary ports
|
|
136
|
-
│ │ │ │ │ │ ├── commands/
|
|
137
|
-
│ │ │ │ │ │ ├── queries/
|
|
138
|
-
│ │ │ │ │ │ └── dto/
|
|
139
|
-
│ │ │ │ │ ├── domain/
|
|
140
|
-
│ │ │ │ │ │ ├── entities/
|
|
141
|
-
│ │ │ │ │ │ ├── value-objects/
|
|
142
|
-
│ │ │ │ │ │ ├── aggregates/
|
|
143
|
-
│ │ │ │ │ │ ├── events/
|
|
144
|
-
│ │ │ │ │ │ └── services/ # Domain services
|
|
145
|
-
│ │ │ │ │ └── infrastructure/ # Adapters (secondary adapters)
|
|
146
|
-
│ │ │ │ │ ├── repositories/ # Prisma implementations
|
|
147
|
-
│ │ │ │ │ ├── services/ # External service adapters
|
|
148
|
-
│ │ │ │ │ └── events/
|
|
149
|
-
│ │ │ │ └── products/ # Product bounded context
|
|
150
|
-
│ │ │ ├── api/ # Primary adapters
|
|
151
|
-
│ │ │ │ ├── controllers/
|
|
152
|
-
│ │ │ │ ├── guards/
|
|
153
|
-
│ │ │ │ ├── middlewares/
|
|
154
|
-
│ │ │ │ └── filters/
|
|
155
|
-
│ │ │ ├── config/
|
|
156
|
-
│ │ │ ├── main.ts
|
|
157
|
-
│ │ │ └── app.module.ts
|
|
158
|
-
│ │ ├── test/
|
|
159
|
-
│ │ ├── prisma/
|
|
160
|
-
│ │ │ ├── schema.prisma
|
|
161
|
-
│ │ │ └── migrations/
|
|
162
|
-
│ │ └── package.json
|
|
163
|
-
│ │
|
|
164
|
-
│ ├── inventory-service/ # Inventory domain microservice
|
|
165
|
-
│ └── user-service/ # User domain microservice
|
|
166
|
-
│
|
|
167
|
-
├── libs/ # Shared libraries
|
|
168
|
-
│ ├── common/ # Common utilities
|
|
169
|
-
│ │ ├── src/
|
|
170
|
-
│ │ │ ├── decorators/
|
|
171
|
-
│ │ │ ├── filters/
|
|
172
|
-
│ │ │ ├── guards/
|
|
173
|
-
│ │ │ ├── interceptors/
|
|
174
|
-
│ │ │ ├── pipes/
|
|
175
|
-
│ │ │ ├── types/
|
|
176
|
-
│ │ │ └── utils/
|
|
177
|
-
│ │ └── package.json
|
|
178
|
-
│ │
|
|
179
|
-
│ ├── domain-core/ # Shared domain concepts
|
|
180
|
-
│ │ ├── src/
|
|
181
|
-
│ │ │ ├── base/
|
|
182
|
-
│ │ │ │ ├── aggregate-root.ts
|
|
183
|
-
│ │ │ │ ├── entity.ts
|
|
184
|
-
│ │ │ │ ├── value-object.ts
|
|
185
|
-
│ │ │ │ └── domain-event.ts
|
|
186
|
-
│ │ │ ├── interfaces/
|
|
187
|
-
│ │ │ └── exceptions/
|
|
188
|
-
│ │ └── package.json
|
|
189
|
-
│ │
|
|
190
|
-
│ └── database/ # Shared database utilities
|
|
191
|
-
│ ├── src/
|
|
192
|
-
│ │ ├── base-repository.ts
|
|
193
|
-
│ │ ├── transaction.decorator.ts
|
|
194
|
-
│ │ └── prisma.service.ts
|
|
195
|
-
│ └── package.json
|
|
196
|
-
│
|
|
197
|
-
├── tools/ # Development tools
|
|
198
|
-
├── nx.json # Nx workspace configuration
|
|
199
|
-
├── package.json # Root package.json
|
|
200
|
-
└── tsconfig.base.json # Base TypeScript config
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Core Principles
|
|
204
|
-
|
|
205
|
-
#### Hexagonal Architecture First
|
|
206
|
-
Strict separation of concerns following ports & adapters pattern:
|
|
207
|
-
- **Domain Layer**: Pure business logic with entities, value objects, aggregates, and domain services
|
|
208
|
-
- **Application Layer**: Use cases orchestrating domain logic, defining ports (interfaces)
|
|
209
|
-
- **Infrastructure Layer**: Adapters implementing ports (Prisma repos, HTTP clients, message publishers)
|
|
210
|
-
- **API Layer**: Primary adapters exposing application via REST/GraphQL (controllers, resolvers)
|
|
211
|
-
|
|
212
|
-
#### Domain-Driven Design
|
|
213
|
-
Business logic drives all architectural decisions:
|
|
214
|
-
- **Bounded Contexts**: Each module represents a bounded context (quotes, products, billing)
|
|
215
|
-
- **Ubiquitous Language**: Code reflects business terminology
|
|
216
|
-
- **Aggregates**: Consistency boundaries for domain entities
|
|
217
|
-
- **Domain Events**: Communicate changes across bounded contexts
|
|
218
|
-
- **Repository Pattern**: Abstract data access behind interfaces
|
|
219
|
-
|
|
220
|
-
#### Dependency Rules
|
|
221
|
-
- Domain layer has zero dependencies on frameworks or external libraries
|
|
222
|
-
- All dependencies point inward toward the domain core
|
|
223
|
-
- Use dependency inversion for all external concerns (databases, APIs, messaging)
|
|
224
|
-
- Interfaces defined in application layer, implementations in infrastructure layer
|
|
225
|
-
|
|
226
|
-
#### Microservices Independence
|
|
227
|
-
- Each microservice has its own database (no shared databases)
|
|
228
|
-
- Shared code through libraries only (common, domain-core, database)
|
|
229
|
-
- Independent deployment pipelines per service
|
|
230
|
-
- Service-to-service communication via events (async messaging)
|
|
231
|
-
- No direct database access between services
|
|
232
|
-
|
|
233
|
-
#### Test-Driven Development
|
|
234
|
-
- Unit tests for domain entities, value objects, and use cases
|
|
235
|
-
- Integration tests for repository implementations
|
|
236
|
-
- E2E tests for complete API workflows
|
|
237
|
-
- TDD approach: write tests before implementation
|
|
238
|
-
|
|
239
|
-
#### Type Safety & Validation
|
|
240
|
-
- Leverage TypeScript strict mode for compile-time safety
|
|
241
|
-
- Domain validation in value objects and entities
|
|
242
|
-
- DTO validation at API boundaries with class-validator
|
|
243
|
-
- No `any` types allowed
|
|
244
|
-
|
|
245
|
-
#### Security by Design
|
|
246
|
-
- Authentication and authorization at every layer
|
|
247
|
-
- Input validation on all endpoints
|
|
248
|
-
- OWASP Top 10 compliance
|
|
249
|
-
- Audit logging for critical operations
|
|
250
|
-
|
|
251
|
-
### Framework Selection Rules
|
|
252
|
-
|
|
253
|
-
**Default**: Always use NestJS 10+ with TypeScript for backend services.
|
|
254
|
-
|
|
255
|
-
**Database**: Prisma ORM only - no raw SQL queries allowed.
|
|
256
|
-
|
|
257
|
-
**Testing**: Jest + Supertest with TDD approach.
|
|
258
|
-
|
|
259
|
-
**Documentation**: Swagger/OpenAPI auto-generated from decorators.
|
|
260
|
-
|
|
261
|
-
**Reasoning**: NestJS provides excellent DI container, decorator-based development, and native support for microservices patterns while enforcing SOLID principles.
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Technology Stack
|
|
2
|
-
|
|
3
|
-
## Frontend Stack
|
|
4
|
-
|
|
5
|
-
### Framework
|
|
6
|
-
- **Next.js 15** with TypeScript (App Router)
|
|
7
|
-
- Default framework unless explicitly told otherwise
|
|
8
|
-
- Built-in Turbopack/Webpack for building
|
|
9
|
-
- File-based routing with App Router
|
|
10
|
-
- Exception: Use pure React + Vite only when user specifically mentions offline-first functionality or requests non-Next.js setup
|
|
11
|
-
|
|
12
|
-
### State Management
|
|
13
|
-
- **Zustand**
|
|
14
|
-
|
|
15
|
-
### UI Framework & Styling
|
|
16
|
-
- **Shadcn/ui** (component library)
|
|
17
|
-
- **Radix UI** (primitives)
|
|
18
|
-
- **TailwindCSS v4** (styling)
|
|
19
|
-
|
|
20
|
-
### Architecture
|
|
21
|
-
- **Clean Architecture** + **Domain-Driven Design (DDD)**
|
|
22
|
-
|
|
23
|
-
### Testing
|
|
24
|
-
- **Vitest** (test runner)
|
|
25
|
-
- **React Testing Library** (component testing)
|
|
26
|
-
- **MSW** (Mock Service Worker - API mocking)
|
|
27
|
-
|
|
28
|
-
### Forms & Validation
|
|
29
|
-
- **React Hook Form** (form management)
|
|
30
|
-
- **Zod** (schema validation)
|
|
31
|
-
|
|
32
|
-
### HTTP Client
|
|
33
|
-
- **Axios** with interceptors
|
|
34
|
-
|
|
35
|
-
### Progressive Web App (PWA)
|
|
36
|
-
- **Next.js PWA plugin**
|
|
37
|
-
- **Workbox** (service worker library)
|
|
38
|
-
|
|
39
|
-
### Routing
|
|
40
|
-
- **Next.js App Router** (file-based routing)
|
|
41
|
-
|
|
42
|
-
## Core Principles
|
|
43
|
-
|
|
44
|
-
### Clean Architecture First
|
|
45
|
-
Strict separation of:
|
|
46
|
-
- Domain layer
|
|
47
|
-
- Application layer
|
|
48
|
-
- Infrastructure layer
|
|
49
|
-
- Presentation layer
|
|
50
|
-
|
|
51
|
-
### Domain-Driven Design
|
|
52
|
-
Business logic drives architecture decisions
|
|
53
|
-
|
|
54
|
-
### Component Composition
|
|
55
|
-
Build complex UIs from simple, reusable components
|
|
56
|
-
|
|
57
|
-
### Type Safety
|
|
58
|
-
Leverage TypeScript for compile-time safety and developer experience
|
|
59
|
-
|
|
60
|
-
### Performance by Design
|
|
61
|
-
- Lazy loading
|
|
62
|
-
- Memoization
|
|
63
|
-
- Bundle optimization
|
|
64
|
-
|
|
65
|
-
### Accessibility as Standard
|
|
66
|
-
WCAG 2.1 AA compliance in all components
|
|
67
|
-
|
|
68
|
-
### Test-Driven Development
|
|
69
|
-
Unit tests for all use cases and components
|
|
70
|
-
|
|
71
|
-
### Progressive Web App
|
|
72
|
-
Offline-first approach with service workers
|
|
73
|
-
|
|
74
|
-
### Minimal and Functional
|
|
75
|
-
Only build what's explicitly requested, nothing more
|
|
76
|
-
|
|
77
|
-
### User-Centered Design
|
|
78
|
-
Start with user needs and work backward to implementation
|
|
79
|
-
|
|
80
|
-
### MCP Shadcn Available
|
|
81
|
-
Use MCP to install Shadcn components instead of creating manually
|