workerssuper 5.0.4

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 (135) hide show
  1. package/.claude-plugin/marketplace.json +20 -0
  2. package/.claude-plugin/plugin.json +13 -0
  3. package/.codex/INSTALL.md +67 -0
  4. package/.cursor-plugin/plugin.json +18 -0
  5. package/.gitattributes +18 -0
  6. package/.github/FUNDING.yml +3 -0
  7. package/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
  8. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  9. package/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
  10. package/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
  11. package/.github/PULL_REQUEST_TEMPLATE.md +87 -0
  12. package/.opencode/INSTALL.md +83 -0
  13. package/.opencode/plugins/superpowers.js +107 -0
  14. package/CHANGELOG.md +13 -0
  15. package/CODE_OF_CONDUCT.md +128 -0
  16. package/GEMINI.md +2 -0
  17. package/LICENSE +21 -0
  18. package/README.md +187 -0
  19. package/RELEASE-NOTES.md +1057 -0
  20. package/agents/code-reviewer.md +48 -0
  21. package/commands/brainstorm.md +5 -0
  22. package/commands/execute-plan.md +5 -0
  23. package/commands/write-plan.md +5 -0
  24. package/docs/README.codex.md +126 -0
  25. package/docs/README.opencode.md +130 -0
  26. package/docs/plans/2025-11-22-opencode-support-design.md +294 -0
  27. package/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
  28. package/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
  29. package/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
  30. package/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
  31. package/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
  32. package/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
  33. package/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
  34. package/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
  35. package/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
  36. package/docs/testing.md +303 -0
  37. package/docs/windows/polyglot-hooks.md +212 -0
  38. package/gemini-extension.json +6 -0
  39. package/hooks/hooks-cursor.json +10 -0
  40. package/hooks/hooks.json +16 -0
  41. package/hooks/run-hook.cmd +46 -0
  42. package/hooks/session-start +57 -0
  43. package/package.json +5 -0
  44. package/skills/brainstorming/SKILL.md +164 -0
  45. package/skills/brainstorming/scripts/frame-template.html +214 -0
  46. package/skills/brainstorming/scripts/helper.js +88 -0
  47. package/skills/brainstorming/scripts/server.cjs +338 -0
  48. package/skills/brainstorming/scripts/start-server.sh +153 -0
  49. package/skills/brainstorming/scripts/stop-server.sh +55 -0
  50. package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  51. package/skills/brainstorming/visual-companion.md +286 -0
  52. package/skills/dispatching-parallel-agents/SKILL.md +182 -0
  53. package/skills/executing-plans/SKILL.md +70 -0
  54. package/skills/finishing-a-development-branch/SKILL.md +200 -0
  55. package/skills/receiving-code-review/SKILL.md +213 -0
  56. package/skills/requesting-code-review/SKILL.md +105 -0
  57. package/skills/requesting-code-review/code-reviewer.md +146 -0
  58. package/skills/subagent-driven-development/SKILL.md +277 -0
  59. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  60. package/skills/subagent-driven-development/implementer-prompt.md +113 -0
  61. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  62. package/skills/systematic-debugging/CREATION-LOG.md +119 -0
  63. package/skills/systematic-debugging/SKILL.md +296 -0
  64. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  65. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  66. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  67. package/skills/systematic-debugging/find-polluter.sh +63 -0
  68. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  69. package/skills/systematic-debugging/test-academic.md +14 -0
  70. package/skills/systematic-debugging/test-pressure-1.md +58 -0
  71. package/skills/systematic-debugging/test-pressure-2.md +68 -0
  72. package/skills/systematic-debugging/test-pressure-3.md +69 -0
  73. package/skills/test-driven-development/SKILL.md +371 -0
  74. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  75. package/skills/using-git-worktrees/SKILL.md +218 -0
  76. package/skills/using-superpowers/SKILL.md +115 -0
  77. package/skills/using-superpowers/references/codex-tools.md +25 -0
  78. package/skills/using-superpowers/references/gemini-tools.md +33 -0
  79. package/skills/verification-before-completion/SKILL.md +139 -0
  80. package/skills/writing-plans/SKILL.md +145 -0
  81. package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  82. package/skills/writing-skills/SKILL.md +655 -0
  83. package/skills/writing-skills/anthropic-best-practices.md +1150 -0
  84. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  85. package/skills/writing-skills/graphviz-conventions.dot +172 -0
  86. package/skills/writing-skills/persuasion-principles.md +187 -0
  87. package/skills/writing-skills/render-graphs.js +168 -0
  88. package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  89. package/tests/brainstorm-server/package-lock.json +36 -0
  90. package/tests/brainstorm-server/package.json +10 -0
  91. package/tests/brainstorm-server/server.test.js +424 -0
  92. package/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
  93. package/tests/brainstorm-server/ws-protocol.test.js +392 -0
  94. package/tests/claude-code/README.md +158 -0
  95. package/tests/claude-code/analyze-token-usage.py +168 -0
  96. package/tests/claude-code/run-skill-tests.sh +187 -0
  97. package/tests/claude-code/test-document-review-system.sh +177 -0
  98. package/tests/claude-code/test-helpers.sh +202 -0
  99. package/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
  100. package/tests/claude-code/test-subagent-driven-development.sh +165 -0
  101. package/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
  102. package/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
  103. package/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
  104. package/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
  105. package/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
  106. package/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
  107. package/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
  108. package/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
  109. package/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
  110. package/tests/explicit-skill-requests/run-all.sh +70 -0
  111. package/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
  112. package/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
  113. package/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
  114. package/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
  115. package/tests/explicit-skill-requests/run-test.sh +136 -0
  116. package/tests/opencode/run-tests.sh +163 -0
  117. package/tests/opencode/setup.sh +73 -0
  118. package/tests/opencode/test-plugin-loading.sh +72 -0
  119. package/tests/opencode/test-priority.sh +198 -0
  120. package/tests/opencode/test-tools.sh +104 -0
  121. package/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
  122. package/tests/skill-triggering/prompts/executing-plans.txt +1 -0
  123. package/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
  124. package/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
  125. package/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
  126. package/tests/skill-triggering/prompts/writing-plans.txt +10 -0
  127. package/tests/skill-triggering/run-all.sh +60 -0
  128. package/tests/skill-triggering/run-test.sh +88 -0
  129. package/tests/subagent-driven-dev/go-fractals/design.md +81 -0
  130. package/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
  131. package/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
  132. package/tests/subagent-driven-dev/run-test.sh +106 -0
  133. package/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
  134. package/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
  135. package/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env bash
2
+ # Run a subagent-driven-development test
3
+ # Usage: ./run-test.sh <test-name> [--plugin-dir <path>]
4
+ #
5
+ # Example:
6
+ # ./run-test.sh go-fractals
7
+ # ./run-test.sh svelte-todo --plugin-dir /path/to/superpowers
8
+
9
+ set -e
10
+
11
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
12
+ TEST_NAME="${1:?Usage: $0 <test-name> [--plugin-dir <path>]}"
13
+ shift
14
+
15
+ # Parse optional arguments
16
+ PLUGIN_DIR=""
17
+ while [[ $# -gt 0 ]]; do
18
+ case $1 in
19
+ --plugin-dir)
20
+ PLUGIN_DIR="$2"
21
+ shift 2
22
+ ;;
23
+ *)
24
+ echo "Unknown option: $1"
25
+ exit 1
26
+ ;;
27
+ esac
28
+ done
29
+
30
+ # Default plugin dir to parent of tests directory
31
+ if [[ -z "$PLUGIN_DIR" ]]; then
32
+ PLUGIN_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
33
+ fi
34
+
35
+ # Verify test exists
36
+ TEST_DIR="$SCRIPT_DIR/$TEST_NAME"
37
+ if [[ ! -d "$TEST_DIR" ]]; then
38
+ echo "Error: Test '$TEST_NAME' not found at $TEST_DIR"
39
+ echo "Available tests:"
40
+ ls -1 "$SCRIPT_DIR" | grep -v '\.sh$' | grep -v '\.md$'
41
+ exit 1
42
+ fi
43
+
44
+ # Create timestamped output directory
45
+ TIMESTAMP=$(date +%s)
46
+ OUTPUT_BASE="/tmp/superpowers-tests/$TIMESTAMP/subagent-driven-development"
47
+ OUTPUT_DIR="$OUTPUT_BASE/$TEST_NAME"
48
+ mkdir -p "$OUTPUT_DIR"
49
+
50
+ echo "=== Subagent-Driven Development Test ==="
51
+ echo "Test: $TEST_NAME"
52
+ echo "Output: $OUTPUT_DIR"
53
+ echo "Plugin: $PLUGIN_DIR"
54
+ echo ""
55
+
56
+ # Scaffold the project
57
+ echo ">>> Scaffolding project..."
58
+ "$TEST_DIR/scaffold.sh" "$OUTPUT_DIR/project"
59
+ echo ""
60
+
61
+ # Prepare the prompt
62
+ PLAN_PATH="$OUTPUT_DIR/project/plan.md"
63
+ PROMPT="Execute this plan using superpowers:subagent-driven-development. The plan is at: $PLAN_PATH"
64
+
65
+ # Run Claude with JSON output for token tracking
66
+ LOG_FILE="$OUTPUT_DIR/claude-output.json"
67
+ echo ">>> Running Claude..."
68
+ echo "Prompt: $PROMPT"
69
+ echo "Log file: $LOG_FILE"
70
+ echo ""
71
+
72
+ # Run claude and capture output
73
+ # Using stream-json to get token usage stats
74
+ # --dangerously-skip-permissions for automated testing (subagents don't inherit parent settings)
75
+ cd "$OUTPUT_DIR/project"
76
+ claude -p "$PROMPT" \
77
+ --plugin-dir "$PLUGIN_DIR" \
78
+ --dangerously-skip-permissions \
79
+ --output-format stream-json \
80
+ --verbose \
81
+ > "$LOG_FILE" 2>&1 || true
82
+
83
+ # Extract final stats
84
+ echo ""
85
+ echo ">>> Test complete"
86
+ echo "Project directory: $OUTPUT_DIR/project"
87
+ echo "Claude log: $LOG_FILE"
88
+ echo ""
89
+
90
+ # Show token usage if available
91
+ if command -v jq &> /dev/null; then
92
+ echo ">>> Token usage:"
93
+ # Extract usage from the last message with usage info
94
+ jq -s '[.[] | select(.type == "result")] | last | .usage' "$LOG_FILE" 2>/dev/null || echo "(could not parse usage)"
95
+ echo ""
96
+ fi
97
+
98
+ echo ">>> Next steps:"
99
+ echo "1. Review the project: cd $OUTPUT_DIR/project"
100
+ echo "2. Review Claude's log: less $LOG_FILE"
101
+ echo "3. Check if tests pass:"
102
+ if [[ "$TEST_NAME" == "go-fractals" ]]; then
103
+ echo " cd $OUTPUT_DIR/project && go test ./..."
104
+ elif [[ "$TEST_NAME" == "svelte-todo" ]]; then
105
+ echo " cd $OUTPUT_DIR/project && npm test && npx playwright test"
106
+ fi
@@ -0,0 +1,70 @@
1
+ # Svelte Todo List - Design
2
+
3
+ ## Overview
4
+
5
+ A simple todo list application built with Svelte. Supports creating, completing, and deleting todos with localStorage persistence.
6
+
7
+ ## Features
8
+
9
+ - Add new todos
10
+ - Mark todos as complete/incomplete
11
+ - Delete todos
12
+ - Filter by: All / Active / Completed
13
+ - Clear all completed todos
14
+ - Persist to localStorage
15
+ - Show count of remaining items
16
+
17
+ ## User Interface
18
+
19
+ ```
20
+ ┌─────────────────────────────────────────┐
21
+ │ Svelte Todos │
22
+ ├─────────────────────────────────────────┤
23
+ │ [________________________] [Add] │
24
+ ├─────────────────────────────────────────┤
25
+ │ [ ] Buy groceries [x] │
26
+ │ [✓] Walk the dog [x] │
27
+ │ [ ] Write code [x] │
28
+ ├─────────────────────────────────────────┤
29
+ │ 2 items left │
30
+ │ [All] [Active] [Completed] [Clear ✓] │
31
+ └─────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## Components
35
+
36
+ ```
37
+ src/
38
+ App.svelte # Main app, state management
39
+ lib/
40
+ TodoInput.svelte # Text input + Add button
41
+ TodoList.svelte # List container
42
+ TodoItem.svelte # Single todo with checkbox, text, delete
43
+ FilterBar.svelte # Filter buttons + clear completed
44
+ store.ts # Svelte store for todos
45
+ storage.ts # localStorage persistence
46
+ ```
47
+
48
+ ## Data Model
49
+
50
+ ```typescript
51
+ interface Todo {
52
+ id: string; // UUID
53
+ text: string; // Todo text
54
+ completed: boolean;
55
+ }
56
+
57
+ type Filter = 'all' | 'active' | 'completed';
58
+ ```
59
+
60
+ ## Acceptance Criteria
61
+
62
+ 1. Can add a todo by typing and pressing Enter or clicking Add
63
+ 2. Can toggle todo completion by clicking checkbox
64
+ 3. Can delete a todo by clicking X button
65
+ 4. Filter buttons show correct subset of todos
66
+ 5. "X items left" shows count of incomplete todos
67
+ 6. "Clear completed" removes all completed todos
68
+ 7. Todos persist across page refresh (localStorage)
69
+ 8. Empty state shows helpful message
70
+ 9. All tests pass
@@ -0,0 +1,222 @@
1
+ # Svelte Todo List - Implementation Plan
2
+
3
+ Execute this plan using the `superpowers:subagent-driven-development` skill.
4
+
5
+ ## Context
6
+
7
+ Building a todo list app with Svelte. See `design.md` for full specification.
8
+
9
+ ## Tasks
10
+
11
+ ### Task 1: Project Setup
12
+
13
+ Create the Svelte project with Vite.
14
+
15
+ **Do:**
16
+ - Run `npm create vite@latest . -- --template svelte-ts`
17
+ - Install dependencies with `npm install`
18
+ - Verify dev server works
19
+ - Clean up default Vite template content from App.svelte
20
+
21
+ **Verify:**
22
+ - `npm run dev` starts server
23
+ - App shows minimal "Svelte Todos" heading
24
+ - `npm run build` succeeds
25
+
26
+ ---
27
+
28
+ ### Task 2: Todo Store
29
+
30
+ Create the Svelte store for todo state management.
31
+
32
+ **Do:**
33
+ - Create `src/lib/store.ts`
34
+ - Define `Todo` interface with id, text, completed
35
+ - Create writable store with initial empty array
36
+ - Export functions: `addTodo(text)`, `toggleTodo(id)`, `deleteTodo(id)`, `clearCompleted()`
37
+ - Create `src/lib/store.test.ts` with tests for each function
38
+
39
+ **Verify:**
40
+ - Tests pass: `npm run test` (install vitest if needed)
41
+
42
+ ---
43
+
44
+ ### Task 3: localStorage Persistence
45
+
46
+ Add persistence layer for todos.
47
+
48
+ **Do:**
49
+ - Create `src/lib/storage.ts`
50
+ - Implement `loadTodos(): Todo[]` and `saveTodos(todos: Todo[])`
51
+ - Handle JSON parse errors gracefully (return empty array)
52
+ - Integrate with store: load on init, save on change
53
+ - Add tests for load/save/error handling
54
+
55
+ **Verify:**
56
+ - Tests pass
57
+ - Manual test: add todo, refresh page, todo persists
58
+
59
+ ---
60
+
61
+ ### Task 4: TodoInput Component
62
+
63
+ Create the input component for adding todos.
64
+
65
+ **Do:**
66
+ - Create `src/lib/TodoInput.svelte`
67
+ - Text input bound to local state
68
+ - Add button calls `addTodo()` and clears input
69
+ - Enter key also submits
70
+ - Disable Add button when input is empty
71
+ - Add component tests
72
+
73
+ **Verify:**
74
+ - Tests pass
75
+ - Component renders input and button
76
+
77
+ ---
78
+
79
+ ### Task 5: TodoItem Component
80
+
81
+ Create the single todo item component.
82
+
83
+ **Do:**
84
+ - Create `src/lib/TodoItem.svelte`
85
+ - Props: `todo: Todo`
86
+ - Checkbox toggles completion (calls `toggleTodo`)
87
+ - Text with strikethrough when completed
88
+ - Delete button (X) calls `deleteTodo`
89
+ - Add component tests
90
+
91
+ **Verify:**
92
+ - Tests pass
93
+ - Component renders checkbox, text, delete button
94
+
95
+ ---
96
+
97
+ ### Task 6: TodoList Component
98
+
99
+ Create the list container component.
100
+
101
+ **Do:**
102
+ - Create `src/lib/TodoList.svelte`
103
+ - Props: `todos: Todo[]`
104
+ - Renders TodoItem for each todo
105
+ - Shows "No todos yet" when empty
106
+ - Add component tests
107
+
108
+ **Verify:**
109
+ - Tests pass
110
+ - Component renders list of TodoItems
111
+
112
+ ---
113
+
114
+ ### Task 7: FilterBar Component
115
+
116
+ Create the filter and status bar component.
117
+
118
+ **Do:**
119
+ - Create `src/lib/FilterBar.svelte`
120
+ - Props: `todos: Todo[]`, `filter: Filter`, `onFilterChange: (f: Filter) => void`
121
+ - Show count: "X items left" (incomplete count)
122
+ - Three filter buttons: All, Active, Completed
123
+ - Active filter is visually highlighted
124
+ - "Clear completed" button (hidden when no completed todos)
125
+ - Add component tests
126
+
127
+ **Verify:**
128
+ - Tests pass
129
+ - Component renders count, filters, clear button
130
+
131
+ ---
132
+
133
+ ### Task 8: App Integration
134
+
135
+ Wire all components together in App.svelte.
136
+
137
+ **Do:**
138
+ - Import all components and store
139
+ - Add filter state (default: 'all')
140
+ - Compute filtered todos based on filter state
141
+ - Render: heading, TodoInput, TodoList, FilterBar
142
+ - Pass appropriate props to each component
143
+
144
+ **Verify:**
145
+ - App renders all components
146
+ - Adding todos works
147
+ - Toggling works
148
+ - Deleting works
149
+
150
+ ---
151
+
152
+ ### Task 9: Filter Functionality
153
+
154
+ Ensure filtering works end-to-end.
155
+
156
+ **Do:**
157
+ - Verify filter buttons change displayed todos
158
+ - 'all' shows all todos
159
+ - 'active' shows only incomplete todos
160
+ - 'completed' shows only completed todos
161
+ - Clear completed removes completed todos and resets filter if needed
162
+ - Add integration tests
163
+
164
+ **Verify:**
165
+ - Filter tests pass
166
+ - Manual verification of all filter states
167
+
168
+ ---
169
+
170
+ ### Task 10: Styling and Polish
171
+
172
+ Add CSS styling for usability.
173
+
174
+ **Do:**
175
+ - Style the app to match the design mockup
176
+ - Completed todos have strikethrough and muted color
177
+ - Active filter button is highlighted
178
+ - Input has focus styles
179
+ - Delete button appears on hover (or always on mobile)
180
+ - Responsive layout
181
+
182
+ **Verify:**
183
+ - App is visually usable
184
+ - Styles don't break functionality
185
+
186
+ ---
187
+
188
+ ### Task 11: End-to-End Tests
189
+
190
+ Add Playwright tests for full user flows.
191
+
192
+ **Do:**
193
+ - Install Playwright: `npm init playwright@latest`
194
+ - Create `tests/todo.spec.ts`
195
+ - Test flows:
196
+ - Add a todo
197
+ - Complete a todo
198
+ - Delete a todo
199
+ - Filter todos
200
+ - Clear completed
201
+ - Persistence (add, reload, verify)
202
+
203
+ **Verify:**
204
+ - `npx playwright test` passes
205
+
206
+ ---
207
+
208
+ ### Task 12: README
209
+
210
+ Document the project.
211
+
212
+ **Do:**
213
+ - Create `README.md` with:
214
+ - Project description
215
+ - Setup: `npm install`
216
+ - Development: `npm run dev`
217
+ - Testing: `npm test` and `npx playwright test`
218
+ - Build: `npm run build`
219
+
220
+ **Verify:**
221
+ - README accurately describes the project
222
+ - Instructions work
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env bash
2
+ # Scaffold the Svelte Todo test project
3
+ # Usage: ./scaffold.sh /path/to/target/directory
4
+
5
+ set -e
6
+
7
+ TARGET_DIR="${1:?Usage: $0 <target-directory>}"
8
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
9
+
10
+ # Create target directory
11
+ mkdir -p "$TARGET_DIR"
12
+ cd "$TARGET_DIR"
13
+
14
+ # Initialize git repo
15
+ git init
16
+
17
+ # Copy design and plan
18
+ cp "$SCRIPT_DIR/design.md" .
19
+ cp "$SCRIPT_DIR/plan.md" .
20
+
21
+ # Create .claude settings to allow reads/writes in this directory
22
+ mkdir -p .claude
23
+ cat > .claude/settings.local.json << 'SETTINGS'
24
+ {
25
+ "permissions": {
26
+ "allow": [
27
+ "Read(**)",
28
+ "Edit(**)",
29
+ "Write(**)",
30
+ "Bash(npm:*)",
31
+ "Bash(npx:*)",
32
+ "Bash(mkdir:*)",
33
+ "Bash(git:*)"
34
+ ]
35
+ }
36
+ }
37
+ SETTINGS
38
+
39
+ # Create initial commit
40
+ git add .
41
+ git commit -m "Initial project setup with design and plan"
42
+
43
+ echo "Scaffolded Svelte Todo project at: $TARGET_DIR"
44
+ echo ""
45
+ echo "To run the test:"
46
+ echo " claude -p \"Execute this plan using superpowers:subagent-driven-development. Plan: $TARGET_DIR/plan.md\" --plugin-dir /path/to/superpowers"