git clone https://github.com/rpamis/comet
cd comet
pnpm install
pnpm build| Command | Purpose |
|---|---|
pnpm dev |
Watch mode (TypeScript) |
pnpm build |
Compile TypeScript |
pnpm test |
Run unit tests |
pnpm test:coverage |
Run tests with coverage |
pnpm test:shell |
Run shell script tests (requires bats) |
pnpm lint |
Run ESLint |
pnpm format |
Run Prettier |
Follow Conventional Commits:
<type>: <description>
Types: feat, fix, refactor, docs, test, chore, perf, ci
- Create a feature branch from
master - Implement with tests (80%+ coverage)
- Run
pnpm build && pnpm lint && pnpm format:check && pnpm test - Open a PR against
master
src/
├── cli/index.ts # Commander registration
├── commands/ # Command orchestrators
│ ├── init.ts # comet init
│ ├── status.ts # comet status
│ ├── doctor.ts # comet doctor
│ └── update.ts # comet update
├── core/ # Business logic (platform-agnostic)
│ ├── platforms.ts # Platform definitions
│ ├── detect.ts # Platform detection
│ ├── skills.ts # Skill file operations
│ ├── openspec.ts # OpenSpec installation
│ └── superpowers.ts # Superpowers installation
└── utils/
└── file-system.ts # File I/O utilities
- Add an entry to
PLATFORMSinsrc/core/platforms.ts - Add the mapping to
SKILLS_AGENT_MAPinsrc/core/superpowers.tsif it differs
- Create the SKILL.md under
assets/skills/<skill-name>/SKILL.md - Add it to
assets/manifest.jsonskillsarray - Create the Chinese version under
assets/skills-zh/<skill-name>/SKILL.md
- Decision Core first: Agent-facing instructions go at the top (phase detection, dispatch logic, error handling)
- Reference Appendix: Field reference, script locations, best practices go at the bottom
- Write Chinese version first, get approval, then sync to English