ccstart
v3.0.2
Published
Start your Claude Code projects with a well-organized structure including agents, tickets, and skills
Maintainers
Readme
ccstart
Quick setup for Claude Code projects with built-in agents, skills, hooks, and ticket tracking.
Why ccstart?
Setting up new projects or repositories and plugging in Claude Code into it requires more than just generating a CLAUDE.md for most developers who wants a more customized workflow such as manual creation of agents, skills, hooks, and project structure.
There isn't a standardized approach, leading to inconsistent setups and repeated boilerplate work across projects. We already have boilerplate for our codebase to build CRUD and stuff, having one for something heavily customized like Claude seems like the obvious solution.
ccstart provides a complete, opinionated scaffolding with basic agents, skills, and workflows out of the box so that we can focus on immediately prompting and building while trying to keep context bloat and overengineering as low as possible.
Quick Start Installation
# To set up in a specific directory
npx ccstart <project directory>
# Setup in current directory
npx ccstart .
# Install globally (optional)
npm install -g ccstart
ccstart <project directory>What You Get
my-project/
├── CLAUDE.md # Project instructions for Claude
├── claude/
│ └── tickets/
│ ├── README.md # Ticket format and structure guide
│ └── ticket-list.md # Centralized ticket index
└── .claude/
├── agents/
│ ├── planner.md # Strategic planning
│ ├── checker.md # QA and code review
│ ├── backend.md
│ └── frontend.md
├── skills/
│ ├── commit/ # Conventional commits
│ ├── create-pr/ # Structured pull requests
│ ├── create-ticket/ # Ticket creation workflow
│ ├── design-feature/ # Opinionated design phases
│ ├── create-script/ # Python CLI generation for ideation
│ ├── skill-creator/ # Create new skills
│ └── update-claude-md/ # CLAUDE.md maintenance
└── hooks/
├── ticket-reminder.sh # Prompts ticket creation after planning
└── claude-md-reminder.sh # Enforces CLAUDE.md instructions every promptThe Integrated Workflow
ccstart components work together to provide a complete development workflow:
Generally, this is what I do personally:
- Start with
/design-feature- Establish requirements and acceptance criteria before writing code - Persist requirements with
/create-ticket- Keep a clear record of work in the ticket system - Use the Planner agent - Break down implementation into actionable tasks
- Use Backend/Frontend agents - Follow established patterns for consistent, high-quality code
- Use the Checker agent - Review code for quality, security, and performance before merging
- Use
/commitand/create-pr- Maintain clean git history with conventional commits
Agents
Agents in Claude's context basically works outside of your main context window, so you can use them for tasks and analysis that will not pollute your context and bloat unnecessarily.
Invoke them with @agent-name in Claude Code or through natural language.
Skills
Skills are basically macros, they can be explicitly invoked with /skill-name as if using slash commands, or
through natural language by triggering keywords.
They are best suited for repetitive action that you don't want to keep typing the same thing for.
Hooks
Hooks are shell scripts that run automatically in response to Claude Code events, such as before prompting, after prompting.
If you know what lifespans are in context of backend development, this is basically it but for lifecycle of prompt!
ticket-reminder
Triggers: After exiting plan mode (PostToolUse on ExitPlanMode)
Purpose: Prompts Claude to create a ticket for significant features or bug fixes after a plan is approved. Helps ensure work is tracked without manual reminders.
claude-md-reminder
Triggers: On every user prompt submission
Purpose: Reminds Claude to:
- Review and respect all instructions in CLAUDE.md
- Ask clarifying questions instead of making assumptions
Ticket System
A lightweight task tracking system built into your project so that you can have persistency for your implementation plans across Claude session, while leaving an audit trace that Claude can refer back to whenever needed.
Status Emojis
| Emoji | Status | Description | |-------|--------|-------------| | 🔴 | Todo | Not started | | 🟡 | In Progress | Currently being worked on | | 🟢 | Done | Completed | | 🔵 | Blocked | Waiting on dependencies | | ⚫ | Cancelled | No longer needed |
File Structure
tickets/
├── ticket-list.md # Centralized index of all tickets
├── README.md # Ticket format guide
├── TICKET-001-user-auth.md # Individual ticket files
├── TICKET-002-api-docs.md
└── TICKET-003-testing.mdTicket Naming Convention
Format: TICKET-XXX-brief-description.md
Example: TICKET-042-implement-dark-mode.md
ticket-list.md
The centralized index organizes tickets by priority (High/Medium/Low) with status emojis and links to individual ticket files. Update this file whenever you create, modify, or complete tickets.
Command Line Options
ccstart [project-name] [options]
Options:
--force, -f Skip all prompts and overwrite existing files
--dry-run, -d Show what would be done without making changes
--agents Interactive agent selection mode
--all-agents Include all agents without prompting
--no-agents Skip agent selection entirely
--help, -h Show help message
Examples:
ccstart my-app --all-agents # Include all agents
ccstart . --force # Overwrite in current directory
ccstart --agents # Preview available agents
ccstart my-app --dry-run # Preview changes without applyingInteractive Setup
When you run ccstart, you'll be guided through selection prompts:
Agent Selection
? Choose your agents: (Press <space> to select, <a> to toggle all)
❯◯ planner
Strategic planning and task breakdown specialist
◯ checker
Quality assurance and code review specialist
◯ backend
Backend architecture and API design specialist
◯ frontend
Frontend architecture and UI design specialistSkill Selection
? Choose your skills: (Press <space> to select, <a> to toggle all)
❯◯ commit
Generate and execute git commits following conventional commit format
◯ create-pr
Create GitHub pull requests with properly structured descriptions
◯ create-ticket
Create task tickets with proper numbering and update ticket-list.md
◯ design-feature
Guide feature development through requirements and design phases
◯ skill-creator
Guide for creating new skills
◯ update-claude-md
Update CLAUDE.md sections through interactive Q&AUse --all-agents to skip selection and include everything.
Local Development
# Method 1: npm link (Recommended)
cd /path/to/ccstart
npm link
ccstart test-project
# Method 2: Direct execution
node bin/create-project.js ../test-project
# Clean up
npm unlink -g ccstartCredits
Born from our discussions in TechOverflow with vichannnnn and MrMarciaOng.
License
MIT
