Thanks for your interest in contributing! This project works with any AI coding agent (GitHub Copilot CLI, Claude Code, Gemini CLI, Cursor, Windsurf, and more).
Please open an issue first to discuss the change you'd like to make. This helps us align on direction before you invest time coding.
PRs without a corresponding issue may be closed if they don't align with the project's architecture or goals.
- Fixes a bug listed in Issues
- Addresses a feature request that was discussed and approved
- Includes a clear description of what changed and why
- Follows the existing code style and project philosophy (simple, minimal, quality over quantity)
- Open an issue to discuss your idea
- Fork the repo
- Create a branch (
git checkout -b feature/my-feature) - Make your changes
- Test with a fresh clone (see docs/SETUP.md)
- Run
npm run doctorandnpm testto verify - Commit and push
- Open a Pull Request referencing the issue
Good first contributions:
- Add companies to
templates/portals.example.yml - Improve documentation
- Add example CVs for different roles (in
examples/) - Report bugs via Issues
Bigger contributions:
- New evaluation dimensions or scoring logic
- New skill modes (in
modes/) - Script improvements (
.mjsutilities) - Adapting modes for different industries or regions
- Scripts should handle missing files gracefully (check
existsSyncbeforereadFileSync) - Don't commit personal data (cv.md, profile.yml, applications.md, reports/)
- Use fictional data in examples
- Test your changes with
npm testbefore submitting
- PRs that scrape platforms prohibiting automated access (LinkedIn, etc.). We actively reject these to respect third-party ToS.
- PRs that enable mass-spamming applications to hundreds of roles without evaluation. career-copilot is a quality-over-quantity tool.
- PRs that add external API dependencies without prior discussion in an issue.
- PRs containing personal data (real CVs, emails, phone numbers). Use
examples/with fictional data instead.
# Setup validation
npm run doctor
# Health checks
npm run verify
npm run sync-check
# Run all tests
npm test