- README: group 26 commands into 7 categories, add "Why CCG?" section, move architecture diagram up, consolidate prerequisites, deduplicate jq instructions, add "When to change" column for env vars, fold settings.json and Hook config into <details> - Add CONTRIBUTING.md with dev setup, PR workflow, commit conventions - Add .github/ISSUE_TEMPLATE/ (bug report, feature request, good first issue) - EN and ZH README mirrored (335 lines each, 13 sections)
4.0 KiB
4.0 KiB
Contributing to CCG
Thanks for your interest in contributing to CCG! This guide will help you get started.
Development Setup
Prerequisites
- Node.js 20+
- pnpm (
npm install -g pnpm) - Go 1.21+ (only for
codeagent-wrapperchanges)
Getting Started
# Clone the repository
git clone https://github.com/fengshao1227/ccg-workflow.git
cd ccg-workflow/skills-v2
# Install dependencies
pnpm install
# Build
pnpm build
# Run tests
pnpm test
Project Structure
skills-v2/
├── src/ # TypeScript source
│ ├── cli.ts # CLI entry point
│ ├── commands/ # CLI commands (init, update, menu, etc.)
│ └── utils/ # Shared utilities
├── templates/ # Installed to ~/.claude/
│ ├── commands/ # 26 slash command templates (.md)
│ ├── prompts/ # Expert prompts (codex/ + gemini/)
│ └── skills/ # Quality gates + orchestration
├── codeagent-wrapper/ # Go binary source
├── tests/ # Vitest test files
└── bin/ # Build output + pre-compiled binaries
Key Files
| File | Purpose |
|---|---|
src/utils/installer.ts |
Core installation logic |
src/utils/config.ts |
Configuration management |
src/utils/mcp.ts |
MCP tool integration |
templates/commands/*.md |
Slash command templates |
templates/prompts/ |
Expert prompts for Codex/Gemini |
How to Contribute
Find an Issue
- Check
good first issuefor beginner-friendly tasks - Check
help wantedfor tasks needing assistance - Or open a new issue to propose your idea
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run tests:
pnpm test - Build:
pnpm build - Commit with conventional format:
git commit -m "feat: add something" - Push and create a Pull Request
Commit Convention
We use Conventional Commits:
| Prefix | Usage |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation changes |
test: |
Adding or updating tests |
refactor: |
Code refactoring (no behavior change) |
chore: |
Build, CI, dependency updates |
Code Standards
- TypeScript: Follow existing patterns in
src/ - Templates: Markdown files in
templates/commands/— use{{VARIABLE}}for template variables - Tests: Use Vitest, place tests in
tests/mirroringsrc/structure - Metrics: Function complexity < 10, single function < 50 lines, single file < 500 lines
What Makes a Good PR
- Focused: One concern per PR
- Tested: Include tests for new functionality
- Documented: Update README if adding user-facing features
- Small: Prefer multiple small PRs over one large one
Good First Issues
Good first issues are designed to be completable in ~2 hours. They typically involve:
- Documentation: Fix typos, improve examples, add missing descriptions
- i18n: Add missing translations in command templates
- Tests: Write tests for untested utility functions
- Templates: Improve slash command templates with better examples
- Small fixes: Single-file bug fixes in
src/utils/
Each good first issue includes:
- Clear problem description
- Specific files to modify
- Acceptance criteria
- Verification commands
Review Process
| Event | Timeline |
|---|---|
| Issue claimed | Assigned within 1 day |
| PR submitted | First review within 3 days |
| After review feedback | Contributor has 5 days to respond |
| No response | Issue unassigned (you can reclaim later) |
Questions?
- Open a Discussion
- Check existing Issues
Thank you for contributing!