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.
Files changed (221) hide show
  1. package/.workflow/agents/reviewer.md +81 -0
  2. package/.workflow/agents/security.md +94 -0
  3. package/.workflow/agents/story-writer.md +58 -0
  4. package/.workflow/bridges/base-bridge.js +395 -0
  5. package/.workflow/bridges/claude-bridge.js +434 -0
  6. package/.workflow/bridges/index.js +130 -0
  7. package/.workflow/lib/assumption-detector.js +481 -0
  8. package/.workflow/lib/config-substitution.js +371 -0
  9. package/.workflow/lib/failure-categories.js +478 -0
  10. package/.workflow/state/app-map.md.template +15 -0
  11. package/.workflow/state/architecture.md.template +24 -0
  12. package/.workflow/state/component-index.json.template +5 -0
  13. package/.workflow/state/decisions.md.template +15 -0
  14. package/.workflow/state/feedback-patterns.md.template +9 -0
  15. package/.workflow/state/knowledge-sync.json.template +6 -0
  16. package/.workflow/state/progress.md.template +14 -0
  17. package/.workflow/state/ready.json.template +7 -0
  18. package/.workflow/state/request-log.md.template +14 -0
  19. package/.workflow/state/session-state.json.template +11 -0
  20. package/.workflow/state/stack.md.template +33 -0
  21. package/.workflow/state/testing.md.template +36 -0
  22. package/.workflow/templates/claude-md.hbs +257 -0
  23. package/.workflow/templates/correction-report.md +67 -0
  24. package/.workflow/templates/gemini-md.hbs +52 -0
  25. package/README.md +1802 -0
  26. package/bin/flow +205 -0
  27. package/lib/index.js +33 -0
  28. package/lib/installer.js +467 -0
  29. package/lib/release-channel.js +269 -0
  30. package/lib/skill-registry.js +526 -0
  31. package/lib/upgrader.js +401 -0
  32. package/lib/utils.js +305 -0
  33. package/package.json +64 -0
  34. package/scripts/flow +985 -0
  35. package/scripts/flow-adaptive-learning.js +1259 -0
  36. package/scripts/flow-aggregate.js +488 -0
  37. package/scripts/flow-archive +133 -0
  38. package/scripts/flow-auto-context.js +1015 -0
  39. package/scripts/flow-auto-learn.js +615 -0
  40. package/scripts/flow-bridge.js +223 -0
  41. package/scripts/flow-browser-suggest.js +316 -0
  42. package/scripts/flow-bug.js +247 -0
  43. package/scripts/flow-cascade.js +711 -0
  44. package/scripts/flow-changelog +85 -0
  45. package/scripts/flow-checkpoint.js +483 -0
  46. package/scripts/flow-cli.js +403 -0
  47. package/scripts/flow-code-intelligence.js +760 -0
  48. package/scripts/flow-complexity.js +502 -0
  49. package/scripts/flow-config-set.js +152 -0
  50. package/scripts/flow-constants.js +157 -0
  51. package/scripts/flow-context +152 -0
  52. package/scripts/flow-context-init.js +482 -0
  53. package/scripts/flow-context-monitor.js +384 -0
  54. package/scripts/flow-context-scoring.js +886 -0
  55. package/scripts/flow-correct.js +458 -0
  56. package/scripts/flow-damage-control.js +985 -0
  57. package/scripts/flow-deps +101 -0
  58. package/scripts/flow-diff.js +700 -0
  59. package/scripts/flow-done +151 -0
  60. package/scripts/flow-done.js +489 -0
  61. package/scripts/flow-durable-session.js +1541 -0
  62. package/scripts/flow-entropy-monitor.js +345 -0
  63. package/scripts/flow-export-profile +349 -0
  64. package/scripts/flow-export-scanner.js +1046 -0
  65. package/scripts/flow-figma-confirm.js +400 -0
  66. package/scripts/flow-figma-extract.js +496 -0
  67. package/scripts/flow-figma-generate.js +683 -0
  68. package/scripts/flow-figma-index.js +909 -0
  69. package/scripts/flow-figma-match.js +617 -0
  70. package/scripts/flow-figma-mcp-server.js +518 -0
  71. package/scripts/flow-figma-pipeline.js +414 -0
  72. package/scripts/flow-file-ops.js +301 -0
  73. package/scripts/flow-gate-confidence.js +825 -0
  74. package/scripts/flow-guided-edit.js +659 -0
  75. package/scripts/flow-health +185 -0
  76. package/scripts/flow-health.js +413 -0
  77. package/scripts/flow-hooks.js +556 -0
  78. package/scripts/flow-http-client.js +249 -0
  79. package/scripts/flow-hybrid-detect.js +167 -0
  80. package/scripts/flow-hybrid-interactive.js +591 -0
  81. package/scripts/flow-hybrid-test.js +152 -0
  82. package/scripts/flow-import-profile +439 -0
  83. package/scripts/flow-init +253 -0
  84. package/scripts/flow-instruction-richness.js +827 -0
  85. package/scripts/flow-jira-integration.js +579 -0
  86. package/scripts/flow-knowledge-router.js +522 -0
  87. package/scripts/flow-knowledge-sync.js +589 -0
  88. package/scripts/flow-linear-integration.js +631 -0
  89. package/scripts/flow-links.js +774 -0
  90. package/scripts/flow-log-manager.js +559 -0
  91. package/scripts/flow-loop-enforcer.js +1246 -0
  92. package/scripts/flow-loop-retry-learning.js +630 -0
  93. package/scripts/flow-lsp.js +923 -0
  94. package/scripts/flow-map-index +348 -0
  95. package/scripts/flow-map-sync +201 -0
  96. package/scripts/flow-memory-blocks.js +668 -0
  97. package/scripts/flow-memory-compactor.js +350 -0
  98. package/scripts/flow-memory-db.js +1110 -0
  99. package/scripts/flow-memory-sync.js +484 -0
  100. package/scripts/flow-metrics.js +353 -0
  101. package/scripts/flow-migrate-ids.js +370 -0
  102. package/scripts/flow-model-adapter.js +802 -0
  103. package/scripts/flow-model-router.js +884 -0
  104. package/scripts/flow-models.js +1231 -0
  105. package/scripts/flow-morning.js +517 -0
  106. package/scripts/flow-multi-approach.js +660 -0
  107. package/scripts/flow-new-feature +86 -0
  108. package/scripts/flow-onboard +1042 -0
  109. package/scripts/flow-orchestrate-llm.js +459 -0
  110. package/scripts/flow-orchestrate.js +3592 -0
  111. package/scripts/flow-output.js +123 -0
  112. package/scripts/flow-parallel-detector.js +399 -0
  113. package/scripts/flow-parallel-dispatch.js +987 -0
  114. package/scripts/flow-parallel.js +428 -0
  115. package/scripts/flow-pattern-enforcer.js +600 -0
  116. package/scripts/flow-prd-manager.js +282 -0
  117. package/scripts/flow-progress.js +323 -0
  118. package/scripts/flow-project-analyzer.js +975 -0
  119. package/scripts/flow-prompt-composer.js +487 -0
  120. package/scripts/flow-providers.js +1381 -0
  121. package/scripts/flow-queue.js +308 -0
  122. package/scripts/flow-ready +82 -0
  123. package/scripts/flow-ready.js +189 -0
  124. package/scripts/flow-regression.js +396 -0
  125. package/scripts/flow-response-parser.js +450 -0
  126. package/scripts/flow-resume.js +284 -0
  127. package/scripts/flow-rules-sync.js +439 -0
  128. package/scripts/flow-run-trace.js +718 -0
  129. package/scripts/flow-safety.js +587 -0
  130. package/scripts/flow-search +104 -0
  131. package/scripts/flow-security.js +481 -0
  132. package/scripts/flow-session-end +106 -0
  133. package/scripts/flow-session-end.js +437 -0
  134. package/scripts/flow-session-state.js +671 -0
  135. package/scripts/flow-setup-hooks +216 -0
  136. package/scripts/flow-setup-hooks.js +377 -0
  137. package/scripts/flow-skill-create.js +329 -0
  138. package/scripts/flow-skill-creator.js +572 -0
  139. package/scripts/flow-skill-generator.js +1046 -0
  140. package/scripts/flow-skill-learn.js +880 -0
  141. package/scripts/flow-skill-matcher.js +578 -0
  142. package/scripts/flow-spec-generator.js +820 -0
  143. package/scripts/flow-stack-wizard.js +895 -0
  144. package/scripts/flow-standup +162 -0
  145. package/scripts/flow-start +74 -0
  146. package/scripts/flow-start.js +235 -0
  147. package/scripts/flow-status +110 -0
  148. package/scripts/flow-status.js +301 -0
  149. package/scripts/flow-step-browser.js +83 -0
  150. package/scripts/flow-step-changelog.js +217 -0
  151. package/scripts/flow-step-comments.js +306 -0
  152. package/scripts/flow-step-complexity.js +234 -0
  153. package/scripts/flow-step-coverage.js +218 -0
  154. package/scripts/flow-step-knowledge.js +193 -0
  155. package/scripts/flow-step-pr-tests.js +364 -0
  156. package/scripts/flow-step-regression.js +89 -0
  157. package/scripts/flow-step-review.js +516 -0
  158. package/scripts/flow-step-security.js +162 -0
  159. package/scripts/flow-step-silent-failures.js +290 -0
  160. package/scripts/flow-step-simplifier.js +346 -0
  161. package/scripts/flow-story +105 -0
  162. package/scripts/flow-story.js +500 -0
  163. package/scripts/flow-suspend.js +252 -0
  164. package/scripts/flow-sync-daemon.js +654 -0
  165. package/scripts/flow-task-analyzer.js +606 -0
  166. package/scripts/flow-team-dashboard.js +748 -0
  167. package/scripts/flow-team-sync.js +752 -0
  168. package/scripts/flow-team.js +977 -0
  169. package/scripts/flow-tech-options.js +528 -0
  170. package/scripts/flow-templates.js +812 -0
  171. package/scripts/flow-tiered-learning.js +728 -0
  172. package/scripts/flow-trace +204 -0
  173. package/scripts/flow-transcript-chunking.js +1106 -0
  174. package/scripts/flow-transcript-digest.js +7918 -0
  175. package/scripts/flow-transcript-language.js +465 -0
  176. package/scripts/flow-transcript-parsing.js +1085 -0
  177. package/scripts/flow-transcript-stories.js +2194 -0
  178. package/scripts/flow-update-map +224 -0
  179. package/scripts/flow-utils.js +2242 -0
  180. package/scripts/flow-verification.js +644 -0
  181. package/scripts/flow-verify.js +1177 -0
  182. package/scripts/flow-voice-input.js +638 -0
  183. package/scripts/flow-watch +168 -0
  184. package/scripts/flow-workflow-steps.js +521 -0
  185. package/scripts/flow-workflow.js +1029 -0
  186. package/scripts/flow-worktree.js +489 -0
  187. package/scripts/hooks/adapters/base-adapter.js +102 -0
  188. package/scripts/hooks/adapters/claude-code.js +359 -0
  189. package/scripts/hooks/adapters/index.js +79 -0
  190. package/scripts/hooks/core/component-check.js +341 -0
  191. package/scripts/hooks/core/index.js +35 -0
  192. package/scripts/hooks/core/loop-check.js +241 -0
  193. package/scripts/hooks/core/session-context.js +294 -0
  194. package/scripts/hooks/core/task-gate.js +177 -0
  195. package/scripts/hooks/core/validation.js +230 -0
  196. package/scripts/hooks/entry/claude-code/post-tool-use.js +65 -0
  197. package/scripts/hooks/entry/claude-code/pre-tool-use.js +89 -0
  198. package/scripts/hooks/entry/claude-code/session-end.js +87 -0
  199. package/scripts/hooks/entry/claude-code/session-start.js +46 -0
  200. package/scripts/hooks/entry/claude-code/stop.js +43 -0
  201. package/scripts/postinstall.js +139 -0
  202. package/templates/browser-test-flow.json +56 -0
  203. package/templates/bug-report.md +43 -0
  204. package/templates/component-detail.md +42 -0
  205. package/templates/component.stories.tsx +49 -0
  206. package/templates/context/constraints.md +83 -0
  207. package/templates/context/conventions.md +177 -0
  208. package/templates/context/stack.md +60 -0
  209. package/templates/correction-report.md +90 -0
  210. package/templates/feature-proposal.md +35 -0
  211. package/templates/hybrid/_base.md +254 -0
  212. package/templates/hybrid/_patterns.md +45 -0
  213. package/templates/hybrid/create-component.md +127 -0
  214. package/templates/hybrid/create-file.md +56 -0
  215. package/templates/hybrid/create-hook.md +145 -0
  216. package/templates/hybrid/create-service.md +70 -0
  217. package/templates/hybrid/fix-bug.md +33 -0
  218. package/templates/hybrid/modify-file.md +55 -0
  219. package/templates/story.md +68 -0
  220. package/templates/task.json +56 -0
  221. package/templates/trace.md +69 -0
