siesa-agents 2.1.1 → 2.1.3-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 +83 -83
- package/bin/install.js +400 -399
- package/bin/prepare-publish.js +26 -26
- package/bin/restore-folders.js +26 -26
- package/bmad-core/agent-teams/team-all.yaml +15 -15
- package/bmad-core/agent-teams/team-fullstack.yaml +19 -19
- package/bmad-core/agent-teams/team-ide-minimal.yaml +11 -11
- package/bmad-core/agent-teams/team-no-ui.yaml +14 -14
- package/bmad-core/agents/analyst.md +84 -84
- package/bmad-core/agents/architect.md +94 -94
- package/bmad-core/agents/backend-agent.md +189 -189
- package/bmad-core/agents/bmad-master.md +110 -110
- package/bmad-core/agents/bmad-orchestrator.md +147 -147
- package/bmad-core/agents/dev.md +81 -81
- package/bmad-core/agents/frontend-agent.md +168 -168
- package/bmad-core/agents/pm.md +84 -84
- package/bmad-core/agents/po.md +79 -79
- package/bmad-core/agents/qa.md +91 -91
- package/bmad-core/agents/sm.md +65 -65
- package/bmad-core/agents/ux-expert.md +69 -69
- package/bmad-core/checklists/architect-checklist.md +440 -440
- package/bmad-core/checklists/backend-checklist.md +142 -142
- package/bmad-core/checklists/change-checklist.md +184 -184
- package/bmad-core/checklists/frontend-checklist.md +105 -105
- package/bmad-core/checklists/pm-checklist.md +372 -372
- package/bmad-core/checklists/po-master-checklist.md +434 -434
- package/bmad-core/checklists/story-dod-checklist.md +96 -96
- package/bmad-core/checklists/story-draft-checklist.md +155 -155
- package/bmad-core/core-config.yaml +22 -22
- package/bmad-core/data/backend-standards.md +439 -439
- package/bmad-core/data/bmad-kb.md +809 -809
- package/bmad-core/data/brainstorming-techniques.md +38 -38
- package/bmad-core/data/elicitation-methods.md +156 -156
- package/bmad-core/data/frontend-standards.md +323 -323
- package/bmad-core/data/technical-preferences.md +5 -5
- package/bmad-core/data/test-levels-framework.md +148 -148
- package/bmad-core/data/test-priorities-matrix.md +174 -174
- package/bmad-core/enhanced-ide-development-workflow.md +248 -248
- package/bmad-core/install-manifest.yaml +230 -230
- package/bmad-core/tasks/advanced-elicitation.md +119 -119
- package/bmad-core/tasks/apply-qa-fixes.md +150 -150
- package/bmad-core/tasks/brownfield-create-epic.md +162 -162
- package/bmad-core/tasks/brownfield-create-story.md +149 -149
- package/bmad-core/tasks/correct-course.md +72 -72
- package/bmad-core/tasks/create-brownfield-story.md +314 -314
- package/bmad-core/tasks/create-component.md +102 -102
- package/bmad-core/tasks/create-deep-research-prompt.md +280 -280
- package/bmad-core/tasks/create-doc.md +103 -103
- package/bmad-core/tasks/create-entity.md +132 -132
- package/bmad-core/tasks/create-feature.md +90 -90
- package/bmad-core/tasks/create-next-story.md +114 -114
- package/bmad-core/tasks/create-service.md +117 -117
- package/bmad-core/tasks/create-use-case.md +140 -140
- package/bmad-core/tasks/document-project.md +345 -345
- package/bmad-core/tasks/execute-checklist.md +88 -88
- package/bmad-core/tasks/facilitate-brainstorming-session.md +138 -138
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +53 -53
- package/bmad-core/tasks/index-docs.md +175 -175
- package/bmad-core/tasks/kb-mode-interaction.md +77 -77
- package/bmad-core/tasks/nfr-assess.md +345 -345
- package/bmad-core/tasks/qa-gate.md +163 -163
- package/bmad-core/tasks/review-story.md +316 -316
- package/bmad-core/tasks/risk-profile.md +355 -355
- package/bmad-core/tasks/scaffold-backend.md +110 -110
- package/bmad-core/tasks/scaffold-frontend.md +78 -78
- package/bmad-core/tasks/shard-doc.md +187 -187
- package/bmad-core/tasks/test-design.md +176 -176
- package/bmad-core/tasks/trace-requirements.md +266 -266
- package/bmad-core/tasks/validate-next-story.md +136 -136
- package/bmad-core/templates/architecture-tmpl.yaml +662 -662
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -156
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -477
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +281 -281
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +307 -307
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +258 -258
- package/bmad-core/templates/front-end-spec-tmpl.yaml +350 -350
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -824
- package/bmad-core/templates/market-research-tmpl.yaml +253 -253
- package/bmad-core/templates/prd-tmpl.yaml +203 -203
- package/bmad-core/templates/project-brief-tmpl.yaml +222 -222
- package/bmad-core/templates/qa-gate-tmpl.yaml +103 -103
- package/bmad-core/templates/story-tmpl.yaml +138 -138
- package/bmad-core/user-guide.md +530 -530
- package/bmad-core/utils/bmad-doc-template.md +327 -327
- package/bmad-core/utils/workflow-management.md +71 -71
- package/bmad-core/workflows/brownfield-fullstack.yaml +298 -298
- package/bmad-core/workflows/brownfield-service.yaml +188 -188
- package/bmad-core/workflows/brownfield-ui.yaml +198 -198
- package/bmad-core/workflows/greenfield-fullstack.yaml +241 -241
- package/bmad-core/workflows/greenfield-service.yaml +207 -207
- package/bmad-core/workflows/greenfield-ui.yaml +236 -236
- package/bmad-core/working-in-the-brownfield.md +606 -606
- package/claude/commands/BMad/agents/analyst.md +88 -0
- package/claude/commands/BMad/agents/architect.md +89 -0
- package/claude/commands/BMad/agents/backend.md +188 -0
- package/claude/commands/BMad/agents/bmad-master.md +114 -0
- package/claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
- package/claude/commands/BMad/agents/dev.md +85 -0
- package/claude/commands/BMad/agents/frontend.md +151 -0
- package/claude/commands/BMad/agents/pm.md +88 -0
- package/claude/commands/BMad/agents/po.md +83 -0
- package/claude/commands/BMad/agents/qa.md +95 -0
- package/claude/commands/BMad/agents/sm.md +69 -0
- package/claude/commands/BMad/agents/ux-expert.md +73 -0
- package/claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
- package/claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
- package/claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
- package/claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
- package/claude/commands/BMad/tasks/correct-course.md +76 -0
- package/claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
- package/claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
- package/claude/commands/BMad/tasks/create-doc.md +107 -0
- package/claude/commands/BMad/tasks/create-next-story.md +118 -0
- package/claude/commands/BMad/tasks/document-project.md +349 -0
- package/claude/commands/BMad/tasks/execute-checklist.md +92 -0
- package/claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
- package/claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
- package/claude/commands/BMad/tasks/index-docs.md +179 -0
- package/claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
- package/claude/commands/BMad/tasks/nfr-assess.md +349 -0
- package/claude/commands/BMad/tasks/qa-gate.md +167 -0
- package/claude/commands/BMad/tasks/review-story.md +320 -0
- package/claude/commands/BMad/tasks/risk-profile.md +359 -0
- package/claude/commands/BMad/tasks/shard-doc.md +191 -0
- package/claude/commands/BMad/tasks/test-design.md +180 -0
- package/claude/commands/BMad/tasks/trace-requirements.md +270 -0
- package/claude/commands/BMad/tasks/validate-next-story.md +140 -0
- package/claude/hooks/file-restriction-hook.py +51 -0
- package/claude/hooks/track-agent.py +67 -0
- package/claude/settings.local.json +56 -0
- package/github/b-mad-expert.md +742 -742
- package/github/chatmodes/analyst.chatmode.md +89 -89
- package/github/chatmodes/architect.chatmode.md +97 -97
- package/github/chatmodes/backend.chatmode.md +194 -194
- package/github/chatmodes/bmad-master.chatmode.md +115 -115
- package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -152
- package/github/chatmodes/dev.chatmode.md +86 -86
- package/github/chatmodes/frontend.chatmode.md +157 -157
- package/github/chatmodes/pm.chatmode.md +89 -89
- package/github/chatmodes/po.chatmode.md +84 -84
- package/github/chatmodes/qa.chatmode.md +96 -96
- package/github/chatmodes/sm.chatmode.md +70 -70
- package/github/chatmodes/ux-expert.chatmode.md +74 -74
- package/index.js +9 -9
- package/package.json +37 -36
- package/vscode/mcp.json +11 -11
- package/vscode/settings.json +12 -12
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
# Create Application Use Case
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Create an application use case following hexagonal architecture with ports, adapters, and dependency injection.
|
|
5
|
-
|
|
6
|
-
## Task Configuration
|
|
7
|
-
```yaml
|
|
8
|
-
elicit: true
|
|
9
|
-
interactive: true
|
|
10
|
-
required_params:
|
|
11
|
-
- use_case_name
|
|
12
|
-
- service_name
|
|
13
|
-
- input_data
|
|
14
|
-
- output_data
|
|
15
|
-
optional_params:
|
|
16
|
-
- external_dependencies
|
|
17
|
-
- business_rules
|
|
18
|
-
- error_scenarios
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Task Execution
|
|
22
|
-
|
|
23
|
-
### Step 1: Elicit Use Case Requirements
|
|
24
|
-
Ask user for:
|
|
25
|
-
|
|
26
|
-
**Use Case Name**: What is the use case name? (use kebab-case, e.g., create-quote)
|
|
27
|
-
**Service Name**: Which bounded context does this use case belong to?
|
|
28
|
-
**Input Data**: What data does this use case receive? (DTOs, commands)
|
|
29
|
-
**Output Data**: What data does this use case return? (response DTOs, events)
|
|
30
|
-
**External Dependencies**: What repositories/services does it need? (optional)
|
|
31
|
-
**Business Rules**: What business rules must be enforced? (optional)
|
|
32
|
-
**Error Scenarios**: What error conditions should be handled? (optional)
|
|
33
|
-
|
|
34
|
-
### Step 2: Generate Use Case Structure
|
|
35
|
-
Create the following files:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
src/modules/{service-name}/application/
|
|
39
|
-
├── use-cases/
|
|
40
|
-
│ └── {use-case-name}.use-case.ts
|
|
41
|
-
├── commands/
|
|
42
|
-
│ └── {use-case-name}.command.ts
|
|
43
|
-
├── queries/
|
|
44
|
-
│ └── {use-case-name}.query.ts
|
|
45
|
-
├── dto/
|
|
46
|
-
│ ├── {use-case-name}.dto.ts
|
|
47
|
-
│ └── {use-case-name}.response.dto.ts
|
|
48
|
-
└── ports/
|
|
49
|
-
├── repositories/
|
|
50
|
-
│ └── {entity}.repository.interface.ts
|
|
51
|
-
└── services/
|
|
52
|
-
└── {external-service}.interface.ts
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Step 3: Create Command/Query Objects
|
|
56
|
-
Generate input objects with:
|
|
57
|
-
- Property validation decorators
|
|
58
|
-
- Type safety with TypeScript
|
|
59
|
-
- Documentation with Swagger decorators
|
|
60
|
-
- Immutable data structures
|
|
61
|
-
|
|
62
|
-
Example Command:
|
|
63
|
-
```typescript
|
|
64
|
-
export class Create{Entity}Command {{
|
|
65
|
-
@IsString()
|
|
66
|
-
@IsNotEmpty()
|
|
67
|
-
readonly property: string;
|
|
68
|
-
|
|
69
|
-
@IsOptional()
|
|
70
|
-
@IsUUID()
|
|
71
|
-
readonly optionalId?: string;
|
|
72
|
-
}}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Step 4: Create Use Case Implementation
|
|
76
|
-
Generate use case with:
|
|
77
|
-
- Dependency injection decorators
|
|
78
|
-
- Input validation
|
|
79
|
-
- Business logic orchestration
|
|
80
|
-
- Error handling
|
|
81
|
-
- Transaction management
|
|
82
|
-
- Domain event handling
|
|
83
|
-
|
|
84
|
-
Example Use Case:
|
|
85
|
-
```typescript
|
|
86
|
-
@Injectable()
|
|
87
|
-
export class Create{Entity}UseCase {{
|
|
88
|
-
constructor(
|
|
89
|
-
@Inject('{Entity}_REPOSITORY')
|
|
90
|
-
private readonly {entity}Repository: {Entity}RepositoryInterface,
|
|
91
|
-
@Inject('EVENT_BUS')
|
|
92
|
-
private readonly eventBus: EventBusInterface,
|
|
93
|
-
) {{}}
|
|
94
|
-
|
|
95
|
-
async execute(command: Create{Entity}Command): Promise<{Entity}ResponseDto> {{
|
|
96
|
-
// Validation
|
|
97
|
-
// Business logic
|
|
98
|
-
// Repository operations
|
|
99
|
-
// Event publishing
|
|
100
|
-
// Response mapping
|
|
101
|
-
}}
|
|
102
|
-
}}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Step 5: Create Repository Interface (Port)
|
|
106
|
-
Define repository contract:
|
|
107
|
-
- Method signatures for data operations
|
|
108
|
-
- Return types with domain entities
|
|
109
|
-
- Query parameters and filters
|
|
110
|
-
- Error handling contracts
|
|
111
|
-
|
|
112
|
-
### Step 6: Create Response DTOs
|
|
113
|
-
Generate output objects:
|
|
114
|
-
- Serialization decorators
|
|
115
|
-
- API documentation
|
|
116
|
-
- Type transformations
|
|
117
|
-
- Nested object handling
|
|
118
|
-
|
|
119
|
-
### Step 7: Generate Tests
|
|
120
|
-
Create comprehensive test suite:
|
|
121
|
-
- Unit tests with mocked dependencies
|
|
122
|
-
- Integration tests with test database
|
|
123
|
-
- Error scenario testing
|
|
124
|
-
- Performance testing for complex operations
|
|
125
|
-
- Contract testing for external dependencies
|
|
126
|
-
|
|
127
|
-
### Step 8: Configure Dependency Injection
|
|
128
|
-
Update module configuration:
|
|
129
|
-
- Provider registration
|
|
130
|
-
- Interface-to-implementation binding
|
|
131
|
-
- Scope management (singleton, request)
|
|
132
|
-
- Circular dependency resolution
|
|
133
|
-
|
|
134
|
-
## Completion Criteria
|
|
135
|
-
- Use case follows hexagonal architecture
|
|
136
|
-
- Dependencies properly injected
|
|
137
|
-
- Input/output properly validated
|
|
138
|
-
- Business rules enforced
|
|
139
|
-
- Error handling comprehensive
|
|
140
|
-
- Tests cover all scenarios
|
|
1
|
+
# Create Application Use Case
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Create an application use case following hexagonal architecture with ports, adapters, and dependency injection.
|
|
5
|
+
|
|
6
|
+
## Task Configuration
|
|
7
|
+
```yaml
|
|
8
|
+
elicit: true
|
|
9
|
+
interactive: true
|
|
10
|
+
required_params:
|
|
11
|
+
- use_case_name
|
|
12
|
+
- service_name
|
|
13
|
+
- input_data
|
|
14
|
+
- output_data
|
|
15
|
+
optional_params:
|
|
16
|
+
- external_dependencies
|
|
17
|
+
- business_rules
|
|
18
|
+
- error_scenarios
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Task Execution
|
|
22
|
+
|
|
23
|
+
### Step 1: Elicit Use Case Requirements
|
|
24
|
+
Ask user for:
|
|
25
|
+
|
|
26
|
+
**Use Case Name**: What is the use case name? (use kebab-case, e.g., create-quote)
|
|
27
|
+
**Service Name**: Which bounded context does this use case belong to?
|
|
28
|
+
**Input Data**: What data does this use case receive? (DTOs, commands)
|
|
29
|
+
**Output Data**: What data does this use case return? (response DTOs, events)
|
|
30
|
+
**External Dependencies**: What repositories/services does it need? (optional)
|
|
31
|
+
**Business Rules**: What business rules must be enforced? (optional)
|
|
32
|
+
**Error Scenarios**: What error conditions should be handled? (optional)
|
|
33
|
+
|
|
34
|
+
### Step 2: Generate Use Case Structure
|
|
35
|
+
Create the following files:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
src/modules/{service-name}/application/
|
|
39
|
+
├── use-cases/
|
|
40
|
+
│ └── {use-case-name}.use-case.ts
|
|
41
|
+
├── commands/
|
|
42
|
+
│ └── {use-case-name}.command.ts
|
|
43
|
+
├── queries/
|
|
44
|
+
│ └── {use-case-name}.query.ts
|
|
45
|
+
├── dto/
|
|
46
|
+
│ ├── {use-case-name}.dto.ts
|
|
47
|
+
│ └── {use-case-name}.response.dto.ts
|
|
48
|
+
└── ports/
|
|
49
|
+
├── repositories/
|
|
50
|
+
│ └── {entity}.repository.interface.ts
|
|
51
|
+
└── services/
|
|
52
|
+
└── {external-service}.interface.ts
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 3: Create Command/Query Objects
|
|
56
|
+
Generate input objects with:
|
|
57
|
+
- Property validation decorators
|
|
58
|
+
- Type safety with TypeScript
|
|
59
|
+
- Documentation with Swagger decorators
|
|
60
|
+
- Immutable data structures
|
|
61
|
+
|
|
62
|
+
Example Command:
|
|
63
|
+
```typescript
|
|
64
|
+
export class Create{Entity}Command {{
|
|
65
|
+
@IsString()
|
|
66
|
+
@IsNotEmpty()
|
|
67
|
+
readonly property: string;
|
|
68
|
+
|
|
69
|
+
@IsOptional()
|
|
70
|
+
@IsUUID()
|
|
71
|
+
readonly optionalId?: string;
|
|
72
|
+
}}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Step 4: Create Use Case Implementation
|
|
76
|
+
Generate use case with:
|
|
77
|
+
- Dependency injection decorators
|
|
78
|
+
- Input validation
|
|
79
|
+
- Business logic orchestration
|
|
80
|
+
- Error handling
|
|
81
|
+
- Transaction management
|
|
82
|
+
- Domain event handling
|
|
83
|
+
|
|
84
|
+
Example Use Case:
|
|
85
|
+
```typescript
|
|
86
|
+
@Injectable()
|
|
87
|
+
export class Create{Entity}UseCase {{
|
|
88
|
+
constructor(
|
|
89
|
+
@Inject('{Entity}_REPOSITORY')
|
|
90
|
+
private readonly {entity}Repository: {Entity}RepositoryInterface,
|
|
91
|
+
@Inject('EVENT_BUS')
|
|
92
|
+
private readonly eventBus: EventBusInterface,
|
|
93
|
+
) {{}}
|
|
94
|
+
|
|
95
|
+
async execute(command: Create{Entity}Command): Promise<{Entity}ResponseDto> {{
|
|
96
|
+
// Validation
|
|
97
|
+
// Business logic
|
|
98
|
+
// Repository operations
|
|
99
|
+
// Event publishing
|
|
100
|
+
// Response mapping
|
|
101
|
+
}}
|
|
102
|
+
}}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Step 5: Create Repository Interface (Port)
|
|
106
|
+
Define repository contract:
|
|
107
|
+
- Method signatures for data operations
|
|
108
|
+
- Return types with domain entities
|
|
109
|
+
- Query parameters and filters
|
|
110
|
+
- Error handling contracts
|
|
111
|
+
|
|
112
|
+
### Step 6: Create Response DTOs
|
|
113
|
+
Generate output objects:
|
|
114
|
+
- Serialization decorators
|
|
115
|
+
- API documentation
|
|
116
|
+
- Type transformations
|
|
117
|
+
- Nested object handling
|
|
118
|
+
|
|
119
|
+
### Step 7: Generate Tests
|
|
120
|
+
Create comprehensive test suite:
|
|
121
|
+
- Unit tests with mocked dependencies
|
|
122
|
+
- Integration tests with test database
|
|
123
|
+
- Error scenario testing
|
|
124
|
+
- Performance testing for complex operations
|
|
125
|
+
- Contract testing for external dependencies
|
|
126
|
+
|
|
127
|
+
### Step 8: Configure Dependency Injection
|
|
128
|
+
Update module configuration:
|
|
129
|
+
- Provider registration
|
|
130
|
+
- Interface-to-implementation binding
|
|
131
|
+
- Scope management (singleton, request)
|
|
132
|
+
- Circular dependency resolution
|
|
133
|
+
|
|
134
|
+
## Completion Criteria
|
|
135
|
+
- Use case follows hexagonal architecture
|
|
136
|
+
- Dependencies properly injected
|
|
137
|
+
- Input/output properly validated
|
|
138
|
+
- Business rules enforced
|
|
139
|
+
- Error handling comprehensive
|
|
140
|
+
- Tests cover all scenarios
|
|
141
141
|
- Documentation complete
|