wogiflow 1.0.21 → 1.0.22
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/.claude/commands/wogi-bug.md +43 -0
- package/.claude/commands/wogi-bulk.md +144 -0
- package/.claude/commands/wogi-changelog.md +36 -0
- package/.claude/commands/wogi-compact.md +99 -0
- package/.claude/commands/wogi-config.md +50 -0
- package/.claude/commands/wogi-context.md +68 -0
- package/.claude/commands/wogi-correction.md +73 -0
- package/.claude/commands/wogi-debt.md +128 -0
- package/.claude/commands/wogi-deps.md +32 -0
- package/.claude/commands/wogi-epics.md +145 -0
- package/.claude/commands/wogi-export.md +100 -0
- package/.claude/commands/wogi-feature.md +149 -0
- package/.claude/commands/wogi-guided-edit.md +83 -0
- package/.claude/commands/wogi-health.md +43 -0
- package/.claude/commands/wogi-help.md +96 -0
- package/.claude/commands/wogi-hybrid-edit.md +36 -0
- package/.claude/commands/wogi-hybrid-off.md +24 -0
- package/.claude/commands/wogi-hybrid-setup.md +79 -0
- package/.claude/commands/wogi-hybrid-status.md +45 -0
- package/.claude/commands/wogi-hybrid.md +54 -0
- package/.claude/commands/wogi-import.md +44 -0
- package/.claude/commands/wogi-init.md +618 -0
- package/.claude/commands/wogi-log.md +38 -0
- package/.claude/commands/wogi-map-add.md +29 -0
- package/.claude/commands/wogi-map-check.md +35 -0
- package/.claude/commands/wogi-map-index.md +98 -0
- package/.claude/commands/wogi-map-scan.md +38 -0
- package/.claude/commands/wogi-map-sync.md +91 -0
- package/.claude/commands/wogi-map.md +33 -0
- package/.claude/commands/wogi-morning.md +65 -0
- package/.claude/commands/wogi-onboard.md +99 -0
- package/.claude/commands/wogi-plan.md +173 -0
- package/.claude/commands/wogi-ready.md +84 -0
- package/.claude/commands/wogi-resume.md +95 -0
- package/.claude/commands/wogi-review.md +636 -0
- package/.claude/commands/wogi-roadmap.md +241 -0
- package/.claude/commands/wogi-rules.md +104 -0
- package/.claude/commands/wogi-search.md +33 -0
- package/.claude/commands/wogi-session-end.md +49 -0
- package/.claude/commands/wogi-setup-stack.md +151 -0
- package/.claude/commands/wogi-skill-learn.md +66 -0
- package/.claude/commands/wogi-skills.md +87 -0
- package/.claude/commands/wogi-standup.md +28 -0
- package/.claude/commands/wogi-start.md +465 -0
- package/.claude/commands/wogi-status.md +41 -0
- package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
- package/.claude/commands/wogi-story.md +98 -0
- package/.claude/commands/wogi-suspend.md +87 -0
- package/.claude/commands/wogi-test-browser.md +43 -0
- package/.claude/commands/wogi-trace.md +198 -0
- package/.claude/docs/architecture.md +37 -0
- package/.claude/docs/commands.md +343 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
- package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
- package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
- package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
- package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
- package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
- package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
- package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
- package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
- package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
- package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
- package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
- package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
- package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
- package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
- package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
- package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
- package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
- package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
- package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
- package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
- package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
- package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
- package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
- package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
- package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
- package/.claude/docs/knowledge-base/README.md +92 -0
- package/.claude/docs/knowledge-base/configuration/README.md +228 -0
- package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
- package/.claude/docs/knowledge-base/future-features.md +277 -0
- package/.claude/docs/stack.md +25 -0
- package/.claude/docs/testing.md +71 -0
- package/.claude/rules/README.md +60 -0
- package/.claude/rules/architecture/component-reuse.md +38 -0
- package/.claude/rules/architecture/document-structure.md +76 -0
- package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
- package/.claude/rules/architecture/model-management.md +35 -0
- package/.claude/rules/code-style/naming-conventions.md +55 -0
- package/.claude/rules/security/security-patterns.md +116 -0
- package/.claude/skills/.gitkeep +0 -0
- package/.claude/skills/README.md +131 -0
- package/.claude/skills/_template/commands/.gitkeep +0 -0
- package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
- package/.claude/skills/_template/knowledge/learnings.md +60 -0
- package/.claude/skills/_template/knowledge/patterns.md +45 -0
- package/.claude/skills/_template/rules/.gitkeep +0 -0
- package/.claude/skills/_template/skill.md +99 -0
- package/.claude/skills/_template/templates/.gitkeep +0 -0
- package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
- package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
- package/.claude/skills/figma-analyzer/skill.md +236 -0
- package/lib/installer.js +59 -19
- package/package.json +5 -1
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
# Team Setup
|
|
2
|
+
|
|
3
|
+
Configure team sync and shared knowledge.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Team features enable:
|
|
10
|
+
- **Shared Decisions**: Team-wide coding patterns
|
|
11
|
+
- **Knowledge Transfer**: Share learnings across projects
|
|
12
|
+
- **Consistent Configuration**: Import/export workflow profiles
|
|
13
|
+
- **Audit Trails**: Track changes across team members
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
### Export Your Profile
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
/wogi-export
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Creates a shareable profile with your configuration.
|
|
26
|
+
|
|
27
|
+
### Import Team Profile
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
/wogi-import
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Import a team's shared configuration.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Configuration
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"team": {
|
|
42
|
+
"enabled": false,
|
|
43
|
+
"teamId": null,
|
|
44
|
+
"userId": null,
|
|
45
|
+
"projectId": null,
|
|
46
|
+
"apiKey": null,
|
|
47
|
+
"backendUrl": "https://api.wogi-flow.com",
|
|
48
|
+
"syncInterval": 300000,
|
|
49
|
+
"autoSync": true,
|
|
50
|
+
"sync": {
|
|
51
|
+
"decisions": true,
|
|
52
|
+
"appMap": true,
|
|
53
|
+
"componentIndex": true,
|
|
54
|
+
"skills": true,
|
|
55
|
+
"memory": true,
|
|
56
|
+
"requestLog": "recent",
|
|
57
|
+
"tasks": false
|
|
58
|
+
},
|
|
59
|
+
"conflictResolution": "newest-wins"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## What Gets Synced
|
|
67
|
+
|
|
68
|
+
| Item | Default | Description |
|
|
69
|
+
|------|---------|-------------|
|
|
70
|
+
| `decisions` | `true` | Coding patterns and conventions |
|
|
71
|
+
| `appMap` | `true` | Component registry |
|
|
72
|
+
| `componentIndex` | `true` | Auto-scanned components |
|
|
73
|
+
| `skills` | `true` | Installed skill packages |
|
|
74
|
+
| `memory` | `true` | Learned facts and patterns |
|
|
75
|
+
| `requestLog` | `"recent"` | Change history (recent only) |
|
|
76
|
+
| `tasks` | `false` | Task queues |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Profile Export
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
/wogi-export
|
|
84
|
+
|
|
85
|
+
# Output:
|
|
86
|
+
# 📤 Exporting workflow profile...
|
|
87
|
+
#
|
|
88
|
+
# Profile includes:
|
|
89
|
+
# - config.json settings
|
|
90
|
+
# - decisions.md patterns
|
|
91
|
+
# - app-map.md components
|
|
92
|
+
# - Installed skills
|
|
93
|
+
#
|
|
94
|
+
# Saved to: .workflow/exports/profile-2024-01-15.json
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Export File Structure
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"version": "2.0.0",
|
|
102
|
+
"exportedAt": "2024-01-15T10:30:00Z",
|
|
103
|
+
"exportedBy": "user-id",
|
|
104
|
+
"config": {...},
|
|
105
|
+
"state": {
|
|
106
|
+
"decisions": "...",
|
|
107
|
+
"appMap": "..."
|
|
108
|
+
},
|
|
109
|
+
"skills": ["react", "nestjs"]
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Profile Import
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
/wogi-import
|
|
119
|
+
|
|
120
|
+
# Prompts for:
|
|
121
|
+
# - Profile file path or URL
|
|
122
|
+
# - What to import (all or select)
|
|
123
|
+
# - Conflict resolution preference
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Import Options
|
|
127
|
+
|
|
128
|
+
| Option | Description |
|
|
129
|
+
|--------|-------------|
|
|
130
|
+
| Import all | Full profile replacement |
|
|
131
|
+
| Select items | Choose specific parts |
|
|
132
|
+
| Merge | Combine with existing |
|
|
133
|
+
| Replace | Overwrite existing |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Team Sync (Future)
|
|
138
|
+
|
|
139
|
+
When team backend is available:
|
|
140
|
+
|
|
141
|
+
### Enable Team Mode
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"team": {
|
|
146
|
+
"enabled": true,
|
|
147
|
+
"teamId": "team-123",
|
|
148
|
+
"apiKey": "your-api-key"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Auto-Sync Behavior
|
|
154
|
+
|
|
155
|
+
1. **On Session Start**: Pull latest team changes
|
|
156
|
+
2. **On Session End**: Push local changes
|
|
157
|
+
3. **Continuous**: Sync every 5 minutes (configurable)
|
|
158
|
+
|
|
159
|
+
### Conflict Resolution
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"team": {
|
|
164
|
+
"conflictResolution": "newest-wins"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Options:
|
|
170
|
+
- `newest-wins` - Latest timestamp wins
|
|
171
|
+
- `local-wins` - Prefer local changes
|
|
172
|
+
- `remote-wins` - Prefer team changes
|
|
173
|
+
- `ask` - Prompt for each conflict
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Knowledge Routing
|
|
178
|
+
|
|
179
|
+
Control where learnings go:
|
|
180
|
+
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
"knowledgeRouting": {
|
|
184
|
+
"autoDetect": true,
|
|
185
|
+
"confirmWithUser": true,
|
|
186
|
+
"defaultScope": "local"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Routing Logic
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
New Pattern Learned
|
|
195
|
+
↓
|
|
196
|
+
┌─────────────────────────────────────────┐
|
|
197
|
+
│ Is this project-specific? │
|
|
198
|
+
├─────────────────────────────────────────┤
|
|
199
|
+
│ YES → Save to local decisions.md │
|
|
200
|
+
│ NO → Continue │
|
|
201
|
+
└─────────────────────────────────────────┘
|
|
202
|
+
↓
|
|
203
|
+
┌─────────────────────────────────────────┐
|
|
204
|
+
│ Is this team-applicable? │
|
|
205
|
+
├─────────────────────────────────────────┤
|
|
206
|
+
│ YES → Promote to team (with approval) │
|
|
207
|
+
│ NO → Keep local │
|
|
208
|
+
└─────────────────────────────────────────┘
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Automatic Promotion
|
|
214
|
+
|
|
215
|
+
Share valuable patterns team-wide:
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"automaticPromotion": {
|
|
220
|
+
"enabled": false,
|
|
221
|
+
"threshold": 3, // Uses before promoting
|
|
222
|
+
"minRelevance": 0.8,
|
|
223
|
+
"destinations": ["decisions.md"],
|
|
224
|
+
"requireApproval": true,
|
|
225
|
+
"autoApplyTeamApproved": true
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Promotion Flow
|
|
231
|
+
|
|
232
|
+
1. Pattern used successfully 3+ times
|
|
233
|
+
2. Relevance score > 0.8
|
|
234
|
+
3. Suggest promotion to team
|
|
235
|
+
4. Team admin approves
|
|
236
|
+
5. Pattern synced to all team members
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Manual Setup (No Backend)
|
|
241
|
+
|
|
242
|
+
Without team backend, use file-based sharing:
|
|
243
|
+
|
|
244
|
+
### Share Configuration
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# Export
|
|
248
|
+
/wogi-export
|
|
249
|
+
# Share: .workflow/exports/profile-2024-01-15.json
|
|
250
|
+
|
|
251
|
+
# Import on other machine
|
|
252
|
+
/wogi-import
|
|
253
|
+
# Select exported file
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Share via Git
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Include workflow in repo
|
|
260
|
+
git add .workflow/
|
|
261
|
+
git commit -m "Share workflow config"
|
|
262
|
+
git push
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Team members:
|
|
266
|
+
```bash
|
|
267
|
+
git pull
|
|
268
|
+
# Workflow config now shared
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Multi-Project Setup
|
|
274
|
+
|
|
275
|
+
For multiple projects:
|
|
276
|
+
|
|
277
|
+
### Shared Team Profile
|
|
278
|
+
|
|
279
|
+
```json
|
|
280
|
+
{
|
|
281
|
+
"team": {
|
|
282
|
+
"projectScope": true // Scope to current project
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Cross-Project Knowledge
|
|
288
|
+
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"team": {
|
|
292
|
+
"projectScope": false // Share across all projects
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Commands
|
|
300
|
+
|
|
301
|
+
| Command | Purpose |
|
|
302
|
+
|---------|---------|
|
|
303
|
+
| `/wogi-import` | Import team profile |
|
|
304
|
+
| `/wogi-export` | Export current profile |
|
|
305
|
+
| `/wogi-health` | Check team sync status |
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## Best Practices
|
|
310
|
+
|
|
311
|
+
1. **Export Before Major Changes**: Create backup profile
|
|
312
|
+
2. **Review Imported Config**: Check for conflicts
|
|
313
|
+
3. **Use Project Scope**: Keep project-specific decisions local
|
|
314
|
+
4. **Regular Sync**: Keep team knowledge up-to-date
|
|
315
|
+
5. **Document Team Decisions**: Use decisions.md for patterns
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Troubleshooting
|
|
320
|
+
|
|
321
|
+
### Import Fails
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Check file format
|
|
325
|
+
node -e "JSON.parse(require('fs').readFileSync('profile.json'))"
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Sync Conflicts
|
|
329
|
+
|
|
330
|
+
Check sync status:
|
|
331
|
+
```bash
|
|
332
|
+
/wogi-health
|
|
333
|
+
# Shows sync status and conflicts
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Missing Team Features
|
|
337
|
+
|
|
338
|
+
Team backend is optional. Most features work with file-based sharing.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Related
|
|
343
|
+
|
|
344
|
+
- [Configuration Reference](../configuration/all-options.md)
|
|
345
|
+
- [Self-Improvement](../03-self-improvement/) - Knowledge learning
|
|
346
|
+
- [Memory & Context](../04-memory-context/) - Memory systems
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# Task Planning
|
|
2
|
+
|
|
3
|
+
Before implementation begins, WogiFlow ensures proper planning through task gating, size assessment, and story creation.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Task Gating
|
|
8
|
+
|
|
9
|
+
**The Problem**: AI tends to jump straight into coding without understanding scope, leading to incomplete or over-engineered solutions.
|
|
10
|
+
|
|
11
|
+
**The Solution**: Task gating blocks implementation until a task exists with proper context.
|
|
12
|
+
|
|
13
|
+
### How It Works
|
|
14
|
+
|
|
15
|
+
1. User requests implementation
|
|
16
|
+
2. System checks if task exists in `ready.json`
|
|
17
|
+
3. If no task exists → blocks and asks for story/task creation
|
|
18
|
+
4. If task exists → proceeds with context from acceptance criteria
|
|
19
|
+
|
|
20
|
+
### Configuration
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"enforcement": {
|
|
25
|
+
"strictMode": true, // Master switch
|
|
26
|
+
"requireTaskForImplementation": true, // Require task in ready.json
|
|
27
|
+
"requireStoryForMediumTasks": true, // Medium+ need acceptance criteria
|
|
28
|
+
"requirePatternCitation": false // Require citing decisions.md patterns
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Strict Mode Flow
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
User: "Add a login button"
|
|
37
|
+
↓
|
|
38
|
+
┌─────────────────────────────────────────┐
|
|
39
|
+
│ Is this an implementation request? │
|
|
40
|
+
├─────────────────────────────────────────┤
|
|
41
|
+
│ YES → Check for existing task │
|
|
42
|
+
│ NO → Handle normally (questions, etc.) │
|
|
43
|
+
└─────────────────────────────────────────┘
|
|
44
|
+
↓
|
|
45
|
+
┌─────────────────────────────────────────┐
|
|
46
|
+
│ Does task exist in ready.json? │
|
|
47
|
+
├─────────────────────────────────────────┤
|
|
48
|
+
│ YES → /wogi-start TASK-XXX │
|
|
49
|
+
│ NO → Assess size first │
|
|
50
|
+
└─────────────────────────────────────────┘
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Task Size Assessment
|
|
56
|
+
|
|
57
|
+
Different task sizes require different levels of planning:
|
|
58
|
+
|
|
59
|
+
| Size | Criteria | Planning Required |
|
|
60
|
+
|------|----------|-------------------|
|
|
61
|
+
| **Small** | < 3 files, < 1 hour, obvious scope | Minimal - create task inline |
|
|
62
|
+
| **Medium** | 3-10 files, 1-4 hours, some complexity | Story with acceptance criteria |
|
|
63
|
+
| **Large** | > 10 files, > 4 hours, new feature | Story + decomposition |
|
|
64
|
+
|
|
65
|
+
### Configuration
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"enforcement": {
|
|
70
|
+
"taskSizeThresholds": {
|
|
71
|
+
"small": { "maxFiles": 3, "maxHours": 1 },
|
|
72
|
+
"medium": { "maxFiles": 10, "maxHours": 4 },
|
|
73
|
+
"large": { "minFiles": 10, "minHours": 4 }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Size Assessment Process
|
|
80
|
+
|
|
81
|
+
When a task doesn't exist:
|
|
82
|
+
|
|
83
|
+
1. **Analyze Request**: Extract scope indicators (files mentioned, feature complexity)
|
|
84
|
+
2. **Classify Size**: Map to small/medium/large based on thresholds
|
|
85
|
+
3. **Apply Rules**:
|
|
86
|
+
- Small → Create task inline, proceed
|
|
87
|
+
- Medium → Require story approval first
|
|
88
|
+
- Large → Require story + suggest decomposition
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Story Creation
|
|
93
|
+
|
|
94
|
+
Stories define acceptance criteria that drive the execution loop.
|
|
95
|
+
|
|
96
|
+
### Creating a Story
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
/wogi-story "Add user authentication"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
This generates a structured story:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
# [TASK-015] Add user authentication
|
|
106
|
+
|
|
107
|
+
## User Story
|
|
108
|
+
**As a** user
|
|
109
|
+
**I want** to log in with email and password
|
|
110
|
+
**So that** I can access my personalized dashboard
|
|
111
|
+
|
|
112
|
+
## Acceptance Criteria
|
|
113
|
+
|
|
114
|
+
### Scenario 1: Successful login
|
|
115
|
+
**Given** valid credentials
|
|
116
|
+
**When** user submits login form
|
|
117
|
+
**Then** user is redirected to dashboard
|
|
118
|
+
|
|
119
|
+
### Scenario 2: Invalid credentials
|
|
120
|
+
**Given** invalid email or password
|
|
121
|
+
**When** user submits login form
|
|
122
|
+
**Then** error message is displayed
|
|
123
|
+
|
|
124
|
+
### Scenario 3: Form validation
|
|
125
|
+
**Given** empty fields
|
|
126
|
+
**When** user attempts to submit
|
|
127
|
+
**Then** validation errors are shown
|
|
128
|
+
|
|
129
|
+
## Technical Notes
|
|
130
|
+
- Use existing AuthService from app-map
|
|
131
|
+
- Follow project pattern for form handling (decisions.md)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Story Workflow
|
|
135
|
+
|
|
136
|
+
1. Story is created with proposed acceptance criteria
|
|
137
|
+
2. User reviews and approves (or modifies)
|
|
138
|
+
3. Task is added to `ready.json` with criteria attached
|
|
139
|
+
4. `/wogi-start TASK-XXX` uses criteria to drive loop
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Story Decomposition
|
|
144
|
+
|
|
145
|
+
For complex stories, automatic decomposition breaks them into manageable sub-tasks.
|
|
146
|
+
|
|
147
|
+
### When Decomposition Happens
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"storyDecomposition": {
|
|
152
|
+
"autoDetect": true, // Suggest when beneficial
|
|
153
|
+
"autoDecompose": false, // Require approval (true = automatic)
|
|
154
|
+
"complexityThreshold": "medium", // Trigger on medium+ tasks
|
|
155
|
+
"minSubTasks": 5 // Min subtasks to suggest decomposition
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Decomposition Process
|
|
161
|
+
|
|
162
|
+
1. **Complexity Analysis**: Assess story scope
|
|
163
|
+
2. **Subtask Generation**: Break into granular tasks
|
|
164
|
+
3. **Edge Case Expansion**: Add loading/error state tasks
|
|
165
|
+
4. **Dependency Ordering**: Sequence tasks appropriately
|
|
166
|
+
|
|
167
|
+
### Example Decomposition
|
|
168
|
+
|
|
169
|
+
Original story: "Add user authentication"
|
|
170
|
+
|
|
171
|
+
Decomposed tasks:
|
|
172
|
+
```
|
|
173
|
+
TASK-015-A: Create AuthService with login/logout methods
|
|
174
|
+
TASK-015-B: Create LoginForm component
|
|
175
|
+
TASK-015-C: Add form validation with error states
|
|
176
|
+
TASK-015-D: Handle loading state during auth
|
|
177
|
+
TASK-015-E: Add error handling for failed auth
|
|
178
|
+
TASK-015-F: Integrate with existing routing
|
|
179
|
+
TASK-015-G: Add session persistence
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Configuration Options
|
|
183
|
+
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"storyDecomposition": {
|
|
187
|
+
"autoDetect": true, // Suggest decomposition for complex tasks
|
|
188
|
+
"autoDecompose": false, // false = ask first, true = automatic
|
|
189
|
+
"complexityThreshold": "medium",
|
|
190
|
+
"minSubTasks": 5,
|
|
191
|
+
"edgeCases": true, // Generate edge case tasks
|
|
192
|
+
"loadingStates": true, // Generate loading state tasks
|
|
193
|
+
"errorStates": true // Generate error handling tasks
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Multi-Approach Analysis
|
|
201
|
+
|
|
202
|
+
For complex tasks, analyze multiple implementation approaches before committing.
|
|
203
|
+
|
|
204
|
+
### When to Use
|
|
205
|
+
|
|
206
|
+
- Task has high complexity assessment
|
|
207
|
+
- Multiple valid implementation paths exist
|
|
208
|
+
- Architecture decisions needed
|
|
209
|
+
|
|
210
|
+
### Configuration
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"multiApproach": {
|
|
215
|
+
"enabled": true,
|
|
216
|
+
"mode": "suggest", // "suggest" | "auto" | "off"
|
|
217
|
+
"triggerOn": ["large", "xl"], // Complexity levels
|
|
218
|
+
"maxApproaches": 3,
|
|
219
|
+
"selectionStrategy": "first-passing"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### How It Works
|
|
225
|
+
|
|
226
|
+
1. Task is assessed for complexity
|
|
227
|
+
2. If complex enough, multi-approach analysis is suggested
|
|
228
|
+
3. Multiple implementation strategies are outlined with trade-offs
|
|
229
|
+
4. User selects approach (or accepts recommendation)
|
|
230
|
+
5. Execution proceeds with chosen approach
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Commands
|
|
235
|
+
|
|
236
|
+
| Command | Purpose |
|
|
237
|
+
|---------|---------|
|
|
238
|
+
| `/wogi-story "title"` | Create story with acceptance criteria |
|
|
239
|
+
| `/wogi-story "title" --deep` | Create story with forced decomposition |
|
|
240
|
+
| `/wogi-ready` | Show available tasks |
|
|
241
|
+
| `/wogi-start TASK-XXX` | Start executing a task |
|
|
242
|
+
| `/wogi-deps TASK-XXX` | Show task dependencies |
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Best Practices
|
|
247
|
+
|
|
248
|
+
1. **Always create stories for non-trivial tasks** - The upfront planning saves time
|
|
249
|
+
2. **Review acceptance criteria before starting** - Catch scope issues early
|
|
250
|
+
3. **Use decomposition for features** - Smaller tasks = better results
|
|
251
|
+
4. **Trust the size assessment** - It's tuned for AI task completion patterns
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Related
|
|
256
|
+
|
|
257
|
+
- [Execution Loop](./02-execution-loop.md) - How tasks are executed
|
|
258
|
+
- [Story Writer Agent](../../../agents/story-writer.md) - Story creation guidelines
|
|
259
|
+
- [Configuration Reference](../configuration/all-options.md) - All config options
|