Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 1.65 KB

CONTRIBUTING.md

File metadata and controls

38 lines (30 loc) · 1.65 KB

Contributing

Getting set up

See the README for the standalone Docker image (fastest path to a working server) or Run it locally for building from source against the dependency forks.

Making changes

  • Open an issue before a large change so the approach can be discussed first.
  • Keep pull requests focused; unrelated cleanup belongs in its own PR.
  • Match the existing style: ruff check src/ tests/ must pass (see [tool.ruff] in pyproject.toml for the configured rules).
  • Add or update tests for anything you change. pytest (bare, no flags) runs the hermetic suite (unit/routes/integration/e2e/mcp) and must pass; see docs/E2E_TEST_PLAN.md for the opt-in live suite against a deployed stack.
  • If you touch a subprocess job script under src/job_scripts/, keep the corresponding Celery task in src/modelseed_api/jobs/tasks.py in sync -- they implement the same logic for two different dispatch modes (see CLAUDE.md's "Job dispatch" section).

Project conventions

Project-specific conventions (storage backend abstraction, settings usage, dependency forks) are documented in CLAUDE.md. Active workarounds for upstream issues are tracked in docs/WORKAROUNDS.md; known missing features in docs/KNOWN_GAPS.md.

Reporting issues

Open an issue at https://github.com/ModelSEED/modelseed-api/issues. For questions about the ANL-hosted deployment specifically (not the code), also open an issue -- deployment/on-call details are maintained separately from this repository.