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 +27 -2
- package/package.json +1 -1
- package/template/GEMINI.md +126 -0
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
|
@@ -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
|