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.
Files changed (121) hide show
  1. package/.claude/commands/wogi-bug.md +43 -0
  2. package/.claude/commands/wogi-bulk.md +144 -0
  3. package/.claude/commands/wogi-changelog.md +36 -0
  4. package/.claude/commands/wogi-compact.md +99 -0
  5. package/.claude/commands/wogi-config.md +50 -0
  6. package/.claude/commands/wogi-context.md +68 -0
  7. package/.claude/commands/wogi-correction.md +73 -0
  8. package/.claude/commands/wogi-debt.md +128 -0
  9. package/.claude/commands/wogi-deps.md +32 -0
  10. package/.claude/commands/wogi-epics.md +145 -0
  11. package/.claude/commands/wogi-export.md +100 -0
  12. package/.claude/commands/wogi-feature.md +149 -0
  13. package/.claude/commands/wogi-guided-edit.md +83 -0
  14. package/.claude/commands/wogi-health.md +43 -0
  15. package/.claude/commands/wogi-help.md +96 -0
  16. package/.claude/commands/wogi-hybrid-edit.md +36 -0
  17. package/.claude/commands/wogi-hybrid-off.md +24 -0
  18. package/.claude/commands/wogi-hybrid-setup.md +79 -0
  19. package/.claude/commands/wogi-hybrid-status.md +45 -0
  20. package/.claude/commands/wogi-hybrid.md +54 -0
  21. package/.claude/commands/wogi-import.md +44 -0
  22. package/.claude/commands/wogi-init.md +618 -0
  23. package/.claude/commands/wogi-log.md +38 -0
  24. package/.claude/commands/wogi-map-add.md +29 -0
  25. package/.claude/commands/wogi-map-check.md +35 -0
  26. package/.claude/commands/wogi-map-index.md +98 -0
  27. package/.claude/commands/wogi-map-scan.md +38 -0
  28. package/.claude/commands/wogi-map-sync.md +91 -0
  29. package/.claude/commands/wogi-map.md +33 -0
  30. package/.claude/commands/wogi-morning.md +65 -0
  31. package/.claude/commands/wogi-onboard.md +99 -0
  32. package/.claude/commands/wogi-plan.md +173 -0
  33. package/.claude/commands/wogi-ready.md +84 -0
  34. package/.claude/commands/wogi-resume.md +95 -0
  35. package/.claude/commands/wogi-review.md +636 -0
  36. package/.claude/commands/wogi-roadmap.md +241 -0
  37. package/.claude/commands/wogi-rules.md +104 -0
  38. package/.claude/commands/wogi-search.md +33 -0
  39. package/.claude/commands/wogi-session-end.md +49 -0
  40. package/.claude/commands/wogi-setup-stack.md +151 -0
  41. package/.claude/commands/wogi-skill-learn.md +66 -0
  42. package/.claude/commands/wogi-skills.md +87 -0
  43. package/.claude/commands/wogi-standup.md +28 -0
  44. package/.claude/commands/wogi-start.md +465 -0
  45. package/.claude/commands/wogi-status.md +41 -0
  46. package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
  47. package/.claude/commands/wogi-story.md +98 -0
  48. package/.claude/commands/wogi-suspend.md +87 -0
  49. package/.claude/commands/wogi-test-browser.md +43 -0
  50. package/.claude/commands/wogi-trace.md +198 -0
  51. package/.claude/docs/architecture.md +37 -0
  52. package/.claude/docs/commands.md +343 -0
  53. package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
  54. package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
  55. package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
  56. package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
  57. package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
  58. package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
  59. package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
  60. package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
  61. package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
  62. package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
  63. package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
  64. package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
  65. package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
  66. package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
  67. package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
  68. package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
  69. package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
  70. package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
  71. package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
  72. package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
  73. package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
  74. package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
  75. package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
  76. package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
  77. package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
  78. package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
  79. package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
  80. package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
  81. package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
  82. package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
  83. package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
  84. package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
  85. package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
  86. package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
  87. package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
  88. package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
  89. package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
  90. package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
  91. package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
  92. package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
  93. package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
  94. package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
  95. package/.claude/docs/knowledge-base/README.md +92 -0
  96. package/.claude/docs/knowledge-base/configuration/README.md +228 -0
  97. package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
  98. package/.claude/docs/knowledge-base/future-features.md +277 -0
  99. package/.claude/docs/stack.md +25 -0
  100. package/.claude/docs/testing.md +71 -0
  101. package/.claude/rules/README.md +60 -0
  102. package/.claude/rules/architecture/component-reuse.md +38 -0
  103. package/.claude/rules/architecture/document-structure.md +76 -0
  104. package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
  105. package/.claude/rules/architecture/model-management.md +35 -0
  106. package/.claude/rules/code-style/naming-conventions.md +55 -0
  107. package/.claude/rules/security/security-patterns.md +116 -0
  108. package/.claude/skills/.gitkeep +0 -0
  109. package/.claude/skills/README.md +131 -0
  110. package/.claude/skills/_template/commands/.gitkeep +0 -0
  111. package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
  112. package/.claude/skills/_template/knowledge/learnings.md +60 -0
  113. package/.claude/skills/_template/knowledge/patterns.md +45 -0
  114. package/.claude/skills/_template/rules/.gitkeep +0 -0
  115. package/.claude/skills/_template/skill.md +99 -0
  116. package/.claude/skills/_template/templates/.gitkeep +0 -0
  117. package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
  118. package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
  119. package/.claude/skills/figma-analyzer/skill.md +236 -0
  120. package/lib/installer.js +59 -19
  121. package/package.json +5 -1
