Skip to content
Documentation menu

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.
check
$ pip install -e ".[dev]"
$ pytest