Thanks for your interest in contributing! Career-Ops is built with Claude Code, and you can use it for development too.
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)
- Commit and push
- Open a Pull Request referencing the issue
Good first contributions:
- Add companies to
templates/portals.example.yml - Translate modes to other languages
- Improve documentation
- Add example CVs for different roles (in
examples/) - Report bugs via Issues
Bigger contributions:
- New evaluation dimensions or scoring logic
- Dashboard TUI features (in
dashboard/) - New skill modes (in
modes/) - Script improvements (
.mjsutilities)
- Keep modes language-agnostic when possible (Claude handles both EN and ES)
- Scripts should handle missing files gracefully (check
existsSyncbeforereadFileSync) - Dashboard changes require
go build— test with real data before submitting - Don't commit personal data (cv.md, profile.yml, applications.md, reports/)
# Scripts
node verify-pipeline.mjs # Health check
node cv-sync-check.mjs # Config check
# Dashboard
cd dashboard && go build -o career-dashboard .
./career-dashboard --path .