Python 3.11+ and Node 20+ are required.
python -m venv .venv
.venv/bin/pip install -e '.[dev]'
.venv/bin/python -m pytest
.venv/bin/ruff check orbit/ backend/ tests/
npm --prefix frontend install
npm --prefix frontend run buildFor the packaged local-app path, run npm install at the repository root and
then npx orbit-agent-console run --no-open.
On Windows, activate the environment with .venv\\Scripts\\Activate.ps1 and
use .venv\\Scripts\\python.exe.
The repository checks Python with Ruff, React with ESLint, and validates the React application with a Vite production build before each commit.
.venv/bin/pre-commit install
.venv/bin/pre-commit run --all-filesThe React hook needs npm --prefix frontend install to have been run once.
Every release follows the same protected sequence so that a version tag always
identifies a verified main commit.
- Create
release/vX.Y.Zfrom the currentmainbranch. - Update the version in
package.json,frontend/package.json, andpyproject.toml, then add the release entry toCHANGELOG.md. - Open a pull request from the release branch to
mainand wait for all GitHub Actions checks to pass. - Merge the pull request, then wait for the CI run triggered on
mainto pass as well. - Create an annotated
vX.Y.Ztag at that verifiedmaincommit, push it, and create the GitHub Release from the matching changelog entry. - Delete superseded tags only after the new tag and GitHub Release are available. Never move or overwrite an existing release tag.
The release branch is the only place where release-preparation changes are
made. A tag must never be created from an unmerged branch or before main CI
has completed successfully.
- Keep public behavior bundles independent of proprietary source, prompts, and fixtures.
- Put declarative behavior contracts in
orbit/resources/definitions/, prompt templates inorbit/resources/prompts/, and non-secret sample inputs inorbit/resources/fixtures/. - Commands must be token arrays; do not introduce shell-string execution.
- Add tests for behavior or schema changes.
Contributions are licensed under MIT.