Documentation
Contributing
How to add a provider, improve a prompt, and keep changes aligned with the architecture.
CareerOS is MIT-licensed and built to be legible. The architecture is designed so that most contributions are small and self-contained.
Add a discovery provider
Every source implements the same small contract — validate,
fetch, and to_job_dict. Because the pipeline works
against the universal Job schema, it never needs to know which provider a
job came from. Adding a source is writing one file and registering it; the
rest of the pipeline is unchanged.
Improve a prompt
Prompts are versioned files. To change one, add a new version and point the stage at it in config. Because the version is part of every cache fingerprint, this regenerates only the affected stage and leaves the old version reproducible for auditing.
Before you open a pull request
- Keep deterministic stages deterministic — no model calls creeping in.
- Validate any new stage output against a schema.
- Run the test suite.
- Never commit secrets; they belong in the gitignored env file.
$ pip install -e ".[dev]"$ pytest