wogiflow 1.0.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/.workflow/agents/reviewer.md +81 -0
- package/.workflow/agents/security.md +94 -0
- package/.workflow/agents/story-writer.md +58 -0
- package/.workflow/bridges/base-bridge.js +395 -0
- package/.workflow/bridges/claude-bridge.js +434 -0
- package/.workflow/bridges/index.js +130 -0
- package/.workflow/lib/assumption-detector.js +481 -0
- package/.workflow/lib/config-substitution.js +371 -0
- package/.workflow/lib/failure-categories.js +478 -0
- package/.workflow/state/app-map.md.template +15 -0
- package/.workflow/state/architecture.md.template +24 -0
- package/.workflow/state/component-index.json.template +5 -0
- package/.workflow/state/decisions.md.template +15 -0
- package/.workflow/state/feedback-patterns.md.template +9 -0
- package/.workflow/state/knowledge-sync.json.template +6 -0
- package/.workflow/state/progress.md.template +14 -0
- package/.workflow/state/ready.json.template +7 -0
- package/.workflow/state/request-log.md.template +14 -0
- package/.workflow/state/session-state.json.template +11 -0
- package/.workflow/state/stack.md.template +33 -0
- package/.workflow/state/testing.md.template +36 -0
- package/.workflow/templates/claude-md.hbs +257 -0
- package/.workflow/templates/correction-report.md +67 -0
- package/.workflow/templates/gemini-md.hbs +52 -0
- package/README.md +1802 -0
- package/bin/flow +205 -0
- package/lib/index.js +33 -0
- package/lib/installer.js +467 -0
- package/lib/release-channel.js +269 -0
- package/lib/skill-registry.js +526 -0
- package/lib/upgrader.js +401 -0
- package/lib/utils.js +305 -0
- package/package.json +64 -0
- package/scripts/flow +985 -0
- package/scripts/flow-adaptive-learning.js +1259 -0
- package/scripts/flow-aggregate.js +488 -0
- package/scripts/flow-archive +133 -0
- package/scripts/flow-auto-context.js +1015 -0
- package/scripts/flow-auto-learn.js +615 -0
- package/scripts/flow-bridge.js +223 -0
- package/scripts/flow-browser-suggest.js +316 -0
- package/scripts/flow-bug.js +247 -0
- package/scripts/flow-cascade.js +711 -0
- package/scripts/flow-changelog +85 -0
- package/scripts/flow-checkpoint.js +483 -0
- package/scripts/flow-cli.js +403 -0
- package/scripts/flow-code-intelligence.js +760 -0
- package/scripts/flow-complexity.js +502 -0
- package/scripts/flow-config-set.js +152 -0
- package/scripts/flow-constants.js +157 -0
- package/scripts/flow-context +152 -0
- package/scripts/flow-context-init.js +482 -0
- package/scripts/flow-context-monitor.js +384 -0
- package/scripts/flow-context-scoring.js +886 -0
- package/scripts/flow-correct.js +458 -0
- package/scripts/flow-damage-control.js +985 -0
- package/scripts/flow-deps +101 -0
- package/scripts/flow-diff.js +700 -0
- package/scripts/flow-done +151 -0
- package/scripts/flow-done.js +489 -0
- package/scripts/flow-durable-session.js +1541 -0
- package/scripts/flow-entropy-monitor.js +345 -0
- package/scripts/flow-export-profile +349 -0
- package/scripts/flow-export-scanner.js +1046 -0
- package/scripts/flow-figma-confirm.js +400 -0
- package/scripts/flow-figma-extract.js +496 -0
- package/scripts/flow-figma-generate.js +683 -0
- package/scripts/flow-figma-index.js +909 -0
- package/scripts/flow-figma-match.js +617 -0
- package/scripts/flow-figma-mcp-server.js +518 -0
- package/scripts/flow-figma-pipeline.js +414 -0
- package/scripts/flow-file-ops.js +301 -0
- package/scripts/flow-gate-confidence.js +825 -0
- package/scripts/flow-guided-edit.js +659 -0
- package/scripts/flow-health +185 -0
- package/scripts/flow-health.js +413 -0
- package/scripts/flow-hooks.js +556 -0
- package/scripts/flow-http-client.js +249 -0
- package/scripts/flow-hybrid-detect.js +167 -0
- package/scripts/flow-hybrid-interactive.js +591 -0
- package/scripts/flow-hybrid-test.js +152 -0
- package/scripts/flow-import-profile +439 -0
- package/scripts/flow-init +253 -0
- package/scripts/flow-instruction-richness.js +827 -0
- package/scripts/flow-jira-integration.js +579 -0
- package/scripts/flow-knowledge-router.js +522 -0
- package/scripts/flow-knowledge-sync.js +589 -0
- package/scripts/flow-linear-integration.js +631 -0
- package/scripts/flow-links.js +774 -0
- package/scripts/flow-log-manager.js +559 -0
- package/scripts/flow-loop-enforcer.js +1246 -0
- package/scripts/flow-loop-retry-learning.js +630 -0
- package/scripts/flow-lsp.js +923 -0
- package/scripts/flow-map-index +348 -0
- package/scripts/flow-map-sync +201 -0
- package/scripts/flow-memory-blocks.js +668 -0
- package/scripts/flow-memory-compactor.js +350 -0
- package/scripts/flow-memory-db.js +1110 -0
- package/scripts/flow-memory-sync.js +484 -0
- package/scripts/flow-metrics.js +353 -0
- package/scripts/flow-migrate-ids.js +370 -0
- package/scripts/flow-model-adapter.js +802 -0
- package/scripts/flow-model-router.js +884 -0
- package/scripts/flow-models.js +1231 -0
- package/scripts/flow-morning.js +517 -0
- package/scripts/flow-multi-approach.js +660 -0
- package/scripts/flow-new-feature +86 -0
- package/scripts/flow-onboard +1042 -0
- package/scripts/flow-orchestrate-llm.js +459 -0
- package/scripts/flow-orchestrate.js +3592 -0
- package/scripts/flow-output.js +123 -0
- package/scripts/flow-parallel-detector.js +399 -0
- package/scripts/flow-parallel-dispatch.js +987 -0
- package/scripts/flow-parallel.js +428 -0
- package/scripts/flow-pattern-enforcer.js +600 -0
- package/scripts/flow-prd-manager.js +282 -0
- package/scripts/flow-progress.js +323 -0
- package/scripts/flow-project-analyzer.js +975 -0
- package/scripts/flow-prompt-composer.js +487 -0
- package/scripts/flow-providers.js +1381 -0
- package/scripts/flow-queue.js +308 -0
- package/scripts/flow-ready +82 -0
- package/scripts/flow-ready.js +189 -0
- package/scripts/flow-regression.js +396 -0
- package/scripts/flow-response-parser.js +450 -0
- package/scripts/flow-resume.js +284 -0
- package/scripts/flow-rules-sync.js +439 -0
- package/scripts/flow-run-trace.js +718 -0
- package/scripts/flow-safety.js +587 -0
- package/scripts/flow-search +104 -0
- package/scripts/flow-security.js +481 -0
- package/scripts/flow-session-end +106 -0
- package/scripts/flow-session-end.js +437 -0
- package/scripts/flow-session-state.js +671 -0
- package/scripts/flow-setup-hooks +216 -0
- package/scripts/flow-setup-hooks.js +377 -0
- package/scripts/flow-skill-create.js +329 -0
- package/scripts/flow-skill-creator.js +572 -0
- package/scripts/flow-skill-generator.js +1046 -0
- package/scripts/flow-skill-learn.js +880 -0
- package/scripts/flow-skill-matcher.js +578 -0
- package/scripts/flow-spec-generator.js +820 -0
- package/scripts/flow-stack-wizard.js +895 -0
- package/scripts/flow-standup +162 -0
- package/scripts/flow-start +74 -0
- package/scripts/flow-start.js +235 -0
- package/scripts/flow-status +110 -0
- package/scripts/flow-status.js +301 -0
- package/scripts/flow-step-browser.js +83 -0
- package/scripts/flow-step-changelog.js +217 -0
- package/scripts/flow-step-comments.js +306 -0
- package/scripts/flow-step-complexity.js +234 -0
- package/scripts/flow-step-coverage.js +218 -0
- package/scripts/flow-step-knowledge.js +193 -0
- package/scripts/flow-step-pr-tests.js +364 -0
- package/scripts/flow-step-regression.js +89 -0
- package/scripts/flow-step-review.js +516 -0
- package/scripts/flow-step-security.js +162 -0
- package/scripts/flow-step-silent-failures.js +290 -0
- package/scripts/flow-step-simplifier.js +346 -0
- package/scripts/flow-story +105 -0
- package/scripts/flow-story.js +500 -0
- package/scripts/flow-suspend.js +252 -0
- package/scripts/flow-sync-daemon.js +654 -0
- package/scripts/flow-task-analyzer.js +606 -0
- package/scripts/flow-team-dashboard.js +748 -0
- package/scripts/flow-team-sync.js +752 -0
- package/scripts/flow-team.js +977 -0
- package/scripts/flow-tech-options.js +528 -0
- package/scripts/flow-templates.js +812 -0
- package/scripts/flow-tiered-learning.js +728 -0
- package/scripts/flow-trace +204 -0
- package/scripts/flow-transcript-chunking.js +1106 -0
- package/scripts/flow-transcript-digest.js +7918 -0
- package/scripts/flow-transcript-language.js +465 -0
- package/scripts/flow-transcript-parsing.js +1085 -0
- package/scripts/flow-transcript-stories.js +2194 -0
- package/scripts/flow-update-map +224 -0
- package/scripts/flow-utils.js +2242 -0
- package/scripts/flow-verification.js +644 -0
- package/scripts/flow-verify.js +1177 -0
- package/scripts/flow-voice-input.js +638 -0
- package/scripts/flow-watch +168 -0
- package/scripts/flow-workflow-steps.js +521 -0
- package/scripts/flow-workflow.js +1029 -0
- package/scripts/flow-worktree.js +489 -0
- package/scripts/hooks/adapters/base-adapter.js +102 -0
- package/scripts/hooks/adapters/claude-code.js +359 -0
- package/scripts/hooks/adapters/index.js +79 -0
- package/scripts/hooks/core/component-check.js +341 -0
- package/scripts/hooks/core/index.js +35 -0
- package/scripts/hooks/core/loop-check.js +241 -0
- package/scripts/hooks/core/session-context.js +294 -0
- package/scripts/hooks/core/task-gate.js +177 -0
- package/scripts/hooks/core/validation.js +230 -0
- package/scripts/hooks/entry/claude-code/post-tool-use.js +65 -0
- package/scripts/hooks/entry/claude-code/pre-tool-use.js +89 -0
- package/scripts/hooks/entry/claude-code/session-end.js +87 -0
- package/scripts/hooks/entry/claude-code/session-start.js +46 -0
- package/scripts/hooks/entry/claude-code/stop.js +43 -0
- package/scripts/postinstall.js +139 -0
- package/templates/browser-test-flow.json +56 -0
- package/templates/bug-report.md +43 -0
- package/templates/component-detail.md +42 -0
- package/templates/component.stories.tsx +49 -0
- package/templates/context/constraints.md +83 -0
- package/templates/context/conventions.md +177 -0
- package/templates/context/stack.md +60 -0
- package/templates/correction-report.md +90 -0
- package/templates/feature-proposal.md +35 -0
- package/templates/hybrid/_base.md +254 -0
- package/templates/hybrid/_patterns.md +45 -0
- package/templates/hybrid/create-component.md +127 -0
- package/templates/hybrid/create-file.md +56 -0
- package/templates/hybrid/create-hook.md +145 -0
- package/templates/hybrid/create-service.md +70 -0
- package/templates/hybrid/fix-bug.md +33 -0
- package/templates/hybrid/modify-file.md +55 -0
- package/templates/story.md +68 -0
- package/templates/task.json +56 -0
- package/templates/trace.md +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,1802 @@
|
|
|
1
|
+
# WogiFlow v1.0.0
|
|
2
|
+
|
|
3
|
+
A self-improving AI development workflow that learns from your feedback and accumulates knowledge over time.
|
|
4
|
+
|
|
5
|
+
## Key Features
|
|
6
|
+
|
|
7
|
+
| Feature | Description |
|
|
8
|
+
| ------------------------- | ------------------------------------------------------------------------------------------- |
|
|
9
|
+
| **Pattern Enforcement** | Active pattern injection from decisions.md/app-map.md into prompts with citation validation |
|
|
10
|
+
| **Loop Enforcement** | Blocks task exit until all acceptance criteria pass - no incomplete work |
|
|
11
|
+
| **Parallel Auto-Detect** | Automatically detects and suggests parallel task execution |
|
|
12
|
+
| **Skill Auto-Creation** | Detects frameworks and generates skills from official documentation |
|
|
13
|
+
| **Project-Based Sync** | Team sync at project scope - decisions.md, app-map.md, skills shared across team |
|
|
14
|
+
| **Voice Input** | Voice-to-transcript support with local Whisper or cloud APIs (OpenAI, Groq) |
|
|
15
|
+
| **Safety Guardrails** | Bounded execution with file/command permissions and checkpoint intervals |
|
|
16
|
+
| **Damage Control** | Prevents destructive commands (rm -rf, DROP DATABASE) with pattern-based blocking |
|
|
17
|
+
| **Verification Gates** | Structured gate results with auto-feed stderr for LLM self-healing |
|
|
18
|
+
| **Execution Traces** | JSONL event logging with artifact timeline for full run history |
|
|
19
|
+
| **Diff-First Output** | Preview changes before applying - unified diff with colored terminal display |
|
|
20
|
+
| **Cloud Providers** | Unified interface for Anthropic, OpenAI, Ollama, and LM Studio |
|
|
21
|
+
| **Declarative Workflows** | YAML-based workflows with conditional routing and bounded loops |
|
|
22
|
+
| **Figma Analyzer** | Match Figma designs against existing components - reuse before recreating |
|
|
23
|
+
| **Continual Learning** | Skills automatically capture learnings from every session - knowledge persists and improves |
|
|
24
|
+
| **Hybrid Mode** | Claude plans, local/cloud LLM executes - save 20-60% tokens |
|
|
25
|
+
| **Self-Completing Tasks** | `/wogi-start` runs until truly done - no manual completion needed |
|
|
26
|
+
| **Ad-Hoc Task Handling** | Ad-hoc requests get the same rigor as structured tasks (clarify → execute → verify) |
|
|
27
|
+
| **Component Registry** | Tracks all components to prevent duplication |
|
|
28
|
+
| **Code Traces** | Task-focused flow documentation with diagrams |
|
|
29
|
+
| **Quality Gates** | Configurable mandatory steps per task type |
|
|
30
|
+
| **Skills System** | Modular add-ons for specific tech stacks with accumulated knowledge |
|
|
31
|
+
| **Profile Sharing** | Export refined workflows for your team |
|
|
32
|
+
| **Team Backend** | AWS-powered team sync: shared memory, proposals, activity logging |
|
|
33
|
+
| **Durable Sessions** | Crash recovery - resume interrupted tasks with full context |
|
|
34
|
+
| **Suspend/Resume** | Pause tasks for external blockers with automatic resumption |
|
|
35
|
+
| **Morning Briefing** | Context restoration at session start with recommended tasks |
|
|
36
|
+
| **Regression Testing** | Sample-based testing of completed tasks after new changes |
|
|
37
|
+
| **Story Decomposition** | Auto-decompose complex stories into granular sub-tasks |
|
|
38
|
+
| **Model Adapters** | Per-model learning captures quirks and optimizes prompts |
|
|
39
|
+
| **Context Monitor** | Tracks context window usage with warnings at 70%/85% |
|
|
40
|
+
| **Guided Edit Mode** | Step-by-step multi-file editing with session persistence |
|
|
41
|
+
| **Smart Rule Loading** | Rules with `alwaysApply: false` loaded only when relevant to task context |
|
|
42
|
+
| **Session Review** | Comprehensive code review using 3 parallel agents (code, security, architecture) |
|
|
43
|
+
| **Component Index Freshness** | Auto-refresh on session start, post-task, and pre-commit with configurable staleness |
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
**Comprehensive documentation is available in the [Knowledge Base](.claude/docs/knowledge-base/README.md):**
|
|
48
|
+
|
|
49
|
+
| Category | Description |
|
|
50
|
+
|----------|-------------|
|
|
51
|
+
| [Setup & Onboarding](.claude/docs/knowledge-base/01-setup-onboarding/) | Installation, onboarding, component indexing |
|
|
52
|
+
| [Task Execution](.claude/docs/knowledge-base/02-task-execution/) | The execution pipeline with trade-offs |
|
|
53
|
+
| [Self-Improvement](.claude/docs/knowledge-base/03-self-improvement/) | How wogi-flow learns and improves |
|
|
54
|
+
| [Memory & Context](.claude/docs/knowledge-base/04-memory-context/) | Context management and session persistence |
|
|
55
|
+
| [Development Tools](.claude/docs/knowledge-base/05-development-tools/) | Figma, traces, voice, MCP integrations |
|
|
56
|
+
| [Safety & Guardrails](.claude/docs/knowledge-base/06-safety-guardrails/) | Protection and recovery systems |
|
|
57
|
+
| [Configuration Reference](.claude/docs/knowledge-base/configuration/all-options.md) | All 200+ configuration options |
|
|
58
|
+
|
|
59
|
+
## Quick Start
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Install
|
|
63
|
+
curl -fsSL https://raw.githubusercontent.com/Wogi-Git/wogi-flow/main/install.sh | bash
|
|
64
|
+
|
|
65
|
+
# Setup
|
|
66
|
+
./scripts/flow install
|
|
67
|
+
|
|
68
|
+
# Or quick setup with defaults
|
|
69
|
+
./scripts/flow install --quick my-project
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
For existing projects:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
./scripts/flow onboard
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Developer Workflow
|
|
79
|
+
|
|
80
|
+
Daily commands for working with WogiFlow. Start with `/wogi-ready` to see tasks, use `/wogi-start` to begin work, and `/wogi-session-end` to save progress.
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
# Session Init
|
|
84
|
+
/wogi-ready # Show available tasks
|
|
85
|
+
/wogi-status # Project overview
|
|
86
|
+
/wogi-context TASK-012 # Load task context
|
|
87
|
+
|
|
88
|
+
# Execution
|
|
89
|
+
/wogi-start TASK-012 # Start working on task (self-completing)
|
|
90
|
+
|
|
91
|
+
# Backlog Management
|
|
92
|
+
/wogi-story "Add user avatar" # Create task with acceptance criteria
|
|
93
|
+
/wogi-bug "Login fails" # Report a bug
|
|
94
|
+
/wogi-feature user-settings # Create feature with subtasks
|
|
95
|
+
|
|
96
|
+
# Pre-implementation Check
|
|
97
|
+
/wogi-map # Check existing components
|
|
98
|
+
/wogi-trace "auth flow" # Analyze code flow
|
|
99
|
+
/wogi-deps TASK-015 # Show task dependencies
|
|
100
|
+
|
|
101
|
+
# Session Checkpoint
|
|
102
|
+
/wogi-session-end # Save progress and commit
|
|
103
|
+
/wogi-session-review # Comprehensive code review (3 parallel agents)
|
|
104
|
+
|
|
105
|
+
# Context Management (Critical)
|
|
106
|
+
/compact # Free up context (built-in, use after 2-3 tasks)
|
|
107
|
+
|
|
108
|
+
# Utilities
|
|
109
|
+
/wogi-health # Check workflow integrity
|
|
110
|
+
/wogi-search "#tag" # Search request-log
|
|
111
|
+
/wogi-skills # List installed skills
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Table of Contents
|
|
115
|
+
|
|
116
|
+
- [Pattern Enforcement (New in v1.8)](#pattern-enforcement-new-in-v18)
|
|
117
|
+
- [Loop Enforcement (New in v1.8)](#loop-enforcement-new-in-v18)
|
|
118
|
+
- [Parallel Auto-Detection (New in v1.8)](#parallel-auto-detection-new-in-v18)
|
|
119
|
+
- [Skill Auto-Creation (New in v1.8)](#skill-auto-creation-new-in-v18)
|
|
120
|
+
- [Project-Based Team Sync (New in v1.8)](#project-based-team-sync-new-in-v18)
|
|
121
|
+
- [Voice Input (New in v1.8)](#voice-input-new-in-v18)
|
|
122
|
+
- [Damage Control](#damage-control)
|
|
123
|
+
- [Safety & Verification](#safety--verification)
|
|
124
|
+
- [Execution Traces & Checkpoints](#execution-traces--checkpoints)
|
|
125
|
+
- [Diff-First Output](#diff-first-output)
|
|
126
|
+
- [Cloud Model Providers](#cloud-model-providers)
|
|
127
|
+
- [Declarative Workflows](#declarative-workflows)
|
|
128
|
+
- [External Context Protocol](#external-context-protocol)
|
|
129
|
+
- [Figma Component Analyzer](#figma-component-analyzer)
|
|
130
|
+
- [Continual Learning Skills](#continual-learning-skills)
|
|
131
|
+
- [Hybrid Mode](#hybrid-mode)
|
|
132
|
+
- [Self-Completing Tasks](#self-completing-tasks)
|
|
133
|
+
- [Task Management](#task-management)
|
|
134
|
+
- [Component Registry](#component-registry)
|
|
135
|
+
- [Code Traces](#code-traces)
|
|
136
|
+
- [Guided Edit Mode](#guided-edit-mode)
|
|
137
|
+
- [Skills System](#skills-system)
|
|
138
|
+
- [Team Backend](#team-backend)
|
|
139
|
+
- [Configuration](#configuration)
|
|
140
|
+
- [CLI Reference](#cli-reference)
|
|
141
|
+
- [Slash Commands](#slash-commands)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Pattern Enforcement (New in v1.8)
|
|
146
|
+
|
|
147
|
+
Active pattern injection ensures the AI uses your established patterns from `decisions.md` and `app-map.md`.
|
|
148
|
+
|
|
149
|
+
### How It Works
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
┌─────────────┐ ┌─────────────────┐ ┌─────────────┐
|
|
153
|
+
│ decisions.md│ ──▶ │ Extract Patterns│ ──▶ │ Inject to │
|
|
154
|
+
│ app-map.md │ │ & Components │ │ Prompt │
|
|
155
|
+
└─────────────┘ └─────────────────┘ └─────────────┘
|
|
156
|
+
│
|
|
157
|
+
▼
|
|
158
|
+
┌─────────────┐
|
|
159
|
+
│ Validate │
|
|
160
|
+
│ Citations │
|
|
161
|
+
└─────────────┘
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Configuration
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"enforcement": {
|
|
169
|
+
"requirePatternCitation": true,
|
|
170
|
+
"citationFormat": "// Pattern: {pattern}"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Commands
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
./scripts/flow pattern status # Show active patterns
|
|
179
|
+
./scripts/flow pattern inject # Preview injected context
|
|
180
|
+
./scripts/flow pattern validate # Check citation compliance
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
When enabled, the AI must cite patterns from `decisions.md` when applying them:
|
|
184
|
+
|
|
185
|
+
```javascript
|
|
186
|
+
// Pattern: Helper functions in src/utils/helpers/
|
|
187
|
+
export function formatDate(date) { ... }
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Loop Enforcement (New in v1.8)
|
|
193
|
+
|
|
194
|
+
Prevents exiting tasks until all acceptance criteria pass - ensures no incomplete work.
|
|
195
|
+
|
|
196
|
+
### How It Works
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
200
|
+
│ Start │ ──▶ │ Acceptance │ ──▶ │ Verify │
|
|
201
|
+
│ Task │ │ Criteria │ │ Each │
|
|
202
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
203
|
+
│
|
|
204
|
+
┌────────────────────┼────────────────────┐
|
|
205
|
+
▼ ▼ ▼
|
|
206
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
207
|
+
│ ✅ Pass │ │ ❌ Fail │ │ ⏭ Skip │
|
|
208
|
+
│ → Next │ │ → Retry │ │→ Approval│
|
|
209
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Features
|
|
213
|
+
|
|
214
|
+
| Feature | Description |
|
|
215
|
+
|---------|-------------|
|
|
216
|
+
| **requireVerification** | Must verify each criterion before marking complete |
|
|
217
|
+
| **blockOnSkip** | Cannot skip criteria without explicit approval |
|
|
218
|
+
| **blockExitUntilComplete** | Cannot exit loop until all criteria pass or max retries |
|
|
219
|
+
| **maxIterations** | Safety limit to prevent infinite loops |
|
|
220
|
+
|
|
221
|
+
### Configuration
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"loops": {
|
|
226
|
+
"enabled": true,
|
|
227
|
+
"enforced": true,
|
|
228
|
+
"requireVerification": true,
|
|
229
|
+
"blockOnSkip": true,
|
|
230
|
+
"blockExitUntilComplete": true,
|
|
231
|
+
"maxRetries": 5,
|
|
232
|
+
"maxIterations": 20
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Commands
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
./scripts/flow loop status # Show active loop session
|
|
241
|
+
./scripts/flow loop stats # Show loop statistics
|
|
242
|
+
./scripts/flow loop can-exit # Check if exit is allowed
|
|
243
|
+
./scripts/flow loop enable # Enable enforcement
|
|
244
|
+
./scripts/flow loop disable # Disable enforcement
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Parallel Auto-Detection (New in v1.8)
|
|
250
|
+
|
|
251
|
+
Automatically detects when tasks can run in parallel and suggests optimal execution.
|
|
252
|
+
|
|
253
|
+
### How It Works
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
257
|
+
│ Tasks │ ──▶ │ Analyze │ ──▶ │ Suggest │
|
|
258
|
+
│ Queue │ │Dependencies │ │ Parallel │
|
|
259
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
260
|
+
│
|
|
261
|
+
┌──────────┴──────────┐
|
|
262
|
+
▼ ▼
|
|
263
|
+
┌──────────┐ ┌──────────┐
|
|
264
|
+
│ Execute │ │ User │
|
|
265
|
+
│Parallel │ │ Approval │
|
|
266
|
+
└──────────┘ └──────────┘
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Features
|
|
270
|
+
|
|
271
|
+
| Feature | Description |
|
|
272
|
+
|---------|-------------|
|
|
273
|
+
| **autoDetect** | Automatically analyze tasks for parallel potential |
|
|
274
|
+
| **autoSuggest** | Show recommendation when parallel execution is possible |
|
|
275
|
+
| **autoExecute** | Execute in parallel automatically (no approval needed) |
|
|
276
|
+
| **minTasksForParallel** | Minimum task count to trigger detection |
|
|
277
|
+
|
|
278
|
+
### Configuration
|
|
279
|
+
|
|
280
|
+
```json
|
|
281
|
+
{
|
|
282
|
+
"parallel": {
|
|
283
|
+
"enabled": true,
|
|
284
|
+
"autoDetect": true,
|
|
285
|
+
"autoSuggest": true,
|
|
286
|
+
"autoExecute": false,
|
|
287
|
+
"minTasksForParallel": 2,
|
|
288
|
+
"maxConcurrent": 3
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Commands
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
./scripts/flow parallel analyze # Analyze pending tasks
|
|
297
|
+
./scripts/flow parallel suggest # Check if suggestion is available
|
|
298
|
+
./scripts/flow parallel config # Show configuration
|
|
299
|
+
./scripts/flow parallel enable # Enable parallel execution
|
|
300
|
+
./scripts/flow parallel disable # Disable parallel execution
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Example Output
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
╔══════════════════════════════════════════════════════╗
|
|
307
|
+
║ 🔀 PARALLEL EXECUTION AVAILABLE ║
|
|
308
|
+
╠══════════════════════════════════════════════════════╣
|
|
309
|
+
║ 3 of 5 tasks can run in parallel ║
|
|
310
|
+
║ Estimated time savings: ~60% ║
|
|
311
|
+
╠══════════════════════════════════════════════════════╣
|
|
312
|
+
║ Parallelizable tasks: ║
|
|
313
|
+
║ • TASK-012: Add forgot password link ║
|
|
314
|
+
║ • TASK-015: User profile page ║
|
|
315
|
+
║ • TASK-018: Settings modal ║
|
|
316
|
+
╚══════════════════════════════════════════════════════╝
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Skill Auto-Creation (New in v1.8)
|
|
322
|
+
|
|
323
|
+
Automatically detects frameworks in your project and generates skills from official documentation.
|
|
324
|
+
|
|
325
|
+
### How It Works
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
329
|
+
│ package.json│ ──▶ │ Detect │ ──▶ │ Fetch │
|
|
330
|
+
│ + Files │ │ Frameworks │ │ Official Doc│
|
|
331
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
332
|
+
│
|
|
333
|
+
▼
|
|
334
|
+
┌──────────┐
|
|
335
|
+
│ Generate │
|
|
336
|
+
│ Skill │
|
|
337
|
+
└──────────┘
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Detected Frameworks
|
|
341
|
+
|
|
342
|
+
| Framework | Detection Patterns |
|
|
343
|
+
|-----------|-------------------|
|
|
344
|
+
| NestJS | `*.module.ts`, `*.controller.ts`, `@nestjs/*` |
|
|
345
|
+
| React | `*.tsx`, `*.jsx`, `use*.ts`, `react` |
|
|
346
|
+
| Vue | `*.vue`, `vue`, `@vue/*` |
|
|
347
|
+
| Angular | `*.component.ts`, `@angular/*` |
|
|
348
|
+
| FastAPI | `main.py`, `fastapi`, `pydantic` |
|
|
349
|
+
| Django | `manage.py`, `django`, `settings.py` |
|
|
350
|
+
| Express | `app.js`, `express`, `router.js` |
|
|
351
|
+
|
|
352
|
+
### Configuration
|
|
353
|
+
|
|
354
|
+
```json
|
|
355
|
+
{
|
|
356
|
+
"skillLearning": {
|
|
357
|
+
"autoDetectFrameworks": true,
|
|
358
|
+
"fetchOfficialDocs": true,
|
|
359
|
+
"autoCreateSkills": "ask",
|
|
360
|
+
"frameworkDetectionPatterns": { ... },
|
|
361
|
+
"officialDocsUrls": {
|
|
362
|
+
"nestjs": "https://docs.nestjs.com",
|
|
363
|
+
"react": "https://react.dev",
|
|
364
|
+
...
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Commands
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
./scripts/flow skill detect # Detect frameworks
|
|
374
|
+
./scripts/flow skill list # List installed skills
|
|
375
|
+
./scripts/flow skill create <name># Create new skill
|
|
376
|
+
./scripts/flow skill-learn # Extract learnings
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Project-Based Team Sync (New in v1.8)
|
|
382
|
+
|
|
383
|
+
Sync workflow files at project scope - share decisions, patterns, and knowledge across your team.
|
|
384
|
+
|
|
385
|
+
### What Gets Synced
|
|
386
|
+
|
|
387
|
+
| Resource | Description | Sync Mode |
|
|
388
|
+
|----------|-------------|-----------|
|
|
389
|
+
| `decisions.md` | Coding rules and patterns | Full sync |
|
|
390
|
+
| `app-map.md` | Component registry | Full sync |
|
|
391
|
+
| `component-index.json` | Auto-generated index | Full sync |
|
|
392
|
+
| `.claude/skills/*/knowledge/` | Skill learnings | Full sync |
|
|
393
|
+
| Memory facts | Local database facts | Export to JSON |
|
|
394
|
+
| `request-log.md` | Activity history | Recent entries only |
|
|
395
|
+
| Tasks | Task queue | Optional |
|
|
396
|
+
|
|
397
|
+
### Configuration
|
|
398
|
+
|
|
399
|
+
```json
|
|
400
|
+
{
|
|
401
|
+
"team": {
|
|
402
|
+
"enabled": true,
|
|
403
|
+
"projectScope": true,
|
|
404
|
+
"conflictResolution": "newest-wins",
|
|
405
|
+
"sync": {
|
|
406
|
+
"decisions": true,
|
|
407
|
+
"appMap": true,
|
|
408
|
+
"componentIndex": true,
|
|
409
|
+
"skills": true,
|
|
410
|
+
"memory": true,
|
|
411
|
+
"requestLog": "recent",
|
|
412
|
+
"tasks": false
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### Conflict Resolution Strategies
|
|
419
|
+
|
|
420
|
+
| Strategy | Description |
|
|
421
|
+
|----------|-------------|
|
|
422
|
+
| `newest-wins` | Latest change wins (default) |
|
|
423
|
+
| `remote-wins` | Server version always wins |
|
|
424
|
+
| `local-wins` | Local version always wins |
|
|
425
|
+
| `merge` | Attempt to merge changes |
|
|
426
|
+
|
|
427
|
+
### Commands
|
|
428
|
+
|
|
429
|
+
```bash
|
|
430
|
+
./scripts/flow team sync-status # Show sync status
|
|
431
|
+
./scripts/flow team sync-init # Initialize project sync
|
|
432
|
+
./scripts/flow team project-id # Show/set project ID
|
|
433
|
+
./scripts/flow team sync # Sync local → remote
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Voice Input (New in v1.8)
|
|
439
|
+
|
|
440
|
+
Voice-to-transcript support with multiple provider options. Create tasks, stories, and commands using your voice.
|
|
441
|
+
|
|
442
|
+
### How It Works
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
446
|
+
│ Microphone │ ──▶ │ Record │ ──▶ │ Transcribe │
|
|
447
|
+
│ Input │ │ Audio │ │ (Whisper) │
|
|
448
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
449
|
+
│
|
|
450
|
+
▼
|
|
451
|
+
┌──────────┐
|
|
452
|
+
│ Text │
|
|
453
|
+
│ Output │
|
|
454
|
+
└──────────┘
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
### Providers
|
|
458
|
+
|
|
459
|
+
| Provider | API Key | Description |
|
|
460
|
+
|----------|---------|-------------|
|
|
461
|
+
| **Local** | No | Whisper.cpp - works offline |
|
|
462
|
+
| **OpenAI** | Yes | Best accuracy |
|
|
463
|
+
| **Groq** | Yes (free tier) | Fast cloud transcription |
|
|
464
|
+
|
|
465
|
+
### Setup
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
./scripts/flow voice-input setup # Interactive setup
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
The setup wizard will:
|
|
472
|
+
1. Ask if you want to enable voice input
|
|
473
|
+
2. Let you choose a provider
|
|
474
|
+
3. Configure API keys (if using cloud)
|
|
475
|
+
|
|
476
|
+
### Configuration
|
|
477
|
+
|
|
478
|
+
```json
|
|
479
|
+
{
|
|
480
|
+
"voice": {
|
|
481
|
+
"enabled": true,
|
|
482
|
+
"provider": "groq",
|
|
483
|
+
"groqApiKey": "gsk_...",
|
|
484
|
+
"defaultDuration": 30
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
### Commands
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
./scripts/flow voice-input # Record and transcribe
|
|
493
|
+
./scripts/flow voice-input -d 60 # Record for 60 seconds
|
|
494
|
+
./scripts/flow voice-input -p openai # Use specific provider
|
|
495
|
+
./scripts/flow voice-input --to-story # Create story from voice
|
|
496
|
+
./scripts/flow voice-input status # Show configuration
|
|
497
|
+
./scripts/flow voice-input test # Test with 5-second recording
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### Requirements
|
|
501
|
+
|
|
502
|
+
- **Recording**: `sox` - install with `brew install sox` (macOS) or `apt install sox` (Linux)
|
|
503
|
+
- **Local Whisper**: `pip install openai-whisper` or download whisper.cpp
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## Damage Control
|
|
508
|
+
|
|
509
|
+
Prevents destructive commands from running accidentally. Pattern-based blocking with configurable protection levels.
|
|
510
|
+
|
|
511
|
+
### How It Works
|
|
512
|
+
|
|
513
|
+
```
|
|
514
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
515
|
+
│ Command │ ──▶ │ Pattern │ ──▶ │ Action │
|
|
516
|
+
│ Input │ │ Matching │ │ Decision │
|
|
517
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
518
|
+
│
|
|
519
|
+
┌────────────────────┼────────────────────┐
|
|
520
|
+
▼ ▼ ▼
|
|
521
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
522
|
+
│ ✅ Allow │ │ ⚠️ Ask │ │ 🛑 Block │
|
|
523
|
+
│ (safe) │ │ (confirm)│ │ (deny) │
|
|
524
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
### Protection Levels
|
|
528
|
+
|
|
529
|
+
| Level | Action | Examples |
|
|
530
|
+
|-------|--------|----------|
|
|
531
|
+
| **Blocked** | Always prevented | `rm -rf /`, `DROP DATABASE`, `git push --force main` |
|
|
532
|
+
| **Ask** | Requires confirmation | `git reset --hard`, `npm publish`, `DELETE FROM` |
|
|
533
|
+
| **Safe** | Always allowed | `ls`, `cat`, `grep`, `git status`, `npm test` |
|
|
534
|
+
|
|
535
|
+
### Path Protection
|
|
536
|
+
|
|
537
|
+
| Level | Description | Examples |
|
|
538
|
+
|-------|-------------|----------|
|
|
539
|
+
| **Zero Access** | Cannot read, write, or delete | `.ssh/`, `.aws/credentials` |
|
|
540
|
+
| **Read-Only** | Can read but not modify | Configurable per project |
|
|
541
|
+
| **No-Delete** | Can read/write but not delete | `.workflow/state/`, `.git/` |
|
|
542
|
+
|
|
543
|
+
### Configuration
|
|
544
|
+
|
|
545
|
+
```json
|
|
546
|
+
{
|
|
547
|
+
"damageControl": {
|
|
548
|
+
"enabled": false,
|
|
549
|
+
"patternsFile": ".workflow/damage-control.yaml",
|
|
550
|
+
"promptHook": {
|
|
551
|
+
"enabled": false,
|
|
552
|
+
"model": "haiku"
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
### Commands
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
./scripts/flow dc status # Show configuration
|
|
562
|
+
./scripts/flow dc check "rm -rf /" # Check if command is allowed
|
|
563
|
+
./scripts/flow dc path "/path" read # Check path operation
|
|
564
|
+
./scripts/flow dc patterns # List all patterns
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
### Pattern File (damage-control.yaml)
|
|
568
|
+
|
|
569
|
+
```yaml
|
|
570
|
+
blocked:
|
|
571
|
+
- "rm -rf /"
|
|
572
|
+
- "DROP DATABASE"
|
|
573
|
+
- "git push.*--force.*(main|master)"
|
|
574
|
+
|
|
575
|
+
ask:
|
|
576
|
+
- pattern: "git reset --hard"
|
|
577
|
+
reason: "Hard reset loses uncommitted changes"
|
|
578
|
+
- pattern: "npm publish"
|
|
579
|
+
reason: "Publishing to npm registry"
|
|
580
|
+
|
|
581
|
+
paths:
|
|
582
|
+
zeroAccess:
|
|
583
|
+
- ".ssh/"
|
|
584
|
+
- ".aws/credentials"
|
|
585
|
+
noDelete:
|
|
586
|
+
- ".workflow/state/"
|
|
587
|
+
- ".git/"
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
## Safety & Verification
|
|
593
|
+
|
|
594
|
+
Enterprise-grade safety guardrails and verification gates for reliable AI-assisted development.
|
|
595
|
+
|
|
596
|
+
### Safety Guardrails
|
|
597
|
+
|
|
598
|
+
Prevent unintended operations with bounded execution limits:
|
|
599
|
+
|
|
600
|
+
```bash
|
|
601
|
+
./scripts/flow safety status # Show current limits
|
|
602
|
+
./scripts/flow safety check-file src/app.ts
|
|
603
|
+
./scripts/flow safety check-command "npm test"
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
**Default Limits:**
|
|
607
|
+
| Limit | Default | Description |
|
|
608
|
+
|-------|---------|-------------|
|
|
609
|
+
| `maxSteps` | 50 | Maximum execution steps |
|
|
610
|
+
| `maxFilesModified` | 20 | Files that can be modified |
|
|
611
|
+
| `maxFilesCreated` | 10 | New files that can be created |
|
|
612
|
+
| `maxFilesDeleted` | 5 | Files that can be deleted |
|
|
613
|
+
| `checkpointInterval` | 5 | Auto-checkpoint every N steps |
|
|
614
|
+
|
|
615
|
+
**Permission Model:**
|
|
616
|
+
```json
|
|
617
|
+
{
|
|
618
|
+
"safety": {
|
|
619
|
+
"enabled": true,
|
|
620
|
+
"permissions": {
|
|
621
|
+
"files": {
|
|
622
|
+
"allow": ["src/**", "tests/**", "*.json"],
|
|
623
|
+
"deny": ["**/.env", "**/secrets/**", "**/*.key"]
|
|
624
|
+
},
|
|
625
|
+
"commands": {
|
|
626
|
+
"allow": ["npm", "node", "git", "eslint"],
|
|
627
|
+
"deny": ["rm -rf", "sudo", "curl", "wget"]
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
### Verification Gates
|
|
635
|
+
|
|
636
|
+
Structured verification with auto-feed stderr for LLM self-healing:
|
|
637
|
+
|
|
638
|
+
```bash
|
|
639
|
+
./scripts/flow verify lint # Run linting gate
|
|
640
|
+
./scripts/flow verify typecheck # Run TypeScript check
|
|
641
|
+
./scripts/flow verify all # Run all gates
|
|
642
|
+
./scripts/flow verify --json # JSON output for CI
|
|
643
|
+
./scripts/flow verify --llm-context # LLM-friendly error output
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
**Available Gates:**
|
|
647
|
+
| Gate | Tool | Description |
|
|
648
|
+
|------|------|-------------|
|
|
649
|
+
| `lint` | ESLint/Biome | Code linting |
|
|
650
|
+
| `typecheck` | TypeScript | Type checking |
|
|
651
|
+
| `test` | Jest/Vitest | Test suite |
|
|
652
|
+
| `build` | npm | Build process |
|
|
653
|
+
| `format` | Prettier/Biome | Code formatting |
|
|
654
|
+
|
|
655
|
+
**Exit Codes:**
|
|
656
|
+
- `0` - Success
|
|
657
|
+
- `1` - General failure
|
|
658
|
+
- `2` - Configuration error
|
|
659
|
+
- `5` - Safety violation
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
## Execution Traces & Checkpoints
|
|
664
|
+
|
|
665
|
+
Full run history with JSONL event logging and automatic checkpoints.
|
|
666
|
+
|
|
667
|
+
### Run Traces
|
|
668
|
+
|
|
669
|
+
```bash
|
|
670
|
+
./scripts/flow run-trace start "Implement login" # Start traced run
|
|
671
|
+
./scripts/flow run-trace end # End current run
|
|
672
|
+
./scripts/flow history # List recent runs
|
|
673
|
+
./scripts/flow inspect <run-id> # Show run details
|
|
674
|
+
./scripts/flow run-trace cleanup # Remove old runs
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
**Event Types:**
|
|
678
|
+
- `RUN_START`, `RUN_END` - Run lifecycle
|
|
679
|
+
- `STEP_START`, `STEP_END` - Individual steps
|
|
680
|
+
- `FILE_WRITE`, `FILE_DELETE` - File operations
|
|
681
|
+
- `COMMAND_RUN` - Shell commands
|
|
682
|
+
- `VALIDATION_PASS`, `VALIDATION_FAIL` - Gate results
|
|
683
|
+
- `CHECKPOINT` - Automatic checkpoints
|
|
684
|
+
- `ERROR`, `WARNING` - Issues
|
|
685
|
+
|
|
686
|
+
### Auto-Checkpoints
|
|
687
|
+
|
|
688
|
+
Periodic state snapshots with rollback support:
|
|
689
|
+
|
|
690
|
+
```bash
|
|
691
|
+
./scripts/flow checkpoint create "Before refactor"
|
|
692
|
+
./scripts/flow checkpoint list
|
|
693
|
+
./scripts/flow checkpoint rollback <id>
|
|
694
|
+
./scripts/flow checkpoint cleanup
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
**Configuration:**
|
|
698
|
+
```json
|
|
699
|
+
{
|
|
700
|
+
"checkpoint": {
|
|
701
|
+
"enabled": true,
|
|
702
|
+
"interval": 5,
|
|
703
|
+
"maxCheckpoints": 20,
|
|
704
|
+
"autoCommit": true,
|
|
705
|
+
"commitPrefix": "[checkpoint]"
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
## Diff-First Output
|
|
713
|
+
|
|
714
|
+
Preview changes before applying with unified diff format.
|
|
715
|
+
|
|
716
|
+
```bash
|
|
717
|
+
./scripts/flow diff file1.ts file2.ts # Compare files
|
|
718
|
+
./scripts/flow diff --preview operations.json # Preview changes
|
|
719
|
+
./scripts/flow diff --apply operations.json # Apply changes
|
|
720
|
+
./scripts/flow diff --dry-run operations.json # Show diff only
|
|
721
|
+
./scripts/flow diff --json # JSON output
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
**Operations JSON Format:**
|
|
725
|
+
```json
|
|
726
|
+
[
|
|
727
|
+
{ "type": "write", "path": "src/app.ts", "content": "..." },
|
|
728
|
+
{ "type": "modify", "path": "src/utils.ts", "content": "..." },
|
|
729
|
+
{ "type": "delete", "path": "src/old.ts" }
|
|
730
|
+
]
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
---
|
|
734
|
+
|
|
735
|
+
## Cloud Model Providers
|
|
736
|
+
|
|
737
|
+
Unified interface for local and cloud LLM providers.
|
|
738
|
+
|
|
739
|
+
```bash
|
|
740
|
+
./scripts/flow providers list # List all providers
|
|
741
|
+
./scripts/flow providers detect # Detect running local providers
|
|
742
|
+
./scripts/flow providers test ollama
|
|
743
|
+
./scripts/flow providers test anthropic
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
**Supported Providers:**
|
|
747
|
+
| Provider | Type | Requires Key |
|
|
748
|
+
|----------|------|--------------|
|
|
749
|
+
| Ollama | Local | No |
|
|
750
|
+
| LM Studio | Local | No |
|
|
751
|
+
| Anthropic | Cloud | `ANTHROPIC_API_KEY` |
|
|
752
|
+
| OpenAI | Cloud | `OPENAI_API_KEY` |
|
|
753
|
+
|
|
754
|
+
**Configuration:**
|
|
755
|
+
```json
|
|
756
|
+
{
|
|
757
|
+
"hybrid": {
|
|
758
|
+
"enabled": true,
|
|
759
|
+
"provider": "anthropic",
|
|
760
|
+
"model": "claude-sonnet-4-20250514",
|
|
761
|
+
"settings": {
|
|
762
|
+
"temperature": 0.7,
|
|
763
|
+
"maxTokens": 4096
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
---
|
|
770
|
+
|
|
771
|
+
## Declarative Workflows
|
|
772
|
+
|
|
773
|
+
YAML-based workflow definitions with conditional routing and bounded loops.
|
|
774
|
+
|
|
775
|
+
```bash
|
|
776
|
+
./scripts/flow workflow list # List workflows
|
|
777
|
+
./scripts/flow workflow create deploy # Create template
|
|
778
|
+
./scripts/flow workflow run deploy # Run workflow
|
|
779
|
+
./scripts/flow workflow validate deploy # Validate syntax
|
|
780
|
+
```
|
|
781
|
+
|
|
782
|
+
**Workflow YAML:**
|
|
783
|
+
```yaml
|
|
784
|
+
name: deploy
|
|
785
|
+
description: Build and deploy
|
|
786
|
+
onError: abort
|
|
787
|
+
maxIterations: 10
|
|
788
|
+
|
|
789
|
+
steps:
|
|
790
|
+
- id: lint
|
|
791
|
+
run: npm run lint
|
|
792
|
+
|
|
793
|
+
- id: test
|
|
794
|
+
when: $environment == "development"
|
|
795
|
+
run: npm test
|
|
796
|
+
|
|
797
|
+
- id: build
|
|
798
|
+
run: npm run build
|
|
799
|
+
|
|
800
|
+
- id: retry-on-fail
|
|
801
|
+
type: loop
|
|
802
|
+
maxIterations: 3
|
|
803
|
+
until: $build_success == true
|
|
804
|
+
steps:
|
|
805
|
+
- run: npm run fix
|
|
806
|
+
- run: npm run build
|
|
807
|
+
```
|
|
808
|
+
|
|
809
|
+
**Step Types:**
|
|
810
|
+
| Type | Description |
|
|
811
|
+
|------|-------------|
|
|
812
|
+
| `command` | Run shell command (default) |
|
|
813
|
+
| `gate` | Verification with recovery |
|
|
814
|
+
| `loop` | Bounded iteration |
|
|
815
|
+
| `parallel` | Run steps concurrently |
|
|
816
|
+
| `conditional` | Branch based on conditions |
|
|
817
|
+
|
|
818
|
+
---
|
|
819
|
+
|
|
820
|
+
## External Context Protocol
|
|
821
|
+
|
|
822
|
+
Reference external resources with automatic fetching and caching.
|
|
823
|
+
|
|
824
|
+
```bash
|
|
825
|
+
./scripts/flow links init # Create template
|
|
826
|
+
./scripts/flow links list # List all links
|
|
827
|
+
./scripts/flow links add prd ./docs/PRD.md
|
|
828
|
+
./scripts/flow links fetch prd # Fetch and cache
|
|
829
|
+
./scripts/flow links show prd # Show cached content
|
|
830
|
+
./scripts/flow links context # Get all context
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
**links.yaml:**
|
|
834
|
+
```yaml
|
|
835
|
+
docs:
|
|
836
|
+
prd: ./docs/PRD.md
|
|
837
|
+
api: https://api.example.com/docs
|
|
838
|
+
design:
|
|
839
|
+
figma: https://figma.com/file/...
|
|
840
|
+
issues:
|
|
841
|
+
backlog: https://linear.app/...
|
|
842
|
+
```
|
|
843
|
+
|
|
844
|
+
**Supported Sources:**
|
|
845
|
+
- Local files
|
|
846
|
+
- GitHub files/repos
|
|
847
|
+
- Notion pages
|
|
848
|
+
- Figma files
|
|
849
|
+
- Jira/Linear issues
|
|
850
|
+
- Any URL (HTML extracted)
|
|
851
|
+
|
|
852
|
+
---
|
|
853
|
+
|
|
854
|
+
## Figma Component Analyzer
|
|
855
|
+
|
|
856
|
+
Analyze Figma designs and match components against your existing codebase. Instead of generating all new code, it identifies what can be reused.
|
|
857
|
+
|
|
858
|
+
```
|
|
859
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
860
|
+
│ Figma │ ──▶ │ Extract │ ──▶ │ Match │
|
|
861
|
+
│ Design │ │ Components │ │ vs Codebase│
|
|
862
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
863
|
+
│
|
|
864
|
+
┌──────────────────────────┼──────────────────────────┐
|
|
865
|
+
▼ ▼ ▼
|
|
866
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
867
|
+
│ 95%+ Use │ │ 60-95% │ │ <60% New │
|
|
868
|
+
│ Directly │ │ Variant? │ │Component │
|
|
869
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
### Quick Start
|
|
873
|
+
|
|
874
|
+
```bash
|
|
875
|
+
# 1. Scan your codebase
|
|
876
|
+
./scripts/flow figma scan
|
|
877
|
+
|
|
878
|
+
# 2. Get Figma data via Figma MCP, save to file
|
|
879
|
+
|
|
880
|
+
# 3. Analyze and match
|
|
881
|
+
./scripts/flow figma analyze figma-data.json
|
|
882
|
+
|
|
883
|
+
# 4. Interactive confirmation
|
|
884
|
+
./scripts/flow figma confirm matches.json
|
|
885
|
+
|
|
886
|
+
# 5. Generate code
|
|
887
|
+
./scripts/flow figma generate
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
### Match Thresholds
|
|
891
|
+
|
|
892
|
+
| Score | Suggestion |
|
|
893
|
+
| ------- | ------------------------------ |
|
|
894
|
+
| 95%+ | Use directly |
|
|
895
|
+
| 80-95% | Use with minor adjustments |
|
|
896
|
+
| 60-80% | Consider as variant |
|
|
897
|
+
| <60% | Create new component |
|
|
898
|
+
|
|
899
|
+
### MCP Server
|
|
900
|
+
|
|
901
|
+
Start the MCP server for Claude Desktop or Cursor:
|
|
902
|
+
|
|
903
|
+
```bash
|
|
904
|
+
./scripts/flow figma server # stdio mode (default)
|
|
905
|
+
./scripts/flow figma server 3847 # HTTP mode on port 3847
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
Add to Claude Desktop config:
|
|
909
|
+
```json
|
|
910
|
+
{
|
|
911
|
+
"mcpServers": {
|
|
912
|
+
"wogi-figma": {
|
|
913
|
+
"command": "node",
|
|
914
|
+
"args": ["/path/to/wogi-flow/scripts/flow-figma-mcp-server.js"]
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
```
|
|
919
|
+
|
|
920
|
+
### Commands
|
|
921
|
+
|
|
922
|
+
| Command | Description |
|
|
923
|
+
| ------------------------ | ------------------------------ |
|
|
924
|
+
| `flow figma scan` | Scan codebase for components |
|
|
925
|
+
| `flow figma show [name]` | Show component details |
|
|
926
|
+
| `flow figma extract <f>` | Extract from Figma MCP data |
|
|
927
|
+
| `flow figma match <f>` | Match against registry |
|
|
928
|
+
| `flow figma analyze <f>` | Extract + match (full pipeline)|
|
|
929
|
+
| `flow figma confirm <f>` | Interactive confirmation |
|
|
930
|
+
| `flow figma generate` | Generate code from decisions |
|
|
931
|
+
| `flow figma server` | Start MCP server |
|
|
932
|
+
|
|
933
|
+
---
|
|
934
|
+
|
|
935
|
+
## Continual Learning Skills
|
|
936
|
+
|
|
937
|
+
Skills now automatically capture learnings from every session. Knowledge persists and improves over time without manual intervention.
|
|
938
|
+
|
|
939
|
+
### How It Works
|
|
940
|
+
|
|
941
|
+
```
|
|
942
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
943
|
+
│ AUTO-TRIGGER POINTS │
|
|
944
|
+
├─────────────────────────────────────────────────────────────┤
|
|
945
|
+
│ 1. Pre-commit hook → Captures learnings before commit │
|
|
946
|
+
│ 2. Task completion → After quality gates pass │
|
|
947
|
+
│ 3. Session end → When /wogi-session-end runs │
|
|
948
|
+
└─────────────────────────────────────────────────────────────┘
|
|
949
|
+
↓
|
|
950
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
951
|
+
│ SKILL KNOWLEDGE │
|
|
952
|
+
├─────────────────────────────────────────────────────────────┤
|
|
953
|
+
│ .claude/skills/[name]/knowledge/ │
|
|
954
|
+
│ ├── learnings.md ← Session insights (auto-updated) │
|
|
955
|
+
│ ├── patterns.md ← What works │
|
|
956
|
+
│ └── anti-patterns.md ← What to avoid │
|
|
957
|
+
└─────────────────────────────────────────────────────────────┘
|
|
958
|
+
```
|
|
959
|
+
|
|
960
|
+
### Skill Structure
|
|
961
|
+
|
|
962
|
+
```
|
|
963
|
+
.claude/skills/nestjs/
|
|
964
|
+
├── skill.md # Core definition (always loaded)
|
|
965
|
+
├── knowledge/
|
|
966
|
+
│ ├── learnings.md # Session learnings (auto-updated)
|
|
967
|
+
│ ├── patterns.md # Proven patterns
|
|
968
|
+
│ └── anti-patterns.md # Known mistakes to avoid
|
|
969
|
+
├── rules/
|
|
970
|
+
│ └── conventions.md # Coding rules
|
|
971
|
+
├── commands/
|
|
972
|
+
│ └── *.md # Slash commands
|
|
973
|
+
└── templates/
|
|
974
|
+
└── *.template.* # Code templates
|
|
975
|
+
```
|
|
976
|
+
|
|
977
|
+
### Commands
|
|
978
|
+
|
|
979
|
+
```bash
|
|
980
|
+
./scripts/flow skill-learn # Manual extraction
|
|
981
|
+
./scripts/flow skill-learn --dry-run # Preview changes
|
|
982
|
+
./scripts/flow skill-create <name> # Create new skill
|
|
983
|
+
./scripts/flow skill-create --list # List skills
|
|
984
|
+
```
|
|
985
|
+
|
|
986
|
+
### Configuration
|
|
987
|
+
|
|
988
|
+
```json
|
|
989
|
+
{
|
|
990
|
+
"skillLearning": {
|
|
991
|
+
"enabled": true,
|
|
992
|
+
"autoExtract": true,
|
|
993
|
+
"triggers": {
|
|
994
|
+
"onCommit": true,
|
|
995
|
+
"onTaskComplete": true,
|
|
996
|
+
"onCompact": true
|
|
997
|
+
},
|
|
998
|
+
"autoCreateSkills": "ask"
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
```
|
|
1002
|
+
|
|
1003
|
+
---
|
|
1004
|
+
|
|
1005
|
+
## Hybrid Mode
|
|
1006
|
+
|
|
1007
|
+
Save 20-60% of tokens by having Claude create execution plans that another model executes.
|
|
1008
|
+
|
|
1009
|
+
```
|
|
1010
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐
|
|
1011
|
+
│ Claude │ ──▶ │ Plan │ ──▶ │ Executor │
|
|
1012
|
+
│ (Planner) │ │ (JSON) │ │ Local or Cloud LLM │
|
|
1013
|
+
└─────────────┘ └─────────────┘ └─────────────────────┘
|
|
1014
|
+
│ │
|
|
1015
|
+
└──────▶ Escalation (if needed) ◀───────────┘
|
|
1016
|
+
```
|
|
1017
|
+
|
|
1018
|
+
### Executor Options
|
|
1019
|
+
|
|
1020
|
+
Choose your executor type when setting up hybrid mode:
|
|
1021
|
+
|
|
1022
|
+
| Type | Providers | Best For |
|
|
1023
|
+
|------|-----------|----------|
|
|
1024
|
+
| **Local LLM** | Ollama, LM Studio | Privacy, unlimited tokens, no API costs |
|
|
1025
|
+
| **Cloud Model** | OpenAI, Anthropic, Google | No local setup, consistent quality |
|
|
1026
|
+
|
|
1027
|
+
**Cloud Models Supported:**
|
|
1028
|
+
- **GPT-4o-mini** - Fast, good instruction following
|
|
1029
|
+
- **Claude 3 Haiku** - Excellent code quality, large context
|
|
1030
|
+
- **Gemini Flash** - Very large context (1M+), cost-effective
|
|
1031
|
+
|
|
1032
|
+
### Setup
|
|
1033
|
+
|
|
1034
|
+
```bash
|
|
1035
|
+
./scripts/flow hybrid enable # Interactive setup
|
|
1036
|
+
# or
|
|
1037
|
+
/wogi-hybrid-setup # Full setup via slash command
|
|
1038
|
+
```
|
|
1039
|
+
|
|
1040
|
+
The setup wizard will ask you to choose:
|
|
1041
|
+
1. **Executor type** - Local LLM or Cloud Model
|
|
1042
|
+
2. **Provider** - Ollama/LM Studio or OpenAI/Anthropic/Google
|
|
1043
|
+
3. **Model** - From available models
|
|
1044
|
+
|
|
1045
|
+
**For Local LLM:**
|
|
1046
|
+
- [Ollama](https://ollama.ai/) or [LM Studio](https://lmstudio.ai/)
|
|
1047
|
+
- Recommended: `nemotron-3-nano`, `qwen3-coder:30b`, or `deepseek-coder:33b`
|
|
1048
|
+
|
|
1049
|
+
**For Cloud Model:**
|
|
1050
|
+
- Set the appropriate environment variable: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GOOGLE_API_KEY`
|
|
1051
|
+
- Or enter the API key during setup
|
|
1052
|
+
|
|
1053
|
+
### Token Savings
|
|
1054
|
+
|
|
1055
|
+
| Task Size | Normal | Hybrid | Savings |
|
|
1056
|
+
| ----------------- | ------ | ------ | ------- |
|
|
1057
|
+
| Small (3 files) | ~8K | ~5K | 35% |
|
|
1058
|
+
| Medium (8 files) | ~20K | ~10K | 50% |
|
|
1059
|
+
| Large (15+ files) | ~45K | ~20K | 55% |
|
|
1060
|
+
|
|
1061
|
+
*Note: Actual savings depend on task complexity and instruction detail needed for quality results.*
|
|
1062
|
+
|
|
1063
|
+
### Commands
|
|
1064
|
+
|
|
1065
|
+
| Command | Description |
|
|
1066
|
+
| ---------------------- | ------------------------ |
|
|
1067
|
+
| `flow hybrid enable` | Enable with setup wizard |
|
|
1068
|
+
| `flow hybrid disable` | Disable hybrid mode |
|
|
1069
|
+
| `flow hybrid status` | Show configuration |
|
|
1070
|
+
| `flow hybrid rollback` | Undo last execution |
|
|
1071
|
+
|
|
1072
|
+
---
|
|
1073
|
+
|
|
1074
|
+
## Self-Completing Tasks
|
|
1075
|
+
|
|
1076
|
+
When you run `/wogi-start TASK-XXX`, it runs a self-completing loop:
|
|
1077
|
+
|
|
1078
|
+
```
|
|
1079
|
+
/wogi-start TASK-012
|
|
1080
|
+
↓
|
|
1081
|
+
Load context (story, app-map, decisions, skills)
|
|
1082
|
+
↓
|
|
1083
|
+
Decompose into TodoWrite checklist
|
|
1084
|
+
↓
|
|
1085
|
+
┌─────────────────────────────────────────┐
|
|
1086
|
+
│ FOR EACH scenario: │
|
|
1087
|
+
│ → Implement │
|
|
1088
|
+
│ → Self-verify │
|
|
1089
|
+
│ → Retry if broken │
|
|
1090
|
+
│ → Mark completed │
|
|
1091
|
+
└─────────────────────────────────────────┘
|
|
1092
|
+
↓
|
|
1093
|
+
Run quality gates → Update logs → Commit
|
|
1094
|
+
```
|
|
1095
|
+
|
|
1096
|
+
**No need to run `/wogi-done`** - tasks complete themselves.
|
|
1097
|
+
|
|
1098
|
+
Options: `--no-loop`, `--pause-between`, `--max-retries N`
|
|
1099
|
+
|
|
1100
|
+
### Ad-Hoc Task Handling
|
|
1101
|
+
|
|
1102
|
+
When you give Claude a direct implementation request (not via `/wogi-start`), it automatically:
|
|
1103
|
+
|
|
1104
|
+
1. **Clarifies** - Asks 1-3 questions about requirements
|
|
1105
|
+
2. **Creates criteria** - Generates testable Given/When/Then criteria
|
|
1106
|
+
3. **Executes** - Full workflow (app-map check, auto-context, implementation)
|
|
1107
|
+
4. **Verifies** - Runs quality gates, confirms criteria are met
|
|
1108
|
+
5. **Logs** - Updates request-log.md
|
|
1109
|
+
|
|
1110
|
+
Ad-hoc tasks get the same rigor as structured tasks.
|
|
1111
|
+
|
|
1112
|
+
---
|
|
1113
|
+
|
|
1114
|
+
## Task Management
|
|
1115
|
+
|
|
1116
|
+
### Creating Tasks
|
|
1117
|
+
|
|
1118
|
+
```bash
|
|
1119
|
+
./scripts/flow story "Add login form" # Detailed story with acceptance criteria
|
|
1120
|
+
./scripts/flow new-feature auth # Create feature structure
|
|
1121
|
+
./scripts/flow bug "Login fails" # Create bug report
|
|
1122
|
+
```
|
|
1123
|
+
|
|
1124
|
+
### Task Workflow
|
|
1125
|
+
|
|
1126
|
+
```bash
|
|
1127
|
+
./scripts/flow ready # See what's ready to work on
|
|
1128
|
+
./scripts/flow start TASK-001 # Start task (self-completing)
|
|
1129
|
+
./scripts/flow status # Project overview
|
|
1130
|
+
./scripts/flow deps TASK-001 # Show dependencies
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
### Story Format
|
|
1134
|
+
|
|
1135
|
+
Stories are created with Given/When/Then acceptance criteria:
|
|
1136
|
+
|
|
1137
|
+
```markdown
|
|
1138
|
+
# [TASK-012] Forgot Password Link
|
|
1139
|
+
|
|
1140
|
+
## User Story
|
|
1141
|
+
|
|
1142
|
+
**As a** user who forgot my password
|
|
1143
|
+
**I want** to request a reset from login
|
|
1144
|
+
**So that** I can regain access
|
|
1145
|
+
|
|
1146
|
+
## Acceptance Criteria
|
|
1147
|
+
|
|
1148
|
+
### Scenario 1: Navigate to reset
|
|
1149
|
+
|
|
1150
|
+
**Given** I am on login page
|
|
1151
|
+
**When** I click "Forgot password?"
|
|
1152
|
+
**Then** I navigate to /forgot-password
|
|
1153
|
+
```
|
|
1154
|
+
|
|
1155
|
+
---
|
|
1156
|
+
|
|
1157
|
+
## Component Registry
|
|
1158
|
+
|
|
1159
|
+
Two-layer system prevents component duplication:
|
|
1160
|
+
|
|
1161
|
+
### 1. Curated `app-map.md`
|
|
1162
|
+
|
|
1163
|
+
Human-maintained with rich context:
|
|
1164
|
+
|
|
1165
|
+
```markdown
|
|
1166
|
+
| Component | Variants | Description |
|
|
1167
|
+
| --------- | ------------------ | ------------------ |
|
|
1168
|
+
| Button | primary, secondary | Main action button |
|
|
1169
|
+
```
|
|
1170
|
+
|
|
1171
|
+
### 2. Auto-generated `component-index.json`
|
|
1172
|
+
|
|
1173
|
+
Machine-generated with automatic freshness:
|
|
1174
|
+
|
|
1175
|
+
```bash
|
|
1176
|
+
./scripts/flow map-index scan # Scan codebase
|
|
1177
|
+
./scripts/flow map-sync # Compare with app-map
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
### Component Index Freshness
|
|
1181
|
+
|
|
1182
|
+
The index automatically refreshes based on configuration:
|
|
1183
|
+
|
|
1184
|
+
```json
|
|
1185
|
+
{
|
|
1186
|
+
"componentIndex": {
|
|
1187
|
+
"autoScan": true,
|
|
1188
|
+
"scanOn": ["sessionStart", "afterTask", "preCommit"],
|
|
1189
|
+
"staleAfterMinutes": 60
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
```
|
|
1193
|
+
|
|
1194
|
+
| Trigger | When |
|
|
1195
|
+
|---------|------|
|
|
1196
|
+
| `sessionStart` | Beginning of each Claude session (also checks stale) |
|
|
1197
|
+
| `afterTask` | After completing any task via `flow done` |
|
|
1198
|
+
| `preCommit` | Before git commits (requires git hooks installed) |
|
|
1199
|
+
|
|
1200
|
+
Install git hooks for pre-commit scanning:
|
|
1201
|
+
|
|
1202
|
+
```bash
|
|
1203
|
+
./scripts/flow setup-hooks install # Install hooks
|
|
1204
|
+
./scripts/flow setup-hooks --status # Check status
|
|
1205
|
+
./scripts/flow setup-hooks --remove # Remove hooks
|
|
1206
|
+
```
|
|
1207
|
+
|
|
1208
|
+
---
|
|
1209
|
+
|
|
1210
|
+
## Code Traces
|
|
1211
|
+
|
|
1212
|
+
Generate task-focused documentation of code flows:
|
|
1213
|
+
|
|
1214
|
+
```bash
|
|
1215
|
+
./scripts/flow trace "user authentication flow"
|
|
1216
|
+
./scripts/flow trace "payment processing"
|
|
1217
|
+
./scripts/flow trace list # List saved traces
|
|
1218
|
+
```
|
|
1219
|
+
|
|
1220
|
+
Traces include:
|
|
1221
|
+
|
|
1222
|
+
- High-level flow overview
|
|
1223
|
+
- Execution steps with file/line references
|
|
1224
|
+
- Mermaid diagrams
|
|
1225
|
+
- Security/performance notes
|
|
1226
|
+
|
|
1227
|
+
---
|
|
1228
|
+
|
|
1229
|
+
## Guided Edit Mode
|
|
1230
|
+
|
|
1231
|
+
Step-by-step guided editing for multi-file changes like large refactors, library upgrades, or schema changes.
|
|
1232
|
+
|
|
1233
|
+
### How It Works
|
|
1234
|
+
|
|
1235
|
+
```
|
|
1236
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
1237
|
+
│ Analyze │ ──▶ │ Review │ ──▶ │ Apply │
|
|
1238
|
+
│ Description│ │ Each File │ │ Approved │
|
|
1239
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
1240
|
+
│
|
|
1241
|
+
┌───────────┼───────────┐
|
|
1242
|
+
▼ ▼ ▼
|
|
1243
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
1244
|
+
│ Approve │ │ Reject │ │ Skip │
|
|
1245
|
+
│ (a) │ │ (r) │ │ (s) │
|
|
1246
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
1247
|
+
```
|
|
1248
|
+
|
|
1249
|
+
### Use Cases
|
|
1250
|
+
|
|
1251
|
+
| Use Case | Example |
|
|
1252
|
+
|----------|---------|
|
|
1253
|
+
| **Large Refactors** | `rename UserService to UserManager` |
|
|
1254
|
+
| **Library Upgrades** | `replace import { X } from 'old-lib' with 'new-lib'` |
|
|
1255
|
+
| **Schema Changes** | `find UserEntity` to review all usages |
|
|
1256
|
+
| **Code Cleanup** | `find componentWillMount` |
|
|
1257
|
+
|
|
1258
|
+
### Commands
|
|
1259
|
+
|
|
1260
|
+
```bash
|
|
1261
|
+
/wogi-guided-edit "rename Button to BaseButton" # Start session
|
|
1262
|
+
/wogi-guided-edit --continue # Resume session
|
|
1263
|
+
```
|
|
1264
|
+
|
|
1265
|
+
During a session:
|
|
1266
|
+
- `next` / `n` - Show next file
|
|
1267
|
+
- `approve` / `a` / `y` - Apply changes to current file
|
|
1268
|
+
- `reject` / `r` - Skip this file
|
|
1269
|
+
- `skip` / `s` - Skip for now (can revisit)
|
|
1270
|
+
- `status` - Show progress
|
|
1271
|
+
- `abort` / `q` - Cancel session
|
|
1272
|
+
|
|
1273
|
+
### Session Persistence
|
|
1274
|
+
|
|
1275
|
+
Progress is saved to `.workflow/state/guided-edit-session.json`. You can close Claude and resume later.
|
|
1276
|
+
|
|
1277
|
+
### Configuration
|
|
1278
|
+
|
|
1279
|
+
```json
|
|
1280
|
+
{
|
|
1281
|
+
"guidedEdit": {
|
|
1282
|
+
"enabled": true,
|
|
1283
|
+
"sessionFile": ".workflow/state/guided-edit-session.json",
|
|
1284
|
+
"extensions": ["ts", "tsx", "js", "jsx", "vue", "svelte"],
|
|
1285
|
+
"srcDir": null
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
```
|
|
1289
|
+
|
|
1290
|
+
---
|
|
1291
|
+
|
|
1292
|
+
## Skills System
|
|
1293
|
+
|
|
1294
|
+
Skills are modular add-ons for specific tech stacks that accumulate knowledge over time.
|
|
1295
|
+
|
|
1296
|
+
### Available Skills
|
|
1297
|
+
|
|
1298
|
+
| Skill | Description | Commands |
|
|
1299
|
+
| -------- | ------------------------ | -------------------------------------------------- |
|
|
1300
|
+
| `nestjs` | NestJS module builder | `/nestjs-scaffold`, `/nestjs-entity`, `/nestjs-db` |
|
|
1301
|
+
| `react` | React component patterns | `/react-component`, `/react-hook` |
|
|
1302
|
+
| `python` | Python/FastAPI patterns | `/python-endpoint`, `/python-test` |
|
|
1303
|
+
|
|
1304
|
+
### Install Skills
|
|
1305
|
+
|
|
1306
|
+
```bash
|
|
1307
|
+
./scripts/flow install # During setup
|
|
1308
|
+
/wogi-skills add nestjs # After setup
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
### Using Skills
|
|
1312
|
+
|
|
1313
|
+
When working on files that match a skill's patterns, Claude automatically:
|
|
1314
|
+
|
|
1315
|
+
1. Loads the skill's `knowledge/patterns.md`
|
|
1316
|
+
2. Checks `knowledge/anti-patterns.md` to avoid mistakes
|
|
1317
|
+
3. Updates learnings after task completion
|
|
1318
|
+
|
|
1319
|
+
---
|
|
1320
|
+
|
|
1321
|
+
## Team Backend
|
|
1322
|
+
|
|
1323
|
+
AWS-powered backend for team collaboration with shared memory, proposals, and activity tracking.
|
|
1324
|
+
|
|
1325
|
+
### Architecture
|
|
1326
|
+
|
|
1327
|
+
```
|
|
1328
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
1329
|
+
│ WogiFlow CLI │ ──▶ │ API Gateway │ ──▶ │ Lambda │
|
|
1330
|
+
│ (Local) │ │ (HTTP API) │ │ Functions │
|
|
1331
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
1332
|
+
│
|
|
1333
|
+
┌───────────────────────────────────────────────┼───────────────────────────────────────────────┐
|
|
1334
|
+
▼ ▼ ▼ ▼
|
|
1335
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
1336
|
+
│ Teams │ │ Proposals │ │ Shared Memory │ │ Activity │
|
|
1337
|
+
│ (DynamoDB) │ │ (DynamoDB) │ │ (DynamoDB) │ │ (DynamoDB) │
|
|
1338
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
1339
|
+
```
|
|
1340
|
+
|
|
1341
|
+
### Features
|
|
1342
|
+
|
|
1343
|
+
| API | Description |
|
|
1344
|
+
|-----|-------------|
|
|
1345
|
+
| **Teams** | Create teams, invite members, manage roles |
|
|
1346
|
+
| **Proposals** | Team decision voting system for workflow changes |
|
|
1347
|
+
| **Memory Sync** | Share learned patterns across team members |
|
|
1348
|
+
| **Activity** | Track team activity and generate reports |
|
|
1349
|
+
|
|
1350
|
+
### Setup
|
|
1351
|
+
|
|
1352
|
+
1. **Sign up** via Cognito hosted UI to get authentication token
|
|
1353
|
+
2. **Configure** team settings in `config.json`:
|
|
1354
|
+
|
|
1355
|
+
```json
|
|
1356
|
+
{
|
|
1357
|
+
"team": {
|
|
1358
|
+
"enabled": true,
|
|
1359
|
+
"teamId": "your-team-id",
|
|
1360
|
+
"aws": {
|
|
1361
|
+
"apiEndpoint": "https://your-api.execute-api.region.amazonaws.com/v1",
|
|
1362
|
+
"cognitoUserPool": "region_PoolId",
|
|
1363
|
+
"cognitoClientId": "your-client-id",
|
|
1364
|
+
"region": "eu-west-1"
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
```
|
|
1369
|
+
|
|
1370
|
+
### API Endpoints
|
|
1371
|
+
|
|
1372
|
+
| Endpoint | Methods | Description |
|
|
1373
|
+
|----------|---------|-------------|
|
|
1374
|
+
| `/teams` | GET, POST | List/create teams |
|
|
1375
|
+
| `/teams/{id}` | GET, PUT, DELETE | Team operations |
|
|
1376
|
+
| `/teams/{id}/members` | GET | List team members |
|
|
1377
|
+
| `/teams/{id}/invite` | POST | Invite member |
|
|
1378
|
+
| `/teams/{id}/proposals` | GET, POST | Team proposals |
|
|
1379
|
+
| `/teams/{id}/proposals/{id}` | GET | Proposal details |
|
|
1380
|
+
| `/teams/{id}/proposals/{id}/vote` | POST | Cast vote |
|
|
1381
|
+
| `/teams/{id}/memory` | GET, POST | Shared memory |
|
|
1382
|
+
| `/teams/{id}/memory/sync` | POST | Sync local memory |
|
|
1383
|
+
| `/teams/{id}/activity` | GET, POST | Activity log |
|
|
1384
|
+
|
|
1385
|
+
### Infrastructure
|
|
1386
|
+
|
|
1387
|
+
The backend is deployed via Terraform in `infrastructure/terraform/`:
|
|
1388
|
+
|
|
1389
|
+
```bash
|
|
1390
|
+
cd infrastructure/terraform
|
|
1391
|
+
terraform init
|
|
1392
|
+
terraform plan
|
|
1393
|
+
terraform apply
|
|
1394
|
+
```
|
|
1395
|
+
|
|
1396
|
+
**Resources created:**
|
|
1397
|
+
- API Gateway v2 (HTTP API)
|
|
1398
|
+
- 4 Lambda functions (teams, proposals, memory, activity)
|
|
1399
|
+
- 6 DynamoDB tables
|
|
1400
|
+
- Cognito User Pool
|
|
1401
|
+
- S3 bucket for artifacts
|
|
1402
|
+
- IAM roles and policies
|
|
1403
|
+
|
|
1404
|
+
---
|
|
1405
|
+
|
|
1406
|
+
## Configuration
|
|
1407
|
+
|
|
1408
|
+
### Main Config (`config.json`)
|
|
1409
|
+
|
|
1410
|
+
```json
|
|
1411
|
+
{
|
|
1412
|
+
"mandatorySteps": {
|
|
1413
|
+
"afterTask": ["test", "lint"],
|
|
1414
|
+
"beforeCommit": ["review"],
|
|
1415
|
+
"onSessionEnd": ["updateRequestLog", "updateAppMap"]
|
|
1416
|
+
},
|
|
1417
|
+
"qualityGates": {
|
|
1418
|
+
"feature": { "require": ["tests", "appMapUpdate", "requestLogEntry"] },
|
|
1419
|
+
"bugfix": { "require": ["tests", "requestLogEntry"] }
|
|
1420
|
+
},
|
|
1421
|
+
"skillLearning": {
|
|
1422
|
+
"enabled": true,
|
|
1423
|
+
"autoExtract": true
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
```
|
|
1427
|
+
|
|
1428
|
+
### Natural Language Config
|
|
1429
|
+
|
|
1430
|
+
Tell Claude what you want:
|
|
1431
|
+
|
|
1432
|
+
- "Always run tests after completing a task"
|
|
1433
|
+
- "Require review before any commit"
|
|
1434
|
+
|
|
1435
|
+
Claude updates `config.json` accordingly.
|
|
1436
|
+
|
|
1437
|
+
### Optional Features
|
|
1438
|
+
|
|
1439
|
+
| Feature | Enable |
|
|
1440
|
+
| ----------------- | ------------------------------------ |
|
|
1441
|
+
| Storybook stories | `/wogi-config storybook on` |
|
|
1442
|
+
| Pre-commit hooks | `./scripts/flow setup-hooks install` |
|
|
1443
|
+
| Phase planning | Set `phases.enabled: true` in config |
|
|
1444
|
+
| Strict mode | Set `strictMode` options in config |
|
|
1445
|
+
|
|
1446
|
+
---
|
|
1447
|
+
|
|
1448
|
+
## CLI Reference
|
|
1449
|
+
|
|
1450
|
+
```bash
|
|
1451
|
+
# Setup
|
|
1452
|
+
flow install # Interactive setup
|
|
1453
|
+
flow install --quick <name> # Quick setup
|
|
1454
|
+
flow onboard # Onboard existing project
|
|
1455
|
+
flow update # Update to latest version
|
|
1456
|
+
|
|
1457
|
+
# Tasks
|
|
1458
|
+
flow ready # Show task queue
|
|
1459
|
+
flow start <id> # Start task
|
|
1460
|
+
flow done <id> # Complete task (usually not needed)
|
|
1461
|
+
flow status # Project overview
|
|
1462
|
+
flow deps <id> # Show dependencies
|
|
1463
|
+
|
|
1464
|
+
# Stories & Features
|
|
1465
|
+
flow story "<title>" # Create story
|
|
1466
|
+
flow new-feature <name> # Create feature
|
|
1467
|
+
flow bug "<title>" # Create bug report
|
|
1468
|
+
|
|
1469
|
+
# Components
|
|
1470
|
+
flow update-map add <name> <path> [variants]
|
|
1471
|
+
flow map-index scan # Rescan codebase
|
|
1472
|
+
flow map-sync # Compare index with app-map
|
|
1473
|
+
|
|
1474
|
+
# Code Traces
|
|
1475
|
+
flow trace "<prompt>" # Generate trace
|
|
1476
|
+
flow trace list # List traces
|
|
1477
|
+
|
|
1478
|
+
# Guided Edit (v1.9.2)
|
|
1479
|
+
flow guided-edit "description" # Start guided edit session
|
|
1480
|
+
flow guided-edit --continue # Resume session
|
|
1481
|
+
flow guided-edit status # Show session progress
|
|
1482
|
+
flow guided-edit abort # Cancel session
|
|
1483
|
+
|
|
1484
|
+
# Skills
|
|
1485
|
+
flow skill-learn # Extract learnings
|
|
1486
|
+
flow skill-create <name> # Create skill
|
|
1487
|
+
flow skill-create --list # List skills
|
|
1488
|
+
flow skill detect # Detect frameworks (v1.8)
|
|
1489
|
+
flow skill list # List installed skills (v1.8)
|
|
1490
|
+
|
|
1491
|
+
# Loop Enforcement (v1.8)
|
|
1492
|
+
flow loop status # Show active loop session
|
|
1493
|
+
flow loop stats # Show loop statistics
|
|
1494
|
+
flow loop can-exit # Check if exit is allowed
|
|
1495
|
+
flow loop enable # Enable enforcement
|
|
1496
|
+
flow loop disable # Disable enforcement
|
|
1497
|
+
|
|
1498
|
+
# Parallel Detection (v1.8)
|
|
1499
|
+
flow parallel analyze # Analyze tasks for parallel potential
|
|
1500
|
+
flow parallel suggest # Check if suggestion available
|
|
1501
|
+
|
|
1502
|
+
# Team Sync (v1.8)
|
|
1503
|
+
flow team sync-status # Show project sync status
|
|
1504
|
+
flow team sync-init # Initialize project sync
|
|
1505
|
+
flow team project-id # Show/set project ID
|
|
1506
|
+
|
|
1507
|
+
# Voice Input (v1.8)
|
|
1508
|
+
flow voice-input setup # Configure voice input
|
|
1509
|
+
flow voice-input # Record and transcribe
|
|
1510
|
+
flow voice-input -d 60 # Record for 60 seconds
|
|
1511
|
+
flow voice-input -p groq # Use specific provider
|
|
1512
|
+
flow voice-input status # Show configuration
|
|
1513
|
+
flow voice-input test # Test recording
|
|
1514
|
+
|
|
1515
|
+
# Hybrid Mode
|
|
1516
|
+
flow hybrid enable # Enable with wizard
|
|
1517
|
+
flow hybrid disable # Disable
|
|
1518
|
+
flow hybrid status # Show config
|
|
1519
|
+
flow hybrid rollback # Undo last execution
|
|
1520
|
+
|
|
1521
|
+
# Figma Analyzer
|
|
1522
|
+
flow figma scan # Scan codebase for components
|
|
1523
|
+
flow figma show [name] # Show component details
|
|
1524
|
+
flow figma extract <file> # Extract from Figma MCP data
|
|
1525
|
+
flow figma match <file> # Match against registry
|
|
1526
|
+
flow figma analyze <file> # Full pipeline (extract + match)
|
|
1527
|
+
flow figma confirm <file> # Interactive confirmation
|
|
1528
|
+
flow figma generate # Generate code from decisions
|
|
1529
|
+
flow figma server # Start MCP server
|
|
1530
|
+
|
|
1531
|
+
# Damage Control
|
|
1532
|
+
flow dc status # Show configuration
|
|
1533
|
+
flow dc check "<cmd>" # Check if command is allowed
|
|
1534
|
+
flow dc path "<path>" <op> # Check path operation (read/write/delete)
|
|
1535
|
+
flow dc patterns # List all patterns
|
|
1536
|
+
|
|
1537
|
+
# Safety & Verification (v1.6)
|
|
1538
|
+
flow safety status # Show safety limits
|
|
1539
|
+
flow safety check-file <path> # Check file permission
|
|
1540
|
+
flow safety check-command <cmd> # Check command permission
|
|
1541
|
+
flow verify lint # Run lint gate
|
|
1542
|
+
flow verify all # Run all gates
|
|
1543
|
+
flow verify --json # JSON output for CI
|
|
1544
|
+
|
|
1545
|
+
# Execution Traces (v1.6)
|
|
1546
|
+
flow run-trace start <name> # Start traced run
|
|
1547
|
+
flow run-trace end # End current run
|
|
1548
|
+
flow history # List recent runs
|
|
1549
|
+
flow inspect <run-id> # Show run details
|
|
1550
|
+
|
|
1551
|
+
# Checkpoints (v1.6)
|
|
1552
|
+
flow checkpoint create [msg] # Create checkpoint
|
|
1553
|
+
flow checkpoint list # List checkpoints
|
|
1554
|
+
flow checkpoint rollback <id> # Rollback to checkpoint
|
|
1555
|
+
|
|
1556
|
+
# Diff Preview (v1.6)
|
|
1557
|
+
flow diff <file1> <file2> # Compare files
|
|
1558
|
+
flow diff --preview <ops.json> # Preview changes
|
|
1559
|
+
flow diff --apply <ops.json> # Apply changes
|
|
1560
|
+
|
|
1561
|
+
# Providers (v1.6)
|
|
1562
|
+
flow providers list # List providers
|
|
1563
|
+
flow providers detect # Detect local providers
|
|
1564
|
+
flow providers test <type> # Test provider
|
|
1565
|
+
|
|
1566
|
+
# External Links (v1.6)
|
|
1567
|
+
flow links list # List external links
|
|
1568
|
+
flow links add <name> <url> # Add link
|
|
1569
|
+
flow links fetch <name> # Fetch and cache
|
|
1570
|
+
|
|
1571
|
+
# Declarative Workflows (v1.6)
|
|
1572
|
+
flow workflow list # List workflows
|
|
1573
|
+
flow workflow run <name> # Run workflow
|
|
1574
|
+
flow workflow create <name> # Create template
|
|
1575
|
+
|
|
1576
|
+
# Workflow
|
|
1577
|
+
flow health # Check health
|
|
1578
|
+
flow standup # Generate standup
|
|
1579
|
+
flow session-end # End session
|
|
1580
|
+
flow search "<query>" # Search logs
|
|
1581
|
+
flow context <id> # Load task context
|
|
1582
|
+
|
|
1583
|
+
# Team
|
|
1584
|
+
flow export-profile <name> # Export workflow
|
|
1585
|
+
flow import-profile <file> # Import workflow
|
|
1586
|
+
flow changelog # Generate changelog
|
|
1587
|
+
|
|
1588
|
+
# Team Backend (AWS)
|
|
1589
|
+
flow team status # Show team connection status
|
|
1590
|
+
flow team sync # Sync local memory to team
|
|
1591
|
+
flow team activity # Show team activity
|
|
1592
|
+
|
|
1593
|
+
# Hooks (v1.9.2)
|
|
1594
|
+
flow setup-hooks install # Install git hooks
|
|
1595
|
+
flow setup-hooks --status # Check hook status
|
|
1596
|
+
flow setup-hooks --remove # Remove hooks
|
|
1597
|
+
```
|
|
1598
|
+
|
|
1599
|
+
---
|
|
1600
|
+
|
|
1601
|
+
## Slash Commands
|
|
1602
|
+
|
|
1603
|
+
Quick reference for chat commands:
|
|
1604
|
+
|
|
1605
|
+
| Category | Commands |
|
|
1606
|
+
| -------------- | ---------------------------------------------------------------------------------------------------- |
|
|
1607
|
+
| **Tasks** | `/wogi-ready`, `/wogi-start`, `/wogi-done`, `/wogi-bulk`, `/wogi-status`, `/wogi-deps`, `/wogi-session-review` |
|
|
1608
|
+
| **Create** | `/wogi-story`, `/wogi-feature`, `/wogi-bug` |
|
|
1609
|
+
| **Components** | `/wogi-map`, `/wogi-map-add`, `/wogi-map-scan`, `/wogi-map-check`, `/wogi-map-sync` |
|
|
1610
|
+
| **Figma** | `flow figma scan`, `flow figma analyze`, `flow figma confirm`, `flow figma generate`, `flow figma server` |
|
|
1611
|
+
| **Traces** | `/wogi-trace` |
|
|
1612
|
+
| **Refactoring**| `/wogi-guided-edit` |
|
|
1613
|
+
| **Skills** | `/wogi-skills`, `/wogi-skill-learn` |
|
|
1614
|
+
| **Hybrid** | `/wogi-hybrid-setup`, `/wogi-hybrid`, `/wogi-hybrid-off`, `/wogi-hybrid-status` |
|
|
1615
|
+
| **Workflow** | `/wogi-health`, `/wogi-standup`, `/wogi-session-end`, `/wogi-search`, `/wogi-context` |
|
|
1616
|
+
| **Config** | `/wogi-config` |
|
|
1617
|
+
| **Team** | `/wogi-export`, `/wogi-import`, `/wogi-changelog` |
|
|
1618
|
+
| **Help** | `/wogi-help` |
|
|
1619
|
+
|
|
1620
|
+
---
|
|
1621
|
+
|
|
1622
|
+
## File Structure
|
|
1623
|
+
|
|
1624
|
+
```
|
|
1625
|
+
.workflow/
|
|
1626
|
+
├── config.json # Workflow configuration
|
|
1627
|
+
├── state/
|
|
1628
|
+
│ ├── ready.json # Task queue
|
|
1629
|
+
│ ├── request-log.md # Change history
|
|
1630
|
+
│ ├── app-map.md # Component registry (curated)
|
|
1631
|
+
│ ├── component-index.json # Component index (auto-generated)
|
|
1632
|
+
│ ├── decisions.md # Project rules
|
|
1633
|
+
│ ├── feedback-patterns.md # Learning tracker
|
|
1634
|
+
│ ├── progress.md # Session handoff notes
|
|
1635
|
+
│ ├── component-registry.json # Figma codebase scan
|
|
1636
|
+
│ ├── figma-decisions.json # Figma confirmations
|
|
1637
|
+
│ └── figma-output.json # Figma generated output
|
|
1638
|
+
├── traces/ # Code trace documents
|
|
1639
|
+
└── tests/flows/ # Browser test flows
|
|
1640
|
+
|
|
1641
|
+
.claude/skills/ # Skills (Claude Code 2.1+ native)
|
|
1642
|
+
├── _template/ # Template for new skills
|
|
1643
|
+
├── figma-analyzer/ # Figma design analyzer
|
|
1644
|
+
├── nestjs/
|
|
1645
|
+
│ ├── skill.md
|
|
1646
|
+
│ ├── knowledge/ # Learnings, patterns, anti-patterns
|
|
1647
|
+
│ ├── rules/
|
|
1648
|
+
│ ├── commands/
|
|
1649
|
+
│ └── templates/
|
|
1650
|
+
└── ...
|
|
1651
|
+
|
|
1652
|
+
agents/ # Agent personas
|
|
1653
|
+
scripts/ # CLI tools
|
|
1654
|
+
templates/ # File templates
|
|
1655
|
+
CLAUDE.md # Main instructions
|
|
1656
|
+
```
|
|
1657
|
+
|
|
1658
|
+
---
|
|
1659
|
+
|
|
1660
|
+
## Self-Improving Workflow
|
|
1661
|
+
|
|
1662
|
+
WogiFlow learns from your corrections:
|
|
1663
|
+
|
|
1664
|
+
1. **Correction** → You correct Claude's work
|
|
1665
|
+
2. **Fix** → Claude fixes immediately
|
|
1666
|
+
3. **Learn** → Claude asks to persist the rule
|
|
1667
|
+
4. **Update** → Updates decisions.md / agents/\*.md / config.json / skills
|
|
1668
|
+
5. **Track** → Logs to feedback-patterns.md
|
|
1669
|
+
|
|
1670
|
+
After 3+ similar corrections → Claude suggests promoting to permanent instruction.
|
|
1671
|
+
|
|
1672
|
+
---
|
|
1673
|
+
|
|
1674
|
+
## Team Workflow
|
|
1675
|
+
|
|
1676
|
+
```bash
|
|
1677
|
+
# One person refines the workflow
|
|
1678
|
+
./scripts/flow export-profile "team-v1"
|
|
1679
|
+
|
|
1680
|
+
# Share team-v1.zip with team
|
|
1681
|
+
|
|
1682
|
+
# Others import
|
|
1683
|
+
./scripts/flow import-profile team-v1.zip
|
|
1684
|
+
```
|
|
1685
|
+
|
|
1686
|
+
---
|
|
1687
|
+
|
|
1688
|
+
## Changelog
|
|
1689
|
+
|
|
1690
|
+
### v1.9.2 - Guided Edit & Index Freshness
|
|
1691
|
+
|
|
1692
|
+
- **Guided Edit Mode**: Step-by-step multi-file editing with session persistence for large refactors
|
|
1693
|
+
- **Component Index Freshness**: Auto-refresh on session start (stale check), post-task completion, and pre-commit
|
|
1694
|
+
- **Smart Rule Loading**: Rules now have `alwaysApply` frontmatter - Claude loads rules only when relevant
|
|
1695
|
+
- **Git Hooks Setup**: New `flow setup-hooks` command to install pre-commit/post-commit hooks
|
|
1696
|
+
- **New commands**: `flow guided-edit`, `flow setup-hooks`, `/wogi-guided-edit`
|
|
1697
|
+
- **Configuration**: New `guidedEdit` section, enhanced `componentIndex.scanOn` triggers
|
|
1698
|
+
|
|
1699
|
+
### v1.9.1 - Damage Control & Auto-Verification
|
|
1700
|
+
|
|
1701
|
+
- **Damage Control System**: Pattern-based blocking of destructive commands (`rm -rf /`, `DROP DATABASE`, force push to main)
|
|
1702
|
+
- **Path Protection**: Zero-access, read-only, and no-delete path levels for sensitive files
|
|
1703
|
+
- **Auto-Inference Verification**: Loop enforcer automatically detects verification type from criterion text
|
|
1704
|
+
- **Browser Test Suggestions**: Automatically suggests browser tests for UI-related acceptance criteria
|
|
1705
|
+
- **New commands**: `flow dc [status|check|path|patterns]`
|
|
1706
|
+
- **New file**: `.workflow/damage-control.yaml` for customizable patterns
|
|
1707
|
+
|
|
1708
|
+
### v1.9.0 - Cloud Executor Support
|
|
1709
|
+
|
|
1710
|
+
- **Cloud Executors**: Choose between local LLM or cloud model as hybrid mode executor
|
|
1711
|
+
- **Supported Providers**: OpenAI (GPT-4o-mini), Anthropic (Claude Haiku), Google (Gemini Flash)
|
|
1712
|
+
- **Setup Wizard**: Updated `/wogi-hybrid` to prompt for executor type (Local/Cloud)
|
|
1713
|
+
- **Model Adapters**: Pre-configured adapters for cloud models with known quirks and best practices
|
|
1714
|
+
- **Backward Compatible**: Existing local LLM configurations continue to work
|
|
1715
|
+
- **Token Estimation**: Adjusts automatically based on cloud vs local executor
|
|
1716
|
+
|
|
1717
|
+
### v1.8.0 - Pattern Enforcement & Team Sync
|
|
1718
|
+
|
|
1719
|
+
- **Pattern Enforcement**: Active pattern injection from decisions.md/app-map.md into prompts with citation validation
|
|
1720
|
+
- **Loop Enforcement**: Blocks exit until all acceptance criteria pass, requireVerification, blockOnSkip
|
|
1721
|
+
- **Parallel Auto-Detection**: Automatically detects parallelizable tasks with autoSuggest and autoExecute options
|
|
1722
|
+
- **Skill Auto-Creation**: Detects frameworks from package.json and file patterns, fetches official documentation
|
|
1723
|
+
- **Project-Based Team Sync**: Sync decisions.md, app-map.md, component-index, skills, and memory facts across team
|
|
1724
|
+
- **Voice Input**: Voice-to-transcript support with local Whisper.cpp, OpenAI, and Groq providers
|
|
1725
|
+
- **Memory Export**: Schema-aware SQLite export for memory facts synchronization
|
|
1726
|
+
- **Conflict Resolution**: Configurable strategies (newest-wins, remote-wins, local-wins, merge)
|
|
1727
|
+
- **New commands**: `flow loop`, `flow parallel [analyze|suggest]`, `flow skill [detect|list]`, `flow team [sync-status|sync-init|project-id]`, `flow voice-input`
|
|
1728
|
+
|
|
1729
|
+
### v1.7.0 - Team Backend
|
|
1730
|
+
|
|
1731
|
+
- **AWS Team Backend**: Full serverless infrastructure for team collaboration
|
|
1732
|
+
- **Team APIs**: Teams, proposals, shared memory, activity logging
|
|
1733
|
+
- **Cognito Auth**: JWT-based authentication for secure team access
|
|
1734
|
+
- **Memory Sync**: Share learned patterns across team members
|
|
1735
|
+
- **Proposal Voting**: Democratic decision-making for workflow changes
|
|
1736
|
+
- **Infrastructure as Code**: Terraform-managed AWS resources
|
|
1737
|
+
|
|
1738
|
+
### v1.6.0 - Enterprise Safety & Automation
|
|
1739
|
+
|
|
1740
|
+
- **Safety Guardrails** (`flow-safety.js`): File/command permission models, bounded execution limits
|
|
1741
|
+
- **Verification Gates** (`flow-verify.js`): Structured gate results with LLM error context for self-healing
|
|
1742
|
+
- **Execution Traces** (`flow-run-trace.js`): JSONL event logging with artifact timeline
|
|
1743
|
+
- **Auto-Checkpoints** (`flow-checkpoint.js`): Periodic state snapshots with rollback support
|
|
1744
|
+
- **Diff-First Output** (`flow-diff.js`): Preview changes before applying, unified diff format
|
|
1745
|
+
- **Cloud Providers** (`flow-providers.js`): Unified interface for Anthropic, OpenAI, Ollama, LM Studio
|
|
1746
|
+
- **External Context** (`flow-links.js`): Reference external resources with automatic caching
|
|
1747
|
+
- **Declarative Workflows** (`flow-workflow.js`): YAML workflows with conditional routing and bounded loops
|
|
1748
|
+
- **CLI Utilities** (`flow-cli.js`): Standardized exit codes and JSON output for CI integration
|
|
1749
|
+
- **Project Context** (`flow-context-init.js`): Auto-detect tech stack, manage constraints and conventions
|
|
1750
|
+
- **New commands**: `flow safety`, `flow verify`, `flow run-trace`, `flow checkpoint`, `flow diff`, `flow providers`, `flow links`, `flow workflow`, `flow context-init`
|
|
1751
|
+
|
|
1752
|
+
### v1.5.0 - Figma Component Analyzer
|
|
1753
|
+
|
|
1754
|
+
- **Figma Component Analyzer**: Match Figma designs against existing codebase components
|
|
1755
|
+
- **Multi-framework support**: React, Vue, Svelte, Angular auto-detection
|
|
1756
|
+
- **Similarity matching**: Weighted scoring (CSS 35%, structure 25%, naming 20%, behavior 20%)
|
|
1757
|
+
- **Interactive confirmation**: Choose to reuse, add variant, or create new
|
|
1758
|
+
- **MCP Server**: Both stdio and HTTP modes for Claude Desktop/Cursor integration
|
|
1759
|
+
- **New commands**: `flow figma [scan|show|extract|match|analyze|confirm|generate|server]`
|
|
1760
|
+
- **New skill**: `.claude/skills/figma-analyzer/`
|
|
1761
|
+
|
|
1762
|
+
### v1.4.0 - Continual Learning Skills
|
|
1763
|
+
|
|
1764
|
+
- **Automatic skill learning**: Knowledge captured at pre-commit, task completion, session end
|
|
1765
|
+
- **New skill structure**: `knowledge/` directory with learnings, patterns, anti-patterns
|
|
1766
|
+
- **Agents use skills**: Developer agent loads relevant skill knowledge before tasks
|
|
1767
|
+
- **New commands**: `flow skill-learn`, `flow skill-create`
|
|
1768
|
+
- **New slash command**: `/wogi-skill-learn`
|
|
1769
|
+
- **Config section**: `skillLearning` in config.json
|
|
1770
|
+
|
|
1771
|
+
### v1.3.0 - Hybrid Mode
|
|
1772
|
+
|
|
1773
|
+
- **Hybrid mode**: Claude plans, local LLM executes - 20-60% token savings
|
|
1774
|
+
- **Supports**: Ollama and LM Studio
|
|
1775
|
+
- **Features**: Rollback, escalation, template system
|
|
1776
|
+
- **New commands**: `flow hybrid [enable|disable|status|rollback]`
|
|
1777
|
+
|
|
1778
|
+
### v1.2.0 - Self-Completing Loops
|
|
1779
|
+
|
|
1780
|
+
- **Self-completing `/wogi-start`**: Tasks run until truly done
|
|
1781
|
+
- **New `/wogi-loop`**: Autonomous loops for ad-hoc work
|
|
1782
|
+
- **Options**: `--no-loop`, `--pause-between`, `--max-retries`, `--done-when`
|
|
1783
|
+
|
|
1784
|
+
### v1.1.0 - Component Index & Code Traces
|
|
1785
|
+
|
|
1786
|
+
- **Hybrid component index**: Auto-generated + curated
|
|
1787
|
+
- **Code traces**: Task-focused flow documentation with Mermaid diagrams
|
|
1788
|
+
- **New commands**: `flow map-index`, `flow map-sync`, `flow trace`
|
|
1789
|
+
|
|
1790
|
+
### v1.0.0 - Initial Release
|
|
1791
|
+
|
|
1792
|
+
- Core workflow, task management, quality gates
|
|
1793
|
+
- Component registry, request logging
|
|
1794
|
+
- Self-improving feedback loop
|
|
1795
|
+
- Skills system, profile sharing
|
|
1796
|
+
- Browser testing, onboarding wizard
|
|
1797
|
+
|
|
1798
|
+
---
|
|
1799
|
+
|
|
1800
|
+
## License
|
|
1801
|
+
|
|
1802
|
+
MIT
|