@@ -0,0 +1,417 @@
1
+ # Verification
2
+
3
+ Verification ensures that each acceptance criterion is actually met before marking it complete. This includes auto-inference, quality gates, and specialized testing.
4
+
5
+ ---
6
+
7
+ ## Auto-Inference Verification
8
+
9
+ Auto-inference automatically verifies certain types of criteria without manual confirmation.
10
+
11
+ ### Supported Verifications
12
+
13
+ | Type | Pattern Detected | How Verified |
14
+ |------|-----------------|--------------|
15
+ | **File Exists** | "Create file X" | Check filesystem |
16
+ | **Function Export** | "Export function X from Y" | Parse file content |
17
+ | **Component Exists** | "Component X renders" | Search component directories |
18
+ | **Config Exists** | "Config has X.Y.Z" | Check config.json |
19
+ | **Tests Pass** | "Tests pass" | Run npm test |
20
+ | **Lint Clean** | "No lint errors" | Run linter |
21
+ | **CLI Works** | "Command X works" | Run with --help |
22
+
23
+ ### Configuration
24
+
25
+ ```json
26
+ {
27
+ "loops": {
28
+ "autoInferVerification": true, // Enable auto-inference
29
+ "fallbackToManual": true, // Ask user if can't infer
30
+ "suggestBrowserTests": true // Suggest browser tests for UI
31
+ }
32
+ }
33
+ ```
34
+
35
+ ### How It Works
36
+
37
+ ```
38
+ Criterion: "Create file src/services/AuthService.ts"
39
+
40
+ Pattern Match: "Create file" → File existence check
41
+
42
+ Verification: fs.existsSync('src/services/AuthService.ts')
43
+
44
+ Result: ✓ File exists: src/services/AuthService.ts
45
+ ```
46
+
47
+ ### Verification Results
48
+
49
+ ```
50
+ ✓ File exists: src/services/AuthService.ts (auto-verified)
51
+ ✓ Found "login" in src/services/AuthService.ts (auto-verified)
52
+ ⚠️ Could not auto-verify - manual check required (fallback)
53
+ 🌐 UI criterion detected - browser test recommended
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Quality Gates
59
+
60
+ Quality gates are requirements that must pass before a task can be completed.
61
+
62
+ ### Configuration
63
+
64
+ ```json
65
+ {
66
+ "qualityGates": {
67
+ "feature": {
68
+ "require": ["tests", "appMapUpdate", "requestLogEntry"],
69
+ "optional": ["review", "docs"]
70
+ },
71
+ "bugfix": {
72
+ "require": ["tests", "requestLogEntry"],
73
+ "optional": ["review"]
74
+ },
75
+ "refactor": {
76
+ "require": ["tests", "noNewFeatures"],
77
+ "optional": ["review"]
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Available Gates
84
+
85
+ | Gate | What It Checks |
86
+ |------|----------------|
87
+ | `tests` | npm test passes |
88
+ | `lint` | npm run lint passes (with auto-fix) |
89
+ | `typecheck` | npm run typecheck passes |
90
+ | `appMapUpdate` | New components added to app-map.md |
91
+ | `requestLogEntry` | Task logged in request-log.md |
92
+ | `noNewFeatures` | (Refactor) No new functionality added |
93
+ | `review` | Manual code review completed |
94
+ | `docs` | Documentation updated |
95
+
96
+ ### Gate Execution
97
+
98
+ When running `/wogi-done TASK-XXX`:
99
+
100
+ ```
101
+ Running quality gates...
102
+
103
+ ✓ tests passed
104
+ ✓ lint passed (auto-fixed)
105
+ ✓ typecheck passed
106
+ ✓ requestLogEntry (found in request-log)
107
+ ○ appMapUpdate (verify manually if components created)
108
+
109
+ All gates passed!
110
+ ```
111
+
112
+ ### Failed Gates
113
+
114
+ If a gate fails:
115
+ 1. Error output is captured
116
+ 2. Failure details saved to `.workflow/state/last-failure.json`
117
+ 3. Task completion is blocked
118
+ 4. Fix issues and retry `/wogi-done`
119
+
120
+ ```
121
+ Running quality gates...
122
+
123
+ ✗ tests failed
124
+ Error output:
125
+ FAIL src/services/AuthService.test.ts
126
+ ● login › should return user on success
127
+ Expected: { id: 1 }
128
+ Received: undefined
129
+
130
+ ✗ typecheck failed
131
+ Type errors:
132
+ src/services/AuthService.ts:15:5
133
+ Property 'user' does not exist on type 'Response'
134
+
135
+ Failed gates: tests, typecheck
136
+ Quality gates failed. Fix issues before completing.
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Validation Commands
142
+
143
+ Run validation commands after file edits or before commits.
144
+
145
+ ### Configuration
146
+
147
+ ```json
148
+ {
149
+ "validation": {
150
+ "afterFileEdit": {
151
+ "enabled": true,
152
+ "commands": {
153
+ "*.ts": ["npx tsc --noEmit"],
154
+ "*.tsx": ["npx tsc --noEmit", "npx eslint {file} --fix"],
155
+ "*.js": ["npx eslint {file} --fix"],
156
+ "*.jsx": ["npx eslint {file} --fix"]
157
+ },
158
+ "fixErrorsBeforeContinuing": true
159
+ },
160
+ "afterTaskComplete": {
161
+ "enabled": true,
162
+ "commands": ["npm run lint", "npm run typecheck"]
163
+ },
164
+ "beforeCommit": {
165
+ "enabled": true,
166
+ "commands": ["npm run lint", "npm run typecheck", "npm run test"]
167
+ }
168
+ }
169
+ }
170
+ ```
171
+
172
+ ### When Validation Runs
173
+
174
+ 1. **After File Edit**: Immediately catch type errors
175
+ 2. **After Task Complete**: Full lint/typecheck before commit
176
+ 3. **Before Commit**: Final validation including tests
177
+
178
+ ---
179
+
180
+ ## Regression Testing
181
+
182
+ Test previously completed tasks to ensure new changes don't break them.
183
+
184
+ ### Configuration
185
+
186
+ ```json
187
+ {
188
+ "regressionTesting": {
189
+ "enabled": true,
190
+ "sampleSize": 3, // Test 3 random completed tasks
191
+ "runOnTaskComplete": true, // Run after each task
192
+ "onFailure": "warn" // "warn" | "block" | "fix"
193
+ }
194
+ }
195
+ ```
196
+
197
+ ### How It Works
198
+
199
+ 1. After task completion, randomly select N completed tasks
200
+ 2. Re-verify their acceptance criteria
201
+ 3. If any fail, report according to `onFailure` setting
202
+
203
+ ### Commands
204
+
205
+ ```bash
206
+ # Run regression tests manually
207
+ ./scripts/flow regression
208
+
209
+ # Test all completed tasks
210
+ ./scripts/flow regression --all
211
+ ```
212
+
213
+ ### Failure Handling
214
+
215
+ | Setting | Behavior |
216
+ |---------|----------|
217
+ | `warn` | Show warning, continue |
218
+ | `block` | Block completion until fixed |
219
+ | `fix` | Attempt automatic fix |
220
+
221
+ ---
222
+
223
+ ## Browser Testing
224
+
225
+ For UI tasks, browser testing verifies visual and interactive behavior.
226
+
227
+ ### Configuration
228
+
229
+ ```json
230
+ {
231
+ "browserTesting": {
232
+ "enabled": true,
233
+ "runOnTaskComplete": true, // Suggest after UI tasks
234
+ "runForUITasks": true, // Auto-detect UI tasks
235
+ "autoRun": false, // Require manual trigger
236
+ "timeout": 30000,
237
+ "screenshotOnFailure": true
238
+ }
239
+ }
240
+ ```
241
+
242
+ ### Test Flow Definition
243
+
244
+ Create test flows in `.workflow/tests/flows/`:
245
+
246
+ ```yaml
247
+ # login.yaml
248
+ name: Login Flow
249
+ steps:
250
+ - navigate: /login
251
+ - fill:
252
+ selector: "#email"
253
+ value: "test@example.com"
254
+ - fill:
255
+ selector: "#password"
256
+ value: "password123"
257
+ - click: "#submit-btn"
258
+ - waitFor: ".dashboard"
259
+ - assert:
260
+ selector: ".welcome-message"
261
+ contains: "Welcome"
262
+ ```
263
+
264
+ ### Running Browser Tests
265
+
266
+ ```bash
267
+ # Run specific flow
268
+ /wogi-test-browser login
269
+
270
+ # Run all flows
271
+ /wogi-test-browser --all
272
+ ```
273
+
274
+ ### When Browser Tests Are Suggested
275
+
276
+ After completing tasks that modify:
277
+ - `.tsx` or `.jsx` files
278
+ - Files in `src/components/`, `src/pages/`, etc.
279
+ - CSS/SCSS files
280
+
281
+ ```
282
+ ✓ Completed: TASK-015
283
+
284
+ 🌐 Browser tests available:
285
+ - login-flow
286
+ - registration-flow
287
+ Run: /wogi-test-browser login-flow
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Pattern Enforcement
293
+
294
+ Ensure code follows patterns defined in `decisions.md`.
295
+
296
+ ### Configuration
297
+
298
+ ```json
299
+ {
300
+ "enforcement": {
301
+ "requirePatternCitation": false, // Require citing patterns
302
+ "citationFormat": "// Pattern: {pattern}"
303
+ }
304
+ }
305
+ ```
306
+
307
+ ### How It Works
308
+
309
+ When `requirePatternCitation` is enabled:
310
+ 1. Read patterns from `decisions.md`
311
+ 2. Check if new code follows known patterns
312
+ 3. Require citation in code comments
313
+ 4. Warn on anti-pattern usage
314
+
315
+ ### Example
316
+
317
+ ```typescript
318
+ // Pattern: API calls use axios wrapper from src/lib/api
319
+ import { api } from '@/lib/api';
320
+
321
+ // Pattern: Error boundaries wrap page components
322
+ export default function LoginPage() {
323
+ return (
324
+ <ErrorBoundary>
325
+ <LoginForm />
326
+ </ErrorBoundary>
327
+ );
328
+ }
329
+ ```
330
+
331
+ ---
332
+
333
+ ## Security Scanning
334
+
335
+ Pre-commit security checks prevent vulnerabilities.
336
+
337
+ ### Configuration
338
+
339
+ ```json
340
+ {
341
+ "security": {
342
+ "scanBeforeCommit": true,
343
+ "blockOnHigh": true,
344
+ "checkPatterns": {
345
+ "secrets": true, // Check for API keys, passwords
346
+ "injection": true, // Check for SQL/XSS injection
347
+ "npmAudit": true // Run npm audit
348
+ },
349
+ "ignoreFiles": ["*.test.ts", "*.spec.ts"]
350
+ }
351
+ }
352
+ ```
353
+
354
+ ### What's Checked
355
+
356
+ 1. **Secrets Detection**: API keys, passwords, tokens in code
357
+ 2. **Injection Patterns**: SQL injection, XSS vulnerabilities
358
+ 3. **NPM Audit**: Known vulnerabilities in dependencies
359
+
360
+ ### Scan Results
361
+
362
+ ```
363
+ Security scan results:
364
+
365
+ ⚠️ Potential secret detected:
366
+ src/config.ts:15
367
+ const API_KEY = "sk-..."
368
+
369
+ ✓ No injection patterns found
370
+ ✓ npm audit: 0 vulnerabilities
371
+
372
+ Block commit? Yes (blockOnHigh: true)
373
+ ```
374
+
375
+ ---
376
+
377
+ ## Verification Flow Summary
378
+
379
+ ```
380
+ Task Completion Attempt
381
+
382
+ ┌────────────────────────────────────────────┐
383
+ │ 1. Auto-Infer Acceptance Criteria │
384
+ │ - File exists? Function exports? etc. │
385
+ ├────────────────────────────────────────────┤
386
+ │ 2. Run Quality Gates │
387
+ │ - tests, lint, typecheck │
388
+ ├────────────────────────────────────────────┤
389
+ │ 3. Run Regression Tests (if enabled) │
390
+ │ - Sample completed tasks │
391
+ ├────────────────────────────────────────────┤
392
+ │ 4. Suggest Browser Tests (if UI task) │
393
+ ├────────────────────────────────────────────┤
394
+ │ 5. Security Scan (if enabled) │
395
+ └────────────────────────────────────────────┘
396
+
397
+ All passed? → Complete task
398
+ Any failed? → Block and report
399
+ ```
400
+
401
+ ---
402
+
403
+ ## Best Practices
404
+
405
+ 1. **Enable auto-inference** - Saves time on obvious checks
406
+ 2. **Configure gates per task type** - Features need more than bugfixes
407
+ 3. **Use regression testing** - Catch breakages early
408
+ 4. **Write browser test flows** - Cover critical user journeys
409
+ 5. **Enable security scanning** - Catch vulnerabilities before commit
410
+
411
+ ---
412
+
413
+ ## Related
414
+
415
+ - [Execution Loop](./02-execution-loop.md) - How verification fits in the loop
416
+ - [Completion](./04-completion.md) - What happens after verification
417
+ - [Safety & Guardrails](../06-safety-guardrails/) - More on security