ccsetup 1.1.0 → 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.
package/README.md CHANGED
@@ -48,7 +48,9 @@ Examples:
48
48
  ## What's Included
49
49
 
50
50
  The boilerplate template creates:
51
+
51
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
52
54
  - **agents/** - Specialized AI agents (planner, coder, checker, etc.)
53
55
  - **tickets/** - Task tracking system
54
56
  - **plans/** - Project planning documents
@@ -76,6 +78,7 @@ The boilerplate template creates:
76
78
  ## Usage
77
79
 
78
80
  1. Create a new project:
81
+
79
82
  ```bash
80
83
  npx ccsetup my-awesome-project
81
84
  cd my-awesome-project
@@ -103,21 +106,26 @@ When running in the current directory (`npx ccsetup .`), it will check for Claud
103
106
  The boilerplate includes 50+ specialized agents covering all aspects of development:
104
107
 
105
108
  ### Core Development Agents
109
+
106
110
  - **planner.md** - Strategic planning and task breakdown
107
111
  - **coder.md** - Implementation and development
108
112
  - **checker.md** - Testing and quality assurance
109
113
  - **researcher.md** - Research and information gathering
110
114
 
111
115
  ### Language Specialists
116
+
112
117
  - **python-pro.md**, **golang-pro.md**, **rust-pro.md**, **javascript-pro.md**, **c-pro.md**, **cpp-pro.md**, **sql-pro.md**
113
118
 
114
119
  ### Infrastructure & Operations
120
+
115
121
  - **devops-troubleshooter.md**, **cloud-architect.md**, **terraform-specialist.md**, **database-admin.md**, **network-engineer.md**
116
122
 
117
123
  ### Quality & Security
124
+
118
125
  - **code-reviewer.md**, **security-auditor.md**, **test-automator.md**, **performance-engineer.md**
119
126
 
120
127
  ### And Many More!
128
+
121
129
  Over 50 specialized agents for frontend, backend, blockchain, ML/AI, business analysis, and more!
122
130
 
123
131
  📖 **[View all agents with detailed descriptions →](https://github.com/MrMarciaOng/ccsetup/blob/main/template/agents/README.md)**
@@ -155,11 +163,13 @@ Choose your agents:
155
163
  ```
156
164
 
157
165
  You can also use flags to control agent selection:
166
+
158
167
  - `--all-agents` - Include all available agents
159
168
  - `--no-agents` - Skip agent selection entirely
160
169
  - `--agents` - Preview available agents without creating a project
161
170
 
162
171
  Example:
172
+
163
173
  ```bash
164
174
  # Include all agents without prompting
165
175
  npx ccsetup my-project --all-agents
@@ -181,12 +191,14 @@ npx ccsetup my-project --browse-agents
181
191
  ```
182
192
 
183
193
  In browse mode:
194
+
184
195
  - All 50+ agents are copied to your project's `/agents` folder
185
196
  - You can read through each agent to understand their capabilities
186
197
  - Manually copy the ones you want to `~/.claude/agents` when ready
187
198
  - No overwhelming selection process during setup!
188
199
 
189
200
  Example workflow:
201
+
190
202
  ```bash
191
203
  # 1. Create project with browse mode
192
204
  npx ccsetup my-project --browse-agents
@@ -204,6 +216,7 @@ cp python-pro.md ~/.claude/agents/
204
216
  ```
205
217
 
206
218
  This approach is perfect when you:
219
+
207
220
  - Want to explore all available agents
208
221
  - Prefer to choose agents based on your project needs as they arise
209
222
  - Don't want to be overwhelmed with 50+ choices during setup
@@ -223,10 +236,11 @@ Conflict resolution options:
223
236
  2) rename (r) - Save template files with -ccsetup suffix
224
237
  3) overwrite (o) - Replace with template versions
225
238
 
226
- Your choice for CLAUDE.md [s/r/o]:
239
+ Your choice for CLAUDE.md [s/r/o]:
227
240
  ```
228
241
 
229
242
  Categories are handled separately:
243
+
230
244
  - **CLAUDE.md** - Project instructions (warns before overwriting)
231
245
  - **Agents** - AI agent files
232
246
  - **Documentation** - docs/ folder files
@@ -313,11 +327,13 @@ The template includes powerful agent orchestration workflows that guide Claude t
313
327
  ### 💡 How to Use Agent Orchestration
314
328
 
315
329
  1. **Read the orchestration guide**:
330
+
316
331
  ```
317
332
  "Read docs/agent-orchestration.md to understand available workflows"
318
333
  ```
319
334
 
320
335
  2. **Choose your workflow**:
336
+
321
337
  - Feature Development: Complex new features
322
338
  - Bug Fix: Investigating and fixing issues
323
339
  - Refactoring: Improving code quality
@@ -327,6 +343,7 @@ The template includes powerful agent orchestration workflows that guide Claude t
327
343
  - QA: Quality assurance
328
344
 
329
345
  3. **Let Claude guide you**:
346
+
330
347
  ```
331
348
  "I need to [your task]. Which workflow should we use?"
332
349
  ```
@@ -343,24 +360,28 @@ The orchestration ensures nothing is missed and follows best practices automatic
343
360
  After setting up your project with `ccsetup`:
344
361
 
345
362
  1. **Open Claude Code** in your project directory:
363
+
346
364
  ```bash
347
365
  cd my-awesome-project
348
366
  claude
349
367
  ```
350
368
 
351
369
  2. **Let Claude understand your project** by asking:
370
+
352
371
  - "Read the CLAUDE.md file to understand this project"
353
372
  - "Check the roadmap in docs/ROADMAP.md"
354
373
  - "What agents are available in the agents directory?"
355
374
  - "Read the README files in docs, tickets, and plans folders to understand the workflow"
356
375
 
357
376
  3. **Start working** with Claude:
377
+
358
378
  - Use the planner agent: "Use the planner agent to help me design a user authentication system"
359
379
  - Create tickets: "Create a ticket for implementing user login"
360
380
  - Implement features: "Use the coder agent to implement the login functionality"
361
381
  - Review code: "Use the checker agent to review the code we just wrote"
362
382
 
363
383
  4. **Important setup steps**:
384
+
364
385
  - **Update ROADMAP.md**: Define your project's goals, features, and development phases
365
386
  - **Read folder documentation**: Each folder (docs/, tickets/, plans/) has a README explaining its purpose and format
366
387
  - **Customize CLAUDE.md**: Add project-specific instructions, commands, and context
@@ -375,6 +396,7 @@ After setting up your project with `ccsetup`:
375
396
  ## Features
376
397
 
377
398
  ### Core Features
399
+
378
400
  - ✅ Pre-configured project structure for Claude Code
379
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)
380
402
  - 🎫 Built-in ticket and planning system
@@ -382,6 +404,7 @@ After setting up your project with `ccsetup`:
382
404
  - 📁 Automatic .claude directory integration
383
405
 
384
406
  ### CLI Features
407
+
385
408
  - 🎯 Interactive agent selection with descriptions
386
409
  - 🔄 Smart conflict resolution (skip/rename/overwrite)
387
410
  - 👀 Dry-run mode to preview changes
@@ -390,7 +413,9 @@ After setting up your project with `ccsetup`:
390
413
  - 🛡️ Security validations for file operations
391
414
 
392
415
  ### Agent Orchestration
416
+
393
417
  The template includes `docs/agent-orchestration.md` which defines workflows for:
418
+
394
419
  - **Feature Development** - Researcher → Planner → Coder → Checker
395
420
  - **Bug Fixes** - Researcher → Coder → Checker
396
421
  - **Refactoring** - Researcher → Planner → Coder → Checker
@@ -407,4 +432,4 @@ The 44 specialized agents collection is from [wshobson/agents](https://github.co
407
432
 
408
433
  ## License
409
434
 
410
- MIT
435
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccsetup",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
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"
@@ -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