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
|
@@ -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
|