@@ -0,0 +1,224 @@
1
+ #!/bin/bash
2
+
3
+ # Wogi Flow - Update App Map
4
+
5
+ set -e
6
+
7
+ WORKFLOW_DIR=".workflow"
8
+ APP_MAP="$WORKFLOW_DIR/state/app-map.md"
9
+ COMPONENTS_DIR="$WORKFLOW_DIR/state/components"
10
+
11
+ # Colors
12
+ RED='\033[0;31m'
13
+ GREEN='\033[0;32m'
14
+ YELLOW='\033[1;33m'
15
+ CYAN='\033[0;36m'
16
+ NC='\033[0m'
17
+
18
+ show_help() {
19
+ echo "Update App Map - Add or scan components"
20
+ echo ""
21
+ echo "Usage:"
22
+ echo " flow update-map add <name> <path> [variants] Add component"
23
+ echo " flow update-map screen <name> <route> Add screen"
24
+ echo " flow update-map modal <name> <trigger> Add modal"
25
+ echo " flow update-map scan [directory] Scan for components"
26
+ echo " flow update-map check Check for drift"
27
+ echo ""
28
+ echo "Examples:"
29
+ echo " flow update-map add Button components/ui/Button \"primary,secondary\""
30
+ echo " flow update-map screen Login /login"
31
+ echo " flow update-map scan src/components"
32
+ }
33
+
34
+ mkdir -p "$COMPONENTS_DIR"
35
+
36
+ case "${1:-}" in
37
+ add)
38
+ if [ -z "$2" ] || [ -z "$3" ]; then
39
+ echo -e "${RED}Error: Name and path required${NC}"
40
+ exit 1
41
+ fi
42
+
43
+ NAME="$2"
44
+ COMP_PATH="$3"
45
+ VARIANTS="${4:-}"
46
+
47
+ # Add to app-map
48
+ if grep -q "| $NAME |" "$APP_MAP" 2>/dev/null; then
49
+ echo -e "${YELLOW}Component '$NAME' already exists, updating...${NC}"
50
+ sed -i.bak "/| $NAME |/d" "$APP_MAP"
51
+ rm -f "$APP_MAP.bak"
52
+ fi
53
+
54
+ # Insert before last ---
55
+ sed -i.bak "/^---$/,\${ /^---$/!b; i\\
56
+ | $NAME | $VARIANTS | \`$COMP_PATH\` | [→](components/$NAME.md) |
57
+ }" "$APP_MAP"
58
+ rm -f "$APP_MAP.bak"
59
+
60
+ # Create component detail file
61
+ if [ ! -f "$COMPONENTS_DIR/$NAME.md" ]; then
62
+ cat > "$COMPONENTS_DIR/$NAME.md" << EOF
63
+ # $NAME
64
+
65
+ **Path**: \`$COMP_PATH\`
66
+ **Status**: complete
67
+
68
+ ## Variants
69
+ | Variant | Description |
70
+ |---------|-------------|
71
+ $(echo "$VARIANTS" | tr ',' '\n' | while read v; do [ -n "$v" ] && echo "| \`$v\` | |"; done)
72
+
73
+ ## Props
74
+ | Prop | Type | Required | Default | Description |
75
+ |------|------|----------|---------|-------------|
76
+
77
+ ## Usage
78
+ \`\`\`tsx
79
+ <$NAME />
80
+ \`\`\`
81
+
82
+ ## Used In
83
+ -
84
+ EOF
85
+ echo -e "${GREEN}✓${NC} Created $COMPONENTS_DIR/$NAME.md"
86
+ fi
87
+
88
+ echo -e "${GREEN}✓${NC} Added '$NAME' to app-map"
89
+ ;;
90
+
91
+ screen)
92
+ if [ -z "$2" ] || [ -z "$3" ]; then
93
+ echo -e "${RED}Error: Name and route required${NC}"
94
+ exit 1
95
+ fi
96
+
97
+ NAME="$2"
98
+ ROUTE="$3"
99
+
100
+ # Add to Screens section
101
+ sed -i.bak "/^## Modals/i | $NAME | \`$ROUTE\` | complete |" "$APP_MAP"
102
+ rm -f "$APP_MAP.bak"
103
+
104
+ echo -e "${GREEN}✓${NC} Added screen '$NAME'"
105
+ ;;
106
+
107
+ modal)
108
+ if [ -z "$2" ] || [ -z "$3" ]; then
109
+ echo -e "${RED}Error: Name and trigger required${NC}"
110
+ exit 1
111
+ fi
112
+
113
+ NAME="$2"
114
+ TRIGGER="$3"
115
+
116
+ # Add to Modals section
117
+ sed -i.bak "/^## Components/i | $NAME | $TRIGGER | complete |" "$APP_MAP"
118
+ rm -f "$APP_MAP.bak"
119
+
120
+ echo -e "${GREEN}✓${NC} Added modal '$NAME'"
121
+ ;;
122
+
123
+ scan)
124
+ SCAN_DIR="${2:-src/components}"
125
+
126
+ if [ ! -d "$SCAN_DIR" ]; then
127
+ echo -e "${YELLOW}Directory '$SCAN_DIR' not found${NC}"
128
+ exit 0
129
+ fi
130
+
131
+ echo -e "${CYAN}Scanning $SCAN_DIR...${NC}"
132
+ echo ""
133
+
134
+ found=0
135
+ new=0
136
+
137
+ while IFS= read -r file; do
138
+ if [ -f "$file" ]; then
139
+ filename=$(basename "$file")
140
+ name="${filename%.*}"
141
+
142
+ # Skip index, test, story files
143
+ if [[ "$name" == "index" ]] || [[ "$name" == *".test"* ]] || [[ "$name" == *".stories"* ]]; then
144
+ continue
145
+ fi
146
+
147
+ found=$((found + 1))
148
+
149
+ if grep -q "| $name |" "$APP_MAP" 2>/dev/null; then
150
+ echo -e " ${GREEN}✓${NC} $name"
151
+ else
152
+ echo -e " ${YELLOW}+${NC} $name (not in app-map)"
153
+ new=$((new + 1))
154
+ fi
155
+ fi
156
+ done < <(find "$SCAN_DIR" -type f \( -name "*.tsx" -o -name "*.jsx" -o -name "*.vue" \) 2>/dev/null)
157
+
158
+ echo ""
159
+ echo "Found: $found components"
160
+ if [ $new -gt 0 ]; then
161
+ echo -e "${YELLOW}$new not in app-map${NC}"
162
+ echo ""
163
+ echo "Add them with: flow update-map add <name> <path>"
164
+ fi
165
+ ;;
166
+
167
+ check)
168
+ echo -e "${CYAN}Checking app-map for drift...${NC}"
169
+ echo ""
170
+
171
+ if [ ! -f "$APP_MAP" ]; then
172
+ echo -e "${RED}No app-map.md found${NC}"
173
+ exit 1
174
+ fi
175
+
176
+ missing=0
177
+ orphaned=0
178
+
179
+ # Extract component paths from app-map and check if they exist
180
+ echo -e "${YELLOW}Checking mapped components...${NC}"
181
+
182
+ grep "^\| " "$APP_MAP" | grep -v "^| ---" | grep -v "^| Component" | grep -v "^| Screen" | grep -v "^| Modal" | while IFS='|' read -r _ name _ path _; do
183
+ # Clean up the path
184
+ path=$(echo "$path" | sed 's/`//g' | xargs)
185
+ name=$(echo "$name" | xargs)
186
+
187
+ if [ -n "$path" ] && [ "$path" != "Path" ]; then
188
+ # Check if path exists (try common extensions)
189
+ found=false
190
+ for ext in "" ".tsx" ".jsx" ".vue" ".ts" ".js"; do
191
+ if [ -f "src/$path$ext" ] || [ -f "$path$ext" ] || [ -d "src/$path" ] || [ -d "$path" ]; then
192
+ found=true
193
+ break
194
+ fi
195
+ done
196
+
197
+ if [ "$found" = true ]; then
198
+ echo -e " ${GREEN}✓${NC} $name"
199
+ else
200
+ echo -e " ${RED}✗${NC} $name - not found at $path"
201
+ orphaned=$((orphaned + 1))
202
+ fi
203
+ fi
204
+ done
205
+
206
+ echo ""
207
+
208
+ if [ $orphaned -gt 0 ]; then
209
+ echo -e "${YELLOW}Found $orphaned orphaned entries in app-map${NC}"
210
+ echo "Consider removing them or updating paths."
211
+ else
212
+ echo -e "${GREEN}✓ All mapped components exist${NC}"
213
+ fi
214
+ ;;
215
+
216
+ help|--help|-h|"")
217
+ show_help
218
+ ;;
219
+
220
+ *)
221
+ show_help
222
+ exit 1
223
+ ;;
224
+ esac