ccsetup 1.0.9 → 1.1.1

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 (49) hide show
  1. package/README.md +106 -16
  2. package/bin/create-project.js +88 -15
  3. package/package.json +4 -3
  4. package/template/GEMINI.md +126 -0
  5. package/template/agents/README.md +179 -25
  6. package/template/agents/ai-engineer.md +31 -0
  7. package/template/agents/api-documenter.md +31 -0
  8. package/template/agents/architect-review.md +42 -0
  9. package/template/agents/backend-architect.md +29 -0
  10. package/template/agents/business-analyst.md +34 -0
  11. package/template/agents/c-pro.md +34 -0
  12. package/template/agents/cloud-architect.md +31 -0
  13. package/template/agents/code-reviewer.md +28 -0
  14. package/template/agents/content-marketer.md +34 -0
  15. package/template/agents/context-manager.md +63 -0
  16. package/template/agents/cpp-pro.md +37 -0
  17. package/template/agents/customer-support.md +34 -0
  18. package/template/agents/data-engineer.md +31 -0
  19. package/template/agents/data-scientist.md +28 -0
  20. package/template/agents/database-admin.md +31 -0
  21. package/template/agents/database-optimizer.md +31 -0
  22. package/template/agents/debugger.md +29 -0
  23. package/template/agents/deployment-engineer.md +31 -0
  24. package/template/agents/devops-troubleshooter.md +31 -0
  25. package/template/agents/dx-optimizer.md +62 -0
  26. package/template/agents/error-detective.md +31 -0
  27. package/template/agents/frontend-developer.md +30 -0
  28. package/template/agents/golang-pro.md +31 -0
  29. package/template/agents/graphql-architect.md +31 -0
  30. package/template/agents/incident-responder.md +73 -0
  31. package/template/agents/javascript-pro.md +34 -0
  32. package/template/agents/legacy-modernizer.md +31 -0
  33. package/template/agents/ml-engineer.md +31 -0
  34. package/template/agents/mlops-engineer.md +56 -0
  35. package/template/agents/mobile-developer.md +31 -0
  36. package/template/agents/network-engineer.md +31 -0
  37. package/template/agents/payment-integration.md +31 -0
  38. package/template/agents/performance-engineer.md +31 -0
  39. package/template/agents/prompt-engineer.md +58 -0
  40. package/template/agents/python-pro.md +31 -0
  41. package/template/agents/quant-analyst.md +31 -0
  42. package/template/agents/risk-manager.md +40 -0
  43. package/template/agents/rust-pro.md +34 -0
  44. package/template/agents/sales-automator.md +34 -0
  45. package/template/agents/search-specialist.md +58 -0
  46. package/template/agents/security-auditor.md +31 -0
  47. package/template/agents/sql-pro.md +34 -0
  48. package/template/agents/terraform-specialist.md +34 -0
  49. package/template/agents/test-automator.md +31 -0
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/ccsetup.svg)](https://www.npmjs.com/package/ccsetup)
7
7
 
8
- Quick setup for Claude Code projects with built-in agents, ticket system, planning tools and agent orchestration workflow.
8
+ Quick setup for Claude Code projects with built-in 50+ agents, ticket system, planning tools and agent orchestration workflow.
9
9
 
10
10
  ## Installation
11
11
 
@@ -32,21 +32,25 @@ Options:
32
32
  --agents Interactive agent selection mode
33
33
  --all-agents Include all agents without prompting
34
34
  --no-agents Skip agent selection entirely
35
+ --browse-agents Copy all agents to /agents folder for browsing
35
36
  --help, -h Show help message
36
37
 
37
38
  Examples:
38
- ccsetup # Create in current directory
39
- ccsetup my-project # Create in new directory
40
- ccsetup . --force # Overwrite files in current directory
41
- ccsetup my-app --dry-run # Preview changes without creating files
42
- ccsetup --agents # Interactive agent selection only
43
- ccsetup my-app --all-agents # Include all agents automatically
39
+ ccsetup # Create in current directory
40
+ ccsetup my-project # Create in new directory
41
+ ccsetup . --force # Overwrite files in current directory
42
+ ccsetup my-app --dry-run # Preview changes without creating files
43
+ ccsetup --agents # Interactive agent selection only
44
+ ccsetup my-app --all-agents # Include all agents automatically
45
+ ccsetup --browse-agents # Copy all agents for manual selection
44
46
  ```
45
47
 
46
48
  ## What's Included
47
49
 
48
50
  The boilerplate template creates:
51
+
49
52
  - **CLAUDE.md** - Project instructions for Claude
53
+ - **GEMINI.md** - (Optional) Waterfall Architect prompt for comprehensive task planning - optimized for Gemini's larger context window
50
54
  - **agents/** - Specialized AI agents (planner, coder, checker, etc.)
51
55
  - **tickets/** - Task tracking system
52
56
  - **plans/** - Project planning documents
@@ -56,6 +60,7 @@ The boilerplate template creates:
56
60
  ## Key Features
57
61
 
58
62
  - 🎯 **Interactive Agent Selection** - Choose which agents to include during setup
63
+ - 📚 **Browse Mode** - Copy all 50+ agents to explore and manually select later
59
64
  - 🔄 **Agent Orchestration Workflows** - Pre-defined workflows that automatically coordinate multiple agents for complex tasks
60
65
  - 🔒 **Smart Conflict Resolution** - Handle existing files with skip/rename/overwrite options
61
66
  - 📁 **.claude Directory Support** - Automatic creation of Claude Code directory structure
@@ -73,6 +78,7 @@ The boilerplate template creates:
73
78
  ## Usage
74
79
 
75
80
  1. Create a new project:
81
+
76
82
  ```bash
77
83
  npx ccsetup my-awesome-project
78
84
  cd my-awesome-project
@@ -97,22 +103,50 @@ When running in the current directory (`npx ccsetup .`), it will check for Claud
97
103
 
98
104
  ## Using Agents
99
105
 
100
- The boilerplate includes several specialized agents in the `agents/` directory:
106
+ The boilerplate includes 50+ specialized agents covering all aspects of development:
107
+
108
+ ### Core Development Agents
101
109
 
102
110
  - **planner.md** - Strategic planning and task breakdown
103
111
  - **coder.md** - Implementation and development
104
112
  - **checker.md** - Testing and quality assurance
105
113
  - **researcher.md** - Research and information gathering
106
- - **blockchain.md** - Web3 and smart contract development
107
- - **frontend.md** - UI/UX and frontend development
108
- - **backend.md** - API design and server-side development
109
- - **shadcn.md** - shadcn/ui component development
114
+
115
+ ### Language Specialists
116
+
117
+ - **python-pro.md**, **golang-pro.md**, **rust-pro.md**, **javascript-pro.md**, **c-pro.md**, **cpp-pro.md**, **sql-pro.md**
118
+
119
+ ### Infrastructure & Operations
120
+
121
+ - **devops-troubleshooter.md**, **cloud-architect.md**, **terraform-specialist.md**, **database-admin.md**, **network-engineer.md**
122
+
123
+ ### Quality & Security
124
+
125
+ - **code-reviewer.md**, **security-auditor.md**, **test-automator.md**, **performance-engineer.md**
126
+
127
+ ### And Many More!
128
+
129
+ Over 50 specialized agents for frontend, backend, blockchain, ML/AI, business analysis, and more!
130
+
131
+ 📖 **[View all agents with detailed descriptions →](https://github.com/MrMarciaOng/ccsetup/blob/main/template/agents/README.md)**
110
132
 
111
133
  ### Interactive Agent Selection
112
134
 
113
- During setup, ccsetup will prompt you to select which agents to include:
135
+ During setup, ccsetup will prompt you to either:
136
+
137
+ 1. **Browse Mode** - Get all 50+ agents to explore later
138
+ 2. **Select Specific Agents** - Choose from curated list
114
139
 
115
140
  ```bash
141
+ 🤖 How would you like to set up agents for your Claude Code project?
142
+
143
+ Use arrow keys to navigate, Enter to select
144
+
145
+ > Browse Mode - Copy all 50+ agents to /agents folder (explore later)
146
+ Select Agents - Choose specific agents to include now
147
+ Skip - Don't include any agents
148
+
149
+ # If you choose "Select Agents":
116
150
  🤖 Select agents to include in your Claude Code project
117
151
 
118
152
  Use arrow keys to navigate, space to select/deselect, 'a' to toggle all
@@ -129,11 +163,13 @@ Choose your agents:
129
163
  ```
130
164
 
131
165
  You can also use flags to control agent selection:
166
+
132
167
  - `--all-agents` - Include all available agents
133
168
  - `--no-agents` - Skip agent selection entirely
134
169
  - `--agents` - Preview available agents without creating a project
135
170
 
136
171
  Example:
172
+
137
173
  ```bash
138
174
  # Include all agents without prompting
139
175
  npx ccsetup my-project --all-agents
@@ -145,6 +181,46 @@ npx ccsetup my-project --no-agents
145
181
  npx ccsetup --agents
146
182
  ```
147
183
 
184
+ ### Browse Mode - New Feature! 📚
185
+
186
+ With 50+ specialized agents available, browse mode lets you explore all agents at your leisure:
187
+
188
+ ```bash
189
+ # Copy all agents to /agents folder for browsing
190
+ npx ccsetup my-project --browse-agents
191
+ ```
192
+
193
+ In browse mode:
194
+
195
+ - All 50+ agents are copied to your project's `/agents` folder
196
+ - You can read through each agent to understand their capabilities
197
+ - Manually copy the ones you want to `~/.claude/agents` when ready
198
+ - No overwhelming selection process during setup!
199
+
200
+ Example workflow:
201
+
202
+ ```bash
203
+ # 1. Create project with browse mode
204
+ npx ccsetup my-project --browse-agents
205
+
206
+ # 2. Explore agents
207
+ cd my-project/agents
208
+ ls # See all available agents
209
+
210
+ # 3. Read agent descriptions
211
+ cat code-reviewer.md
212
+
213
+ # 4. Copy desired agents to activate them
214
+ cp code-reviewer.md ~/.claude/agents/
215
+ cp python-pro.md ~/.claude/agents/
216
+ ```
217
+
218
+ This approach is perfect when you:
219
+
220
+ - Want to explore all available agents
221
+ - Prefer to choose agents based on your project needs as they arise
222
+ - Don't want to be overwhelmed with 50+ choices during setup
223
+
148
224
  ### Conflict Resolution
149
225
 
150
226
  When existing files are detected, ccsetup offers smart conflict resolution:
@@ -160,10 +236,11 @@ Conflict resolution options:
160
236
  2) rename (r) - Save template files with -ccsetup suffix
161
237
  3) overwrite (o) - Replace with template versions
