@thatix.io/context-first-agents-cli 0.1.1 → 0.2.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 +25 -12
- package/dist/commands/create-orchestrator.js +4 -1
- package/dist/commands/doctor.js +21 -5
- package/dist/commands/init.js +3 -1
- package/dist/templates/commands/en/engineer/plan.md +301 -0
- package/dist/templates/commands/en/engineer/pr.md +194 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
- package/dist/templates/commands/en/engineer/start.md +285 -0
- package/dist/templates/commands/en/engineer/work.md +256 -0
- package/dist/templates/commands/en/products/check.md +237 -0
- package/dist/templates/commands/en/products/collect.md +170 -0
- package/dist/templates/commands/en/products/refine.md +231 -0
- package/dist/templates/commands/en/products/spec.md +273 -0
- package/dist/templates/commands/en/quality/metrics.md +266 -0
- package/dist/templates/commands/en/quality/observe.md +172 -0
- package/dist/templates/commands/en/warm-up.md +59 -0
- package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/dist/templates/commands/es/agents/implementer.md +27 -0
- package/dist/templates/commands/es/agents/integrator.md +24 -0
- package/dist/templates/commands/es/agents/reviewer.md +31 -0
- package/dist/templates/commands/es/agents/tester.md +22 -0
- package/dist/templates/commands/es/engineer/plan.md +335 -0
- package/dist/templates/commands/es/engineer/pr.md +228 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/es/engineer/start.md +318 -0
- package/dist/templates/commands/es/engineer/work.md +290 -0
- package/dist/templates/commands/es/orchestrate.md +125 -0
- package/dist/templates/commands/es/products/check.md +271 -0
- package/dist/templates/commands/es/products/collect.md +218 -0
- package/dist/templates/commands/es/products/refine.md +265 -0
- package/dist/templates/commands/es/products/spec.md +306 -0
- package/dist/templates/commands/es/quality/metrics.md +300 -0
- package/dist/templates/commands/es/quality/observe.md +205 -0
- package/dist/templates/commands/es/warm-up.md +59 -0
- package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
- package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
- package/dist/templates/commands/pt-BR/products/check.md +271 -0
- package/dist/templates/commands/pt-BR/products/collect.md +219 -0
- package/dist/templates/commands/pt-BR/products/refine.md +265 -0
- package/dist/templates/commands/pt-BR/products/spec.md +307 -0
- package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
- package/dist/templates/commands/pt-BR/warm-up.md +59 -0
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +301 -0
- package/templates/commands/en/engineer/pr.md +194 -0
- package/templates/commands/en/engineer/pre-pr.md +325 -0
- package/templates/commands/en/engineer/start.md +285 -0
- package/templates/commands/en/engineer/work.md +256 -0
- package/templates/commands/en/products/check.md +237 -0
- package/templates/commands/en/products/collect.md +170 -0
- package/templates/commands/en/products/refine.md +231 -0
- package/templates/commands/en/products/spec.md +273 -0
- package/templates/commands/en/quality/metrics.md +266 -0
- package/templates/commands/en/quality/observe.md +172 -0
- package/templates/commands/en/warm-up.md +59 -0
- package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/templates/commands/es/agents/implementer.md +27 -0
- package/templates/commands/es/agents/integrator.md +24 -0
- package/templates/commands/es/agents/reviewer.md +31 -0
- package/templates/commands/es/agents/tester.md +22 -0
- package/templates/commands/es/engineer/plan.md +335 -0
- package/templates/commands/es/engineer/pr.md +228 -0
- package/templates/commands/es/engineer/pre-pr.md +359 -0
- package/templates/commands/es/engineer/start.md +318 -0
- package/templates/commands/es/engineer/work.md +290 -0
- package/templates/commands/es/orchestrate.md +125 -0
- package/templates/commands/es/products/check.md +271 -0
- package/templates/commands/es/products/collect.md +218 -0
- package/templates/commands/es/products/refine.md +265 -0
- package/templates/commands/es/products/spec.md +306 -0
- package/templates/commands/es/quality/metrics.md +300 -0
- package/templates/commands/es/quality/observe.md +205 -0
- package/templates/commands/es/warm-up.md +59 -0
- package/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/templates/commands/pt-BR/engineer/start.md +319 -0
- package/templates/commands/pt-BR/engineer/work.md +290 -0
- package/templates/commands/pt-BR/products/check.md +271 -0
- package/templates/commands/pt-BR/products/collect.md +219 -0
- package/templates/commands/pt-BR/products/refine.md +265 -0
- package/templates/commands/pt-BR/products/spec.md +307 -0
- package/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/templates/commands/pt-BR/quality/observe.md +206 -0
- package/templates/commands/pt-BR/warm-up.md +59 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# Work Execution
|
|
2
|
+
|
|
3
|
+
This command executes a unit of work in the current workspace, implementing part of the technical plan.
|
|
4
|
+
|
|
5
|
+
## 📋 Prerequisites
|
|
6
|
+
|
|
7
|
+
Before executing, make sure that:
|
|
8
|
+
- You have run `/start` and `/plan` to have the technical plan
|
|
9
|
+
- You are in the correct workspace: `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
10
|
+
- You have the files `.sessions/<ISSUE-ID>/` available:
|
|
11
|
+
- `context.md` (immutable)
|
|
12
|
+
- `architecture.md` (immutable)
|
|
13
|
+
- `plan.md` (mutable)
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
Read `context-manifest.json` and `ai.properties.md` from the orchestrator to get repositories, base_path, and task_management_system.
|
|
18
|
+
|
|
19
|
+
## 📍 IMPORTANT: Understand the Structure
|
|
20
|
+
|
|
21
|
+
**Workspace** (where you work):
|
|
22
|
+
```
|
|
23
|
+
<orchestrator>/.sessions/<ISSUE-ID>/
|
|
24
|
+
├── repo-1/ # worktree with branch feature/<ISSUE-ID>
|
|
25
|
+
├── repo-2/ # worktree with branch feature/<ISSUE-ID>
|
|
26
|
+
├── context.md # context (immutable)
|
|
27
|
+
├── architecture.md # architecture (immutable)
|
|
28
|
+
└── plan.md # plan (mutable)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Main repositories** (DO NOT touch):
|
|
32
|
+
```
|
|
33
|
+
{base_path}/repo-1/ # main repo (branch main/master)
|
|
34
|
+
{base_path}/repo-2/ # main repo (branch main/master)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**GOLDEN RULE**:
|
|
38
|
+
- ✅ Work ONLY inside `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
39
|
+
- ✅ Commit in the worktrees inside the workspace
|
|
40
|
+
- ❌ NEVER checkout branches in the main repositories
|
|
41
|
+
- ❌ NEVER navigate to `{base_path}/{repo-id}/`
|
|
42
|
+
|
|
43
|
+
## 🛑 CRITICAL: WHERE TO CREATE CODE
|
|
44
|
+
|
|
45
|
+
**⚠️ ATTENTION: ALL CODE MUST BE CREATED INSIDE THE REPOSITORY WORKTREE!**
|
|
46
|
+
|
|
47
|
+
**✅ CORRECT** - Create code inside the worktree:
|
|
48
|
+
```
|
|
49
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/src/file.ts ✅
|
|
50
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/tests/test.ts ✅
|
|
51
|
+
<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/package.json ✅
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**❌ WRONG** - NEVER create code directly in .sessions:
|
|
55
|
+
```
|
|
56
|
+
<orchestrator>/.sessions/src/file.ts ❌
|
|
57
|
+
<orchestrator>/.sessions/<ISSUE-ID>/src/file.ts ❌
|
|
58
|
+
<orchestrator>/.sessions/<ISSUE-ID>/file.ts ❌
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**ABSOLUTE RULE**:
|
|
62
|
+
- 🛑 **EVERY code file** (`.ts`, `.js`, `.py`, `.java`, etc.) **MUST be inside** `<orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/`
|
|
63
|
+
- 🛑 **NEVER create code** directly in `<orchestrator>/.sessions/` or `<orchestrator>/.sessions/<ISSUE-ID>/`
|
|
64
|
+
- ✅ **Only valid place**: Inside the repository's worktree
|
|
65
|
+
|
|
66
|
+
## ⚠️ IMPORTANT: Immutable Files
|
|
67
|
+
|
|
68
|
+
**This command must READ but NOT MODIFY:**
|
|
69
|
+
- ✅ **READ** `.sessions/<ISSUE-ID>/context.md` (immutable)
|
|
70
|
+
- ✅ **READ** `.sessions/<ISSUE-ID>/architecture.md` (immutable)
|
|
71
|
+
- ✅ **UPDATE** `.sessions/<ISSUE-ID>/plan.md` (mark progress)
|
|
72
|
+
- ✅ **IMPLEMENT** code **INSIDE THE WORKTREE**: `.sessions/<ISSUE-ID>/<repo-name>/`
|
|
73
|
+
- ✅ **MAKE COMMITS** in the worktrees: `.sessions/<ISSUE-ID>/<repo-name>/`
|
|
74
|
+
- ❌ **Do NOT modify `context.md` or `architecture.md`**
|
|
75
|
+
- ❌ **Do NOT checkout branches in the main repositories (outside workspace)**
|
|
76
|
+
- 🛑 **NEVER create code directly in `.sessions/` or `.sessions/<ISSUE-ID>/`**
|
|
77
|
+
|
|
78
|
+
## 📚 Load MetaSpecs
|
|
79
|
+
|
|
80
|
+
**Automatically locate MetaSpecs**:
|
|
81
|
+
1. Read `context-manifest.json` from the orchestrator
|
|
82
|
+
2. Find the repository with `"role": "metaspecs"`
|
|
83
|
+
3. Read `ai.properties.md` to get the `base_path`
|
|
84
|
+
4. The metaspecs are at: `{base_path}/{metaspecs-repo-id}/`
|
|
85
|
+
5. Read relevant `index.md` files during implementation to:
|
|
86
|
+
- Follow coding standards
|
|
87
|
+
- Respect defined architecture
|
|
88
|
+
- Use correct conventions
|
|
89
|
+
|
|
90
|
+
## 🎯 Objective
|
|
91
|
+
|
|
92
|
+
Implement a specific unit of work from the plan, which may involve:
|
|
93
|
+
- Creating new files/components
|
|
94
|
+
- Modifying existing files
|
|
95
|
+
- Adding tests
|
|
96
|
+
- Updating documentation
|
|
97
|
+
|
|
98
|
+
## 📝 Work Process
|
|
99
|
+
|
|
100
|
+
**⚠️ IMPORTANT: PROGRESS CONTROL**
|
|
101
|
+
|
|
102
|
+
This command executes the work in **incremental phases**. After completing each **MAIN PHASE** (e.g., Phase 1 → Phase 2):
|
|
103
|
+
|
|
104
|
+
1. 🛑 **STOP** execution
|
|
105
|
+
2. 📊 **PRESENT** a summary of what was done
|
|
106
|
+
3. ❓ **ASK** the developer if they want to:
|
|
107
|
+
- Review the implemented code
|
|
108
|
+
- Make adjustments before continuing
|
|
109
|
+
- Proceed to the next phase
|
|
110
|
+
|
|
111
|
+
**IMPORTANT**:
|
|
112
|
+
- ✅ **PAUSE** between main phases (Phase 1 → Phase 2 → Phase 3)
|
|
113
|
+
- ❌ **DO NOT pause** between subphases (Phase 1.1 → Phase 1.2 → Phase 1.3)
|
|
114
|
+
|
|
115
|
+
**DO NOT implement everything at once**. Work main phase by main phase, awaiting developer confirmation.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### 1. Identify Unit of Work
|
|
120
|
+
|
|
121
|
+
Based on the technical plan (`./.sessions/<ISSUE-ID>/plan.md`), identify:
|
|
122
|
+
- Which specific task will be implemented now
|
|
123
|
+
- In which repository(ies) of the workspace
|
|
124
|
+
- Which files will be created/modified
|
|
125
|
+
- Dependencies with other tasks
|
|
126
|
+
|
|
127
|
+
### 2. Implementation
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
**IMPORTANT**: Work ONLY inside the workspace `.sessions/<ISSUE-ID>/`
|
|
132
|
+
|
|
133
|
+
For each repository in the workspace:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Navigate to the worktree inside the workspace
|
|
137
|
+
cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
|
|
138
|
+
|
|
139
|
+
# Verify you are on the correct branch
|
|
140
|
+
git branch # should show * feature/<ISSUE-ID>
|
|
141
|
+
|
|
142
|
+
# Implement the code here
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Execute the implementation following:
|
|
146
|
+
- **Project standards**: Consult style and architecture guides
|
|
147
|
+
- **Approved stack**: Use only technologies documented in the metaspecs
|
|
148
|
+
- **Tests**: Implement tests according to project standards
|
|
149
|
+
- **Documentation**: Update comments and docs when necessary
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
### 3. Local Validation
|
|
154
|
+
|
|
155
|
+
Before committing:
|
|
156
|
+
- Run unit/integration tests
|
|
157
|
+
- Check linting and formatting
|
|
158
|
+
- Confirm no existing functionality is broken
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### 4. Commit
|
|
163
|
+
|
|
164
|
+
For each repository modified **inside the workspace**:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Navigate to the worktree inside the workspace
|
|
168
|
+
cd <orchestrator>/.sessions/<ISSUE-ID>/<repo-name>/
|
|
169
|
+
|
|
170
|
+
# Add changes
|
|
171
|
+
git add .
|
|
172
|
+
|
|
173
|
+
# Commit
|
|
174
|
+
git commit -m "type: concise description
|
|
175
|
+
|
|
176
|
+
- Detail 1
|
|
177
|
+
- Detail 2
|
|
178
|
+
|
|
179
|
+
Refs: <ISSUE-ID>"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Commit types**: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
|
|
183
|
+
|
|
184
|
+
**⚠️ MANDATORY PAUSE**: After completing the ENTIRE main phase (identification + implementation + validation + commit + plan.md update), **STOP** and show the developer:
|
|
185
|
+
- Complete summary of the phase
|
|
186
|
+
- Files created/modified
|
|
187
|
+
- Commits made
|
|
188
|
+
- Ask if they want to review or proceed to the next phase
|
|
189
|
+
|
|
190
|
+
### 5. Update Plan.md
|
|
191
|
+
|
|
192
|
+
**FOR EACH completed task**, update `./.sessions/<ISSUE-ID>/plan.md`:
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
#### 1.1 - [Task Name] [Completed ✅]
|
|
196
|
+
- [Detail 1]
|
|
197
|
+
- [Detail 2]
|
|
198
|
+
- [Detail 3]
|
|
199
|
+
|
|
200
|
+
**Files**:
|
|
201
|
+
- `path/to/file1.ts` ✅
|
|
202
|
+
- `path/to/file2.vue` ✅
|
|
203
|
+
|
|
204
|
+
**Tests**:
|
|
205
|
+
- Unit test: [Description] ✅
|
|
206
|
+
- Integration test: [Description] ✅
|
|
207
|
+
|
|
208
|
+
**Comments**:
|
|
209
|
+
- Decision: [Explanation of important technical decision]
|
|
210
|
+
- Learning: [Something learned during implementation]
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Mark task status**:
|
|
214
|
+
- `[Not Started ⏳]` - Task not started yet
|
|
215
|
+
- `[In Progress ⏰]` - Task currently being worked on
|
|
216
|
+
- `[Completed ✅]` - Task finished and validated
|
|
217
|
+
|
|
218
|
+
## 🔍 Quality Checklist
|
|
219
|
+
|
|
220
|
+
Before considering the unit complete:
|
|
221
|
+
- [ ] Code implemented and tested
|
|
222
|
+
- [ ] Tests passing
|
|
223
|
+
- [ ] Linting/formatting OK
|
|
224
|
+
- [ ] Documentation updated (if necessary)
|
|
225
|
+
- [ ] Commit made in all affected repos
|
|
226
|
+
- [ ] `plan.md` updated with progress and comments
|
|
227
|
+
|
|
228
|
+
## ⚠️ Jidoka Principle
|
|
229
|
+
|
|
230
|
+
If you encounter problems during implementation:
|
|
231
|
+
1. 🛑 **STOP** the implementation
|
|
232
|
+
2. 📝 **DOCUMENT** the problem found
|
|
233
|
+
3. 💬 **ALERT** the user and discuss solutions
|
|
234
|
+
4. 🔄 **ADJUST** the plan if necessary
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
**Provided arguments**:
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
#$ARGUMENTS
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 🎯 Next Steps
|
|
247
|
+
|
|
248
|
+
- **Continue implementation**: Run `/work` again for the next unit
|
|
249
|
+
- **Finish feature**: When everything is implemented, run `/pre-pr`
|
|
250
|
+
|
|
251
|
+
## 💡 Tips
|
|
252
|
+
|
|
253
|
+
- Work in small, incremental units
|
|
254
|
+
- Commit frequently (atomic commits)
|
|
255
|
+
- Document important decisions in the session
|
|
256
|
+
- Keep repositories synchronized with each other
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Validation Against MetaSpecs
|
|
2
|
+
|
|
3
|
+
This command validates requirements, decisions, or implementations against the project's metaspecs.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANT: Mode of Operation
|
|
6
|
+
|
|
7
|
+
**This command is for VALIDATION:**
|
|
8
|
+
- ✅ Validate against metaspecs
|
|
9
|
+
- ✅ **READ** files from repositories (read-only)
|
|
10
|
+
- ✅ Generate validation report
|
|
11
|
+
- ❌ **DO NOT checkout branches in main repositories**
|
|
12
|
+
- ❌ **DO NOT modify code**
|
|
13
|
+
- ❌ **DO NOT modify `context.md` or `architecture.md`**
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
Read `context-manifest.json` and `ai.properties.md` from the orchestrator to get repositories, base_path, and task_management_system.
|
|
18
|
+
|
|
19
|
+
## 🎯 Objective
|
|
20
|
+
|
|
21
|
+
Ensure alignment with:
|
|
22
|
+
- Product strategy
|
|
23
|
+
- Technical architecture
|
|
24
|
+
- Standards and conventions
|
|
25
|
+
- ADRs (Architecture Decision Records)
|
|
26
|
+
|
|
27
|
+
## 📋 When to Use
|
|
28
|
+
|
|
29
|
+
Run this command:
|
|
30
|
+
- After `/spec` - validate PRD
|
|
31
|
+
- After `/plan` - validate technical plan
|
|
32
|
+
- During `/work` - validate implementation decisions
|
|
33
|
+
- Before `/pr` - final validation
|
|
34
|
+
|
|
35
|
+
## 📚 Load MetaSpecs
|
|
36
|
+
|
|
37
|
+
**Automatically locate MetaSpecs**:
|
|
38
|
+
1. Read `context-manifest.json` from the orchestrator
|
|
39
|
+
2. Find the repository with `"role": "metaspecs"`
|
|
40
|
+
3. Read `ai.properties.md` to get the `base_path`
|
|
41
|
+
4. The metaspecs are located at: `{base_path}/{metaspecs-repo-id}/`
|
|
42
|
+
|
|
43
|
+
## 🔍 Validation Process
|
|
44
|
+
|
|
45
|
+
### 1. Identify Available MetaSpecs
|
|
46
|
+
|
|
47
|
+
Navigate to the metaspecs directory and identify which metaspecs exist:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ls -la {base_path}/{metaspecs-repo-id}/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2. Business Validation
|
|
54
|
+
|
|
55
|
+
If business metaspecs exist (`MetaSpecs repository (business section)`):
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## Business Validation
|
|
59
|
+
|
|
60
|
+
### Product Strategy
|
|
61
|
+
- **File**: `MetaSpecs repository (business section)PRODUCT_STRATEGY.md`
|
|
62
|
+
- **Validation**: [Is this feature aligned with the strategy?]
|
|
63
|
+
- **Status**: ✅ Aligned / ⚠️ Partial / ❌ Misaligned
|
|
64
|
+
- **Notes**: [Observations]
|
|
65
|
+
|
|
66
|
+
### Personas
|
|
67
|
+
- **File**: `MetaSpecs repository (business section)CUSTOMER_PERSONAS.md`
|
|
68
|
+
- **Validation**: [Does it meet the correct persona?]
|
|
69
|
+
- **Status**: ✅ Aligned / ⚠️ Partial / ❌ Misaligned
|
|
70
|
+
- **Notes**: [Observations]
|
|
71
|
+
|
|
72
|
+
### Metrics
|
|
73
|
+
- **File**: `MetaSpecs repository (business section)PRODUCT_METRICS.md`
|
|
74
|
+
- **Validation**: [Is the success metric documented?]
|
|
75
|
+
- **Status**: ✅ Aligned / ⚠️ Partial / ❌ Misaligned
|
|
76
|
+
- **Notes**: [Observations]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3. Technical Validation
|
|
80
|
+
|
|
81
|
+
If technical metaspecs exist (`MetaSpecs repository (technical section)`):
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Technical Validation
|
|
85
|
+
|
|
86
|
+
### Technology Stack
|
|
87
|
+
- **File**: `MetaSpecs repository (technical section)meta/stack.md`
|
|
88
|
+
- **Validation**: [Uses only approved technologies?]
|
|
89
|
+
- **Status**: ✅ Compliant / ⚠️ Justified exception / ❌ Non-compliant
|
|
90
|
+
- **Notes**: [Technologies used and justifications]
|
|
91
|
+
|
|
92
|
+
### Architecture
|
|
93
|
+
- **File**: `MetaSpecs repository (technical section)ARCHITECTURE.md`
|
|
94
|
+
- **Validation**: [Follows architectural standards?]
|
|
95
|
+
- **Status**: ✅ Compliant / ⚠️ Partial / ❌ Non-compliant
|
|
96
|
+
- **Notes**: [Observations]
|
|
97
|
+
|
|
98
|
+
### ADRs (Architecture Decision Records)
|
|
99
|
+
- **Directory**: `MetaSpecs repository (technical section)adr/`
|
|
100
|
+
- **Validation**: [Respects documented architectural decisions?]
|
|
101
|
+
- **Relevant ADRs**: [List of verified ADRs]
|
|
102
|
+
- **Status**: ✅ Compliant / ⚠️ Minor conflict / ❌ Critical conflict
|
|
103
|
+
- **Notes**: [Observations]
|
|
104
|
+
|
|
105
|
+
### Business Rules
|
|
106
|
+
- **File**: `MetaSpecs repository (technical section)BUSINESS_LOGIC.md`
|
|
107
|
+
- **Validation**: [Implements business rules correctly?]
|
|
108
|
+
- **Status**: ✅ Compliant / ⚠️ Partial / ❌ Non-compliant
|
|
109
|
+
- **Notes**: [Observations]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 4. Standards Validation
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Standards Validation
|
|
116
|
+
|
|
117
|
+
### Code
|
|
118
|
+
- **File**: `MetaSpecs repository (technical section)CODE_STANDARDS.md`
|
|
119
|
+
- **Validation**: [Follows code standards?]
|
|
120
|
+
- **Status**: ✅ Compliant / ⚠️ Minor deviations / ❌ Non-compliant
|
|
121
|
+
|
|
122
|
+
### Tests
|
|
123
|
+
- **File**: `MetaSpecs repository (technical section)TEST_STANDARDS.md`
|
|
124
|
+
- **Validation**: [Adequate testing strategy?]
|
|
125
|
+
- **Status**: ✅ Compliant / ⚠️ Partial / ❌ Non-compliant
|
|
126
|
+
|
|
127
|
+
### Documentation
|
|
128
|
+
- **File**: `MetaSpecs repository (technical section)DOC_STANDARDS.md`
|
|
129
|
+
- **Validation**: [Adequate documentation?]
|
|
130
|
+
- **Status**: ✅ Compliant / ⚠️ Partial / ❌ Non-compliant
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 5. Conflict Identification
|
|
134
|
+
|
|
135
|
+
If conflicts or misalignments exist:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
## Identified Conflicts
|
|
139
|
+
|
|
140
|
+
### Conflict 1: [Description]
|
|
141
|
+
- **Severity**: Critical / High / Medium / Low
|
|
142
|
+
- **Metaspec**: [Violated file]
|
|
143
|
+
- **Description**: [Conflict details]
|
|
144
|
+
- **Recommendation**: [How to resolve]
|
|
145
|
+
|
|
146
|
+
### Conflict 2: [Description]
|
|
147
|
+
[Same format as above]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 6. Justified Exceptions
|
|
151
|
+
|
|
152
|
+
If there are justified deviations:
|
|
153
|
+
|
|
154
|
+
```markdown
|
|
155
|
+
## Justified Exceptions
|
|
156
|
+
|
|
157
|
+
### Exception 1: [Description]
|
|
158
|
+
- **Metaspec**: [Deviated file]
|
|
159
|
+
- **Deviation**: [What is different]
|
|
160
|
+
- **Justification**: [Why it is necessary]
|
|
161
|
+
- **Approval**: [Who approved]
|
|
162
|
+
- **Documentation**: [Where it was documented]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## 📄 Saving the Validation Report
|
|
166
|
+
|
|
167
|
+
**PRIORITY 1: Use MCP (Model Context Protocol)**
|
|
168
|
+
|
|
169
|
+
- Read `ai.properties.md` from the orchestrator to identify the `task_management_system`
|
|
170
|
+
- Use the appropriate MCP to add the report to the issue:
|
|
171
|
+
- Add as a comment on the issue
|
|
172
|
+
- Update labels/tags according to the result (e.g., "validated", "needs-adjustment", "blocked")
|
|
173
|
+
- If critical conflicts exist, update the issue status
|
|
174
|
+
- Inform the user: "✅ Validation report added to issue [ID]"
|
|
175
|
+
|
|
176
|
+
**FALLBACK: Create .md file only if MCP fails**
|
|
177
|
+
|
|
178
|
+
If MCP is unavailable or fails, create `./.sessions/<ISSUE-ID>/check-report.md`:
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
# Validation Report - [ISSUE-ID]
|
|
182
|
+
|
|
183
|
+
**Date**: [date/time]
|
|
184
|
+
**Phase**: [spec/plan/work/pre-pr]
|
|
185
|
+
|
|
186
|
+
## Overall Status
|
|
187
|
+
✅ Validated / ⚠️ Validated with reservations / ❌ Not validated
|
|
188
|
+
|
|
189
|
+
## Validations Performed
|
|
190
|
+
- Business: ✅ / ⚠️ / ❌
|
|
191
|
+
- Technical: ✅ / ⚠️ / ❌
|
|
192
|
+
- Standards: ✅ / ⚠️ / ❌
|
|
193
|
+
|
|
194
|
+
## Conflicts
|
|
195
|
+
[List of conflicts, if any]
|
|
196
|
+
|
|
197
|
+
## Exceptions
|
|
198
|
+
[List of justified exceptions, if any]
|
|
199
|
+
|
|
200
|
+
## Recommendations
|
|
201
|
+
1. [Recommendation 1]
|
|
202
|
+
2. [Recommendation 2]
|
|
203
|
+
|
|
204
|
+
## Approval
|
|
205
|
+
- [ ] Approved to proceed
|
|
206
|
+
- [ ] Requires adjustments
|
|
207
|
+
- [ ] Blocked
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Inform the user: "⚠️ Report saved locally in .sessions/ (task manager not available)"
|
|
211
|
+
|
|
212
|
+
## 🚨 Action in Case of Conflicts
|
|
213
|
+
|
|
214
|
+
If critical conflicts are found:
|
|
215
|
+
1. 🛑 **STOP** the current process
|
|
216
|
+
2. 📝 **DOCUMENT** all conflicts
|
|
217
|
+
3. 💬 **ALERT** the user and stakeholders
|
|
218
|
+
4. **Via MCP**: Update issue status to "Blocked" or "Requires Adjustments"
|
|
219
|
+
5. 🔄 **ADJUST** plan/implementation as needed
|
|
220
|
+
6. ✅ **REVALIDATE** after adjustments
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
**Provided arguments**:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
#$ARGUMENTS
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 🎯 Outcome
|
|
233
|
+
|
|
234
|
+
After validation:
|
|
235
|
+
- If ✅: Proceed to the next phase
|
|
236
|
+
- If ⚠️: Document reservations and proceed with approval
|
|
237
|
+
- If ❌: Fix conflicts before proceeding
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Idea and Requirements Gathering
|
|
2
|
+
|
|
3
|
+
You are a product specialist responsible for collecting and documenting new ideas, features, or bugs.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANT: This Command DOES NOT Implement Code
|
|
6
|
+
|
|
7
|
+
**This command is ONLY for planning and documentation:**
|
|
8
|
+
- ✅ Collect and understand requirements
|
|
9
|
+
- ✅ Create issue in the task manager via MCP
|
|
10
|
+
- ✅ Ask clarification questions
|
|
11
|
+
- ✅ **READ** files from main repositories (read-only)
|
|
12
|
+
- ❌ **DO NOT implement code**
|
|
13
|
+
- ❌ **DO NOT edit code files**
|
|
14
|
+
- ❌ **DO NOT checkout branches in main repositories**
|
|
15
|
+
- ❌ **DO NOT commit**
|
|
16
|
+
|
|
17
|
+
**Next step**: `/refine [ISSUE-ID]` to refine the collected requirements.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Configuration
|
|
22
|
+
|
|
23
|
+
Read `context-manifest.json` and `ai.properties.md` from the orchestrator to get repositories, base_path, and task_management_system.
|
|
24
|
+
|
|
25
|
+
## Objective
|
|
26
|
+
|
|
27
|
+
Understand the user's request and capture it as an issue in the task manager (via MCP).
|
|
28
|
+
|
|
29
|
+
**At this stage, you DO NOT need to:**
|
|
30
|
+
- ❌ Write a complete specification
|
|
31
|
+
- ❌ Validate against metaspecs (this is done in `/refine` or `/spec`)
|
|
32
|
+
- ❌ Detail technical implementation
|
|
33
|
+
|
|
34
|
+
Just ensure the idea is **adequately understood**.
|
|
35
|
+
|
|
36
|
+
## Issue Format
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
# [Clear and Descriptive Title]
|
|
40
|
+
|
|
41
|
+
## Description
|
|
42
|
+
[2-3 paragraphs explaining what the feature/bug is and why it is important]
|
|
43
|
+
|
|
44
|
+
## Type
|
|
45
|
+
- [ ] New Feature
|
|
46
|
+
- [ ] Existing Feature Improvement
|
|
47
|
+
- [ ] Bug
|
|
48
|
+
- [ ] Tech Debt
|
|
49
|
+
- [ ] Documentation
|
|
50
|
+
|
|
51
|
+
## Additional Context
|
|
52
|
+
[Relevant information: where the bug occurs, inspiration for the feature, etc.]
|
|
53
|
+
|
|
54
|
+
## Affected Repositories
|
|
55
|
+
[List which project repositories will be impacted]
|
|
56
|
+
|
|
57
|
+
## Suggested Priority
|
|
58
|
+
- [ ] 🔴 Critical
|
|
59
|
+
- [ ] 🟡 High
|
|
60
|
+
- [ ] 🟢 Medium
|
|
61
|
+
- [ ] ⚪ Low (Backlog)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Collection Process
|
|
65
|
+
|
|
66
|
+
1. **Initial Understanding**
|
|
67
|
+
- Ask clarification questions if needed
|
|
68
|
+
- Identify: Is it a new feature? Improvement? Bug?
|
|
69
|
+
- Identify which repositories will be affected
|
|
70
|
+
|
|
71
|
+
2. **Issue Draft**
|
|
72
|
+
- Clear title (max 10 words)
|
|
73
|
+
- Objective description (2-3 paragraphs)
|
|
74
|
+
- Relevant additional context
|
|
75
|
+
- Affected repositories
|
|
76
|
+
- Suggested priority
|
|
77
|
+
|
|
78
|
+
3. **Complexity Assessment and Suggestion to Split**
|
|
79
|
+
|
|
80
|
+
Before finalizing, assess the issue complexity:
|
|
81
|
+
|
|
82
|
+
**If the implementation seems large** (> 5 days estimated effort):
|
|
83
|
+
- 🚨 **Suggest splitting into multiple smaller issues**
|
|
84
|
+
- Explain the rationale for the split (e.g., "This feature involves 3 distinct areas: authentication, processing, and notification")
|
|
85
|
+
- Propose a **logical** split (by functionality, repository, layer, etc.)
|
|
86
|
+
- Example split:
|
|
87
|
+
```
|
|
88
|
+
Original Issue: "Complete payment system"
|
|
89
|
+
|
|
90
|
+
Suggested Split:
|
|
91
|
+
- FIN-101: Payment gateway integration (backend)
|
|
92
|
+
- FIN-102: Checkout interface (frontend)
|
|
93
|
+
- FIN-103: Confirmation webhook and notifications (backend + jobs)
|
|
94
|
+
```
|
|
95
|
+
- **Important**: The final decision is the user's - they can accept the split or keep it as a single issue
|
|
96
|
+
|
|
97
|
+
**If the user accepts the split**:
|
|
98
|
+
- Create each issue separately using the same process
|
|
99
|
+
- Add cross-references between related issues
|
|
100
|
+
- Suggest implementation order if dependencies exist
|
|
101
|
+
|
|
102
|
+
4. **User Approval**
|
|
103
|
+
- Present the draft (or drafts, if split)
|
|
104
|
+
- Make adjustments according to feedback
|
|
105
|
+
- Obtain final approval
|
|
106
|
+
|
|
107
|
+
5. **Issue Saving**
|
|
108
|
+
|
|
109
|
+
**PRIORITY 1: Use MCP (Model Context Protocol)**
|
|
110
|
+
|
|
111
|
+
Check if MCP is configured for the task manager:
|
|
112
|
+
- Read `ai.properties.md` from the orchestrator to identify the `task_management_system`
|
|
113
|
+
- If `task_management_system=jira`: Use Jira MCP to create the issue
|
|
114
|
+
- If `task_management_system=linear`: Use Linear MCP to create the issue
|
|
115
|
+
- If `task_management_system=github`: Use GitHub MCP to create the issue
|
|
116
|
+
- If `task_management_system=azure`: Use Azure Boards MCP to create the issue
|
|
117
|
+
|
|
118
|
+
**When using MCP:**
|
|
119
|
+
- Create the issue directly in the task manager
|
|
120
|
+
- Obtain the created issue ID (e.g., FIN-123, LIN-456)
|
|
121
|
+
- Inform the user: "✅ Issue [ID] created in [task manager]"
|
|
122
|
+
- **DO NOT create a .md file**
|
|
123
|
+
|
|
124
|
+
**FALLBACK: Create .md file only if MCP fails**
|
|
125
|
+
|
|
126
|
+
If MCP is not available or fails:
|
|
127
|
+
- Create a file in `./.sessions/<ISSUE-ID>/collect.md`
|
|
128
|
+
- Use manual ID format: `LOCAL-001`, `LOCAL-002`, etc.
|
|
129
|
+
- Include date, type, and full content
|
|
130
|
+
- Inform the user: "⚠️ Issue saved locally in .sessions/ (task manager not available)"
|
|
131
|
+
|
|
132
|
+
## Clarification Questions
|
|
133
|
+
|
|
134
|
+
**For Features**:
|
|
135
|
+
- What problem does it solve?
|
|
136
|
+
- Who benefits?
|
|
137
|
+
- Is it a visible functionality or infrastructure?
|
|
138
|
+
- Is it related to any existing feature?
|
|
139
|
+
- Which repositories need modification?
|
|
140
|
+
|
|
141
|
+
**For Bugs**:
|
|
142
|
+
- Where does the bug occur? (repository, component, flow)
|
|
143
|
+
- How to reproduce?
|
|
144
|
+
- Expected vs current behavior?
|
|
145
|
+
- Severity of impact?
|
|
146
|
+
|
|
147
|
+
**For Improvements**:
|
|
148
|
+
- What is working but can be improved?
|
|
149
|
+
- Which metric do we want to impact?
|
|
150
|
+
- Is it a technical or business optimization?
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
**Provided arguments**:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
#$ARGUMENTS
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 🎯 Next Step
|
|
163
|
+
|
|
164
|
+
After approval and saving the issue:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
/refine [ISSUE-ID]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
This command will transform the collected issue into refined and validated requirements.
|