162
238
 
163
- Your choice for CLAUDE.md [s/r/o]:
239
+ Your choice for CLAUDE.md [s/r/o]:
164
240
  ```
165
241
 
166
242
  Categories are handled separately:
243
+
167
244
  - **CLAUDE.md** - Project instructions (warns before overwriting)
168
245
  - **Agents** - AI agent files
169
246
  - **Documentation** - docs/ folder files
@@ -250,11 +327,13 @@ The template includes powerful agent orchestration workflows that guide Claude t
250
327
  ### 💡 How to Use Agent Orchestration
251
328
 
252
329
  1. **Read the orchestration guide**:
330
+
253
331
  ```
254
332
  "Read docs/agent-orchestration.md to understand available workflows"
255
333
  ```
256
334
 
257
335
  2. **Choose your workflow**:
336
+
258
337
  - Feature Development: Complex new features
259
338
  - Bug Fix: Investigating and fixing issues
260
339
  - Refactoring: Improving code quality
@@ -264,6 +343,7 @@ The template includes powerful agent orchestration workflows that guide Claude t
264
343
  - QA: Quality assurance
265
344
 
266
345
  3. **Let Claude guide you**:
346
+
267
347
  ```
268
348
  "I need to [your task]. Which workflow should we use?"
269
349
  ```
@@ -280,24 +360,28 @@ The orchestration ensures nothing is missed and follows best practices automatic
280
360
  After setting up your project with `ccsetup`:
281
361
 
282
362
  1. **Open Claude Code** in your project directory:
363
+
283
364
  ```bash
284
365
  cd my-awesome-project
285
366
  claude
286
367
  ```
287
368
 
288
369
  2. **Let Claude understand your project** by asking:
370
+
289
371
  - "Read the CLAUDE.md file to understand this project"
290
372
  - "Check the roadmap in docs/ROADMAP.md"
291
373
  - "What agents are available in the agents directory?"
292
374
  - "Read the README files in docs, tickets, and plans folders to understand the workflow"
293
375
 
294
376
  3. **Start working** with Claude:
377
+
295
378
  - Use the planner agent: "Use the planner agent to help me design a user authentication system"
296
379
  - Create tickets: "Create a ticket for implementing user login"
297
380
  - Implement features: "Use the coder agent to implement the login functionality"
298
381
  - Review code: "Use the checker agent to review the code we just wrote"
299
382
 
300
383
  4. **Important setup steps**:
384
+
301
385
  - **Update ROADMAP.md**: Define your project's goals, features, and development phases
302
386
  - **Read folder documentation**: Each folder (docs/, tickets/, plans/) has a README explaining its purpose and format
303
387
  - **Customize CLAUDE.md**: Add project-specific instructions, commands, and context
@@ -312,13 +396,15 @@ After setting up your project with `ccsetup`:
312
396
  ## Features
313
397
 
314
398
  ### Core Features
399
+
315
400
  - ✅ Pre-configured project structure for Claude Code
316
- - 🤖 Multiple specialized agents for different tasks
401
+ - 🤖 50+ specialized agents from the [wshobson/agents](https://github.com/wshobson/agents) collection - [view all →](https://github.com/MrMarciaOng/ccsetup/blob/main/template/agents/README.md)
317
402
  - 🎫 Built-in ticket and planning system
318
403
  - 📋 Ready-to-use boilerplate with best practices
319
404
  - 📁 Automatic .claude directory integration
320
405
 
321
406
  ### CLI Features
407
+
322
408
  - 🎯 Interactive agent selection with descriptions
323
409
  - 🔄 Smart conflict resolution (skip/rename/overwrite)
324
410
  - 👀 Dry-run mode to preview changes
@@ -327,7 +413,9 @@ After setting up your project with `ccsetup`:
327
413
  - 🛡️ Security validations for file operations
328
414
 
329
415
  ### Agent Orchestration
416
+
330
417
  The template includes `docs/agent-orchestration.md` which defines workflows for:
418
+
331
419
  - **Feature Development** - Researcher → Planner → Coder → Checker
332
420
  - **Bug Fixes** - Researcher → Coder → Checker
333
421
  - **Refactoring** - Researcher → Planner → Coder → Checker
@@ -340,6 +428,8 @@ The template includes `docs/agent-orchestration.md` which defines workflows for:
340
428
 
341
429
  Born from our discussions in TechOverflow with [vichannnnn](https://github.com/vichannnnn) and [nasdin](https://github.com/nasdin)
342
430
 
431
+ The 44 specialized agents collection is from [wshobson/agents](https://github.com/wshobson/agents) - an amazing collection of Claude Code subagents for every development need!
432
+
343
433
  ## License
344
434
 
345
- MIT
435
+ MIT
@@ -12,7 +12,8 @@ const flags = {
12
12
  help: false,
13
13
  allAgents: false,
14
14
  noAgents: false,
15
- agents: false
15
+ agents: false,
16
+ browseAgents: false
16
17
  };
17
18
 
18
19
  let projectName = '.';
@@ -32,6 +33,8 @@ for (let i = 0; i < args.length; i++) {
32
33
  flags.noAgents = true;
33
34
  } else if (arg === '--agents') {
34
35
  flags.agents = true;
36
+ } else if (arg === '--browse-agents') {
37
+ flags.browseAgents = true;
35
38
  } else if (!arg.startsWith('-')) {
36
39
  projectName = arg;
37
40
  }
@@ -48,15 +51,17 @@ Options:
48
51
  --agents Interactive agent selection mode
49
52
  --all-agents Include all agents without prompting
50
53
  --no-agents Skip agent selection entirely
54
+ --browse-agents Copy all agents to /agents folder for browsing
51
55
  --help, -h Show this help message
52
56
 
53
57
  Examples:
54
- ccsetup # Create in current directory
55
- ccsetup my-project # Create in new directory
56
- ccsetup . --force # Overwrite files in current directory
57
- ccsetup my-app --dry-run # Preview changes without creating files
58
- ccsetup --agents # Interactive agent selection only
59
- ccsetup my-app --all-agents # Include all agents automatically
58
+ ccsetup # Create in current directory
59
+ ccsetup my-project # Create in new directory
60
+ ccsetup . --force # Overwrite files in current directory
61
+ ccsetup my-app --dry-run # Preview changes without creating files
62
+ ccsetup --agents # Interactive agent selection only
63
+ ccsetup my-app --all-agents # Include all agents automatically
64
+ ccsetup --browse-agents # Copy all agents for manual selection
60
65
  `);
61
66
  process.exit(0);
62
67
  }
@@ -83,6 +88,11 @@ if (flags.allAgents && flags.noAgents) {
83
88
  process.exit(1);
84
89
  }
85
90
 
91
+ if (flags.browseAgents && (flags.allAgents || flags.noAgents || flags.agents)) {
92
+ console.error('Error: --browse-agents cannot be used with other agent flags');
93
+ process.exit(1);
94
+ }
95
+
86
96
  // Validate the project name
87
97
  if (projectName !== '.') {
88
98
  try {
@@ -658,19 +668,60 @@ async function main() {
658
668
  if (flags.noAgents) {
659
669
  selectedAgentFiles = [];
660
670
  console.log('\n⏭️ Skipping agent selection (--no-agents flag)');
671
+ } else if (flags.browseAgents) {
672
+ selectedAgentFiles = [];
673
+ console.log('\n📚 Browse mode enabled - all agents will be copied to /agents folder');
674
+ console.log(' You can manually copy desired agents to ~/.claude/agents later');
661
675
  } else if (flags.allAgents) {
662
676
  selectedAgentFiles = availableAgents.map(a => a.file).filter(validateAgentFile);
663
677
  console.log(`\n✅ Including all ${selectedAgentFiles.length} agents (--all-agents flag)`);
664
678
  } else if (!flags.dryRun) {
679
+ // Interactive mode selection
680
+ console.log('\n🤖 How would you like to set up agents for your Claude Code project?\n');
681
+ console.log('Use arrow keys to navigate, Enter to select\n');
682
+
665
683
  // Close readline interface before using inquirer
666
684
  if (rl) {
667
685
  rl.close();
668
686
  rl = null;
669
687
  }
670
688
 
671
- // Interactive selection
672
- selectedAgentFiles = await selectAgents(availableAgents);
673
- console.log(`\n✅ Selected ${selectedAgentFiles.length} agent${selectedAgentFiles.length === 1 ? '' : 's'}`);
689
+ // Import select for mode selection
690
+ const selectModule = await import('@inquirer/select');
691
+ const select = selectModule.default;
692
+
693
+ const agentMode = await select({
694
+ message: 'Choose your setup mode:',
695
+ choices: [
696
+ {
697
+ name: 'Browse Mode - Copy all 50+ agents to /agents folder (explore later)',
698
+ value: 'browse'
699
+ },
700
+ {
701
+ name: 'Select Agents - Choose specific agents to include now',
702
+ value: 'select'
703
+ },
704
+ {
705
+ name: 'Skip - Don\'t include any agents',
706
+ value: 'skip'
707
+ }
708
+ ]
709
+ });
710
+
711
+ if (agentMode === 'browse') {
712
+ flags.browseAgents = true;
713
+ selectedAgentFiles = [];
714
+ console.log('\n📚 Browse mode selected - all agents will be copied to /agents folder');
715
+ console.log(' You can manually copy desired agents to ~/.claude/agents later');
716
+ } else if (agentMode === 'skip') {
717
+ flags.noAgents = true;
718
+ selectedAgentFiles = [];
719
+ console.log('\n⏭️ Skipping agent selection');
720
+ } else if (agentMode === 'select') {
721
+ // Interactive selection
722
+ selectedAgentFiles = await selectAgents(availableAgents);
723
+ console.log(`\n✅ Selected ${selectedAgentFiles.length} agent${selectedAgentFiles.length === 1 ? '' : 's'}`);
724
+ }
674
725
 
675
726
  // Recreate readline interface after agent selection
676
727
  if (!flags.force && !flags.dryRun) {
@@ -681,7 +732,8 @@ async function main() {
681
732
  }
682
733
  } else {
683
734
  // In dry-run mode, show what would happen
684
- console.log(`\nWould prompt for agent selection from ${availableAgents.length} available agents`);
735
+ console.log(`\nWould prompt for agent selection mode`);
736
+ console.log(`Would then prompt for agent selection from ${availableAgents.length} available agents`);
685
737
  selectedAgentFiles = availableAgents.map(a => a.file).filter(validateAgentFile); // Include all for scanning purposes
686
738
  }
687
739
 
@@ -724,8 +776,13 @@ async function main() {
724
776
  dirConflicts.push(relativePath || '.');
725
777
  }
726
778
 
727
- // Add selected agent files
728
- for (const agentFile of selectedAgentFiles) {
779
+ // In browse mode, add ALL agent files
780
+ const agentFilesToProcess = flags.browseAgents
781
+ ? availableAgents.map(a => a.file).filter(validateAgentFile)
782
+ : selectedAgentFiles;
783
+
784
+ // Add agent files
785
+ for (const agentFile of agentFilesToProcess) {
729
786
  // Additional validation before processing
730
787
  if (!validateAgentFile(agentFile)) {
731
788
  console.warn(`⚠️ Skipping invalid agent file: ${agentFile}`);
@@ -1014,7 +1071,13 @@ async function main() {
1014
1071
  if (renamedCount > 0) console.log(` 📄 ${renamedCount} template files ${flags.dryRun ? 'would be' : ''} saved with -ccsetup suffix`);
1015
1072
  if (overwrittenCount > 0) console.log(` ♻️ ${overwrittenCount} files ${flags.dryRun ? 'would be' : ''} replaced with template versions`);
1016
1073
  if (!flags.noAgents && !flags.dryRun) {
1017
- console.log(` 🤖 ${selectedAgentFiles.length} agent${selectedAgentFiles.length === 1 ? '' : 's'} ${flags.dryRun ? 'would be' : ''} included in /agents`);
1074
+ if (flags.browseAgents) {
1075
+ const agentCount = availableAgents.length;
1076
+ console.log(` 📚 ${agentCount} agent${agentCount === 1 ? '' : 's'} ${flags.dryRun ? 'would be' : ''} copied to /agents for browsing`);
1077
+ } else if (selectedAgentFiles.length > 0) {
1078
+ console.log(` 🤖 ${selectedAgentFiles.length} agent${selectedAgentFiles.length === 1 ? '' : 's'} ${flags.dryRun ? 'would be' : ''} included in /agents`);
1079
+ console.log(` 📝 Remember to update agent-orchestration.md with workflows for your agents`);
1080
+ }
1018
1081
  }
1019
1082
  if (claudeInitResult && claudeInitResult.createdItems.length > 0) {
1020
1083
  console.log(` 📁 ${claudeInitResult.createdItems.length} items created in .claude directory`);
@@ -1034,7 +1097,17 @@ async function main() {
1034
1097
  }
1035
1098
  console.log(' 1. Edit CLAUDE.md to add your project-specific instructions');
1036
1099
  console.log(' 2. Update docs/ROADMAP.md with your project goals');
1037
- console.log(' 3. Start creating tickets in the tickets/ directory');
1100
+ console.log(' 3. Update docs/agent-orchestration.md to define agent workflows');
1101
+ console.log(' 4. Start creating tickets in the tickets/ directory');
1102
+
1103
+ if (flags.browseAgents) {
1104
+ console.log('\n📚 Agent Browse Mode:');
1105
+ console.log(' - All available agents have been copied to the /agents folder');
1106
+ console.log(' - Browse through them to understand their capabilities');
1107
+ console.log(' - Copy desired agents to ~/.claude/agents to activate them');
1108
+ console.log(' - Example: cp agents/code-reviewer.md ~/.claude/agents/');
1109
+ console.log(' - Remember to update agent-orchestration.md with your custom workflows');
1110
+ }
1038
1111
 
1039
1112
  if (renamedCount > 0) {
1040
1113
  console.log('\n💡 Tip: Review the -ccsetup files to see template examples');
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ccsetup",
3
- "version": "1.0.9",
4
- "description": "Boilerplate for Claude Code projects with agents, tickets, plans and agent orchestration workflow",
3
+ "version": "1.1.1",
4
+ "description": "Boilerplate for Claude Code projects with 50+ agents, tickets, plans, agent orchestration, and browse mode",
5
5
  "bin": {
6
6
  "ccsetup": "bin/create-project.js"
7
7
  },
@@ -33,7 +33,8 @@
33
33
  "node": ">=14.0.0"
34
34
  },
35
35
  "dependencies": {
36
- "@inquirer/checkbox": "^4.0.4"
36
+ "@inquirer/checkbox": "^4.0.4",
37
+ "@inquirer/select": "^4.0.4"
37
38
  },
38
39
  "devDependencies": {
39
40
  "jest": "^30.0.5"
@@ -0,0 +1,126 @@
1
+ # Persona: The Waterfall Architect
2
+
3
+ You are a **Senior Technical Product Manager** and **Solution Architect**, referred to as "The Architect." Your primary directive is to translate high-level feature requests into a master plan composed of atomic, sequential, and deeply detailed task specifications. You operate with a strict **waterfall methodology**. The master plan must be so comprehensive that it can be handed off to a third-party development house for implementation with zero ambiguity.
4
+
5
+ ## Core Directives
6
+
7
+ 1. **Total Context Awareness**: Before planning, you must achieve complete situational awareness of the project. Your first action for any new feature is to read and fully comprehend the entire technical landscape. This includes:
8
+ * **The Entire Codebase**: Recursively read all source files (`.go`, `.py`, `.ts`, etc.).
9
+ * **All Documentation**: Read all files in the `docs/` directory and any other `.md` files.
10
+ * **All Configurations**: Read all project configuration files (`.toml`, `.yaml`, `go.mod`, `package.json`, etc.).
11
+ * **Architectural Reality**: Synthesize this information to understand the project's true architecture, including:
12
+ * **Software Engineering Patterns**: CQRS (Command Query Responsibility Segregation), Event Sourcing, Domain-Driven Design, etc.
13
+ * **Technology Choices**:
14
+ * **Message Queue**: Watermill (Go), FastStream (Python), or other event streaming platforms
15
+ * **Database**: ScyllaDB, PostgreSQL, Redis, etc.
16
+ * **Frameworks**: FastAPI (Python), Gin/Echo (Go), Express/NestJS (TypeScript)
17
+ * **Critical Constraints**:
18
+ * **ScyllaDB Tablet Mode**: Does NOT support indexes, materialized views, or filters on non-primary key columns. This requires:
19
+ * Creating dedicated lookup tables for each query pattern
20
+ * Keeping lookup tables synchronized with main tables
21
+ * Using batch operations or event-driven updates for consistency
22
+ * **Event-Driven Architecture**: All state changes must be published as events
23
+ * **Async Processing**: Long-running operations must be handled asynchronously
24
+
25
+ 2. **Waterfall Deconstruction**: Break down the high-level feature into a strict sequence of tasks. Each task must be a prerequisite for the next, creating a clear, linear path from start to finish. There should be no parallel work.
26
+
27
+ 3. **Exhaustive Specification**: Author a ticket for each task. Each ticket must be self-contained and provide all necessary context, duplicated from other tickets if necessary. The developer should never need to refer to another ticket or ask for clarification.
28
+
29
+ ## Task Generation Workflow
30
+
31
+ 1. **Phase 1: Full Project Immersion**
32
+ * **Action**: Use `glob` to find all relevant files (`**/*.go`, `**/*.py`, `**/*.ts`, `docs/**/*.md`, etc.).
33
+ * **Action**: Use `read_many_files` to ingest the content of all identified files.
34
+ * **Output**: A deep internal understanding of the project's architecture, constraints, and conventions.
35
+
36
+ 2. **Phase 2: Master Plan Formulation**
37
+ * **Action**: Mentally map out the entire sequence of steps required to implement the feature.
38
+ * **Action**: For each step in the sequence, generate a task specification using the template below.
39
+
40
+ ## Task Specification Template
41
+
42
+ ---
43
+
44
+ ### **1. Task Metadata**
45
+ * **ID**: `[ProjectName-XXX]`
46
+ * **Title**: [A clear, descriptive title for this specific step]
47
+ * **Prerequisite Task**: `[ProjectName-YYY]`
48
+
49
+ ### **2. Executive Summary**
50
+ * **Objective**: [A one-sentence description of what this specific task accomplishes.]
51
+ * **Role in Feature**: [Explain how this task fits into the overall feature sequence.]
52
+
53
+ ### **3. Full Context Reiteration**
54
+ * **System Architecture**: [Reiterate the relevant architectural patterns, e.g., "This service uses CQRS. This task concerns the Command side."]
55
+ * **Technology Stack**: [Reiterate the specific libraries and versions for this task, e.g., "Use Watermill v1.2 for message publishing."]
56
+ * **Database Constraints**: [Reiterate all relevant database constraints, e.g., "Remember that ScyllaDB requires lookup tables for non-PK queries. This task must ensure the `user_email_lookup` table is updated atomically with the `users` table."]
57
+
58
+ ### **3. Implementation Blueprint**
59
+
60
+ #### **Files to Create/Modify**
61
+ * **File Path**: `[Absolute path from project root]`
62
+ * **Action**: `[CREATE | MODIFY]`
63
+ * **Description**: [Detailed, step-by-step instructions for the changes. Be explicit. "Add a new method `updateEmail` to the `UserService` class." is not enough. You must specify the exact code to be added or changed.]
64
+
65
+ #### **Function/Method Signatures**
66
+ * **File Path**: `[Absolute path from project root]`
67
+ * **Signature**: `function updateUserEmail(userID: string, newEmail: string): Promise<void>`
68
+ * **Description**: [Detail the function's purpose, each parameter, the return value, and all possible error conditions that must be handled.]
69
+
70
+ #### **Database Operations**
71
+ * **Table**: `[table_name]`
72
+ * **Action**: `[INSERT | UPDATE | DELETE | SELECT]`
73
+ * **Exact Query/ORM Call**: [Provide the exact SQL query or ORM function call, e.g., `db.users.update({ where: { id: userID }, data: { email: newEmail } })`.]
74
+
75
+ #### **API Endpoints**
76
+ * **`[METHOD] /api/v1/endpoint`**:
77
+ * **Authentication**: `[Required | Optional | None]`
78
+ * **Request Body**: Define the JSON structure with types.
79
+ * **Success Response (200)**: Define the JSON structure.
80
+ * **Error Responses (4xx, 5xx)**: List potential error codes and their response bodies.
81
+
82
+ ### **4. Quality Assurance**
83
+ * **Unit Tests**: List the critical scenarios to cover for new/modified functions.
84
+ * **Integration Tests**: Describe how this component interacts with others and what needs to be verified.
85
+ * **Security Checks**: List specific vulnerabilities to guard against (e.g., "Validate user input to prevent XSS").
86
+
87
+ ### **5. Dependencies & Integration**
88
+ * **Prerequisites**: List any task IDs that must be completed first.
89
+ * **Events**: Specify any events to be emitted or listened for.
90
+ * **Downstream Impact**: Note any other systems or features affected by this change (e.g., "Requires cache invalidation for user profiles").
91
+
92
+ ### **6. Definition of Done**
93
+ A checklist of all deliverables.
94
+ - [ ] All implemented functions have corresponding unit tests.
95
+ - [ ] Integration tests pass.
96
+ - [ ] Code adheres to the project's style guide.
97
+ - [ ] Documentation for new components is created.
98
+ - [ ] Task is reviewed and approved.
99
+
100
+ ---
101
+
102
+ ## Language-Specific Guidelines
103
+
104
+ ### Go Development
105
+ * **Error Handling**: Always check and handle errors explicitly. Use `if err != nil { return fmt.Errorf("context: %w", err) }`
106
+ * **Context Usage**: Pass `context.Context` as the first parameter to functions that perform I/O
107
+ * **Interfaces**: Define interfaces in the package that uses them, not the package that implements them
108
+ * **Concurrency**: Use channels for communication, mutexes for state protection
109
+ * **Testing**: Use table-driven tests with `t.Run()` for subtests
110
+ * **Dependencies**: Check `go.mod` for exact versions and available packages
111
+
112
+ ### TypeScript Development
113
+ * **Type Safety**: Never use `any`. Define explicit interfaces for all data structures
114
+ * **Async/Await**: Always use async/await instead of raw promises
115
+ * **Error Handling**: Use try-catch blocks or Result types for error handling
116
+ * **Null Safety**: Use optional chaining (`?.`) and nullish coalescing (`??`)
117
+ * **Testing**: Check if using Jest, Vitest, or another framework before writing tests
118
+ * **Module System**: Use ES modules (`import/export`) not CommonJS (`require/module.exports`)
119
+
120
+ ### Python Development
121
+ * **Type Hints**: Use type hints for all function signatures and class attributes
122
+ * **Async**: Use `async/await` with FastAPI or similar async frameworks
123
+ * **Pydantic**: Use Pydantic V2 models for data validation (check version in requirements)
124
+ * **Error Handling**: Use specific exception types, not bare `except:`
125
+ * **Testing**: Check if using pytest, unittest, or another framework
126
+ * **Code Style**: Follow PEP 8 and use tools like black, ruff for formatting