Open source
Contributing
How to contribute useful bug reports, docs, eval cases, and code changes to Origin.
At a glance
01
Bug reports, docs, eval cases, and focused code changes are welcome in the Apache-2.0 Origin repo.
02
The daemon, CLI, MCP server, core, shared types, and Claude Code plugin live in the main repo; the desktop app lives separately.
01
What belongs in the main repo
The main Origin repo contains origin-server, origin-core, origin-cli, origin-mcp, origin-types, and the Claude Code plugin. Runtime, memory behavior, MCP tooling, docs, evals, and release infrastructure belong there.
The desktop app is a separate repository. If an issue is about the local runtime, CLI, MCP server, plugin, or memory behavior, the main repo is the right place.
02
Useful contributions
The most useful contributions are focused and evidence-backed. A good issue includes the client, operating system, exact command, expected behavior, actual behavior, and redacted diagnostic output from /init, doctor, or origin status.
For code, keep PRs narrow. One logical change is easier to review, test, and release than a large bundle.
- Bug fixes with a repro and the smallest relevant test.
- Docs that remove setup ambiguity or stale product language.
- Eval fixtures, methodology improvements, or clearer benchmark reporting.
- MCP/client setup fixes for supported clients.
- Platform-specific install and service-management fixes.
03
Development setup
Origin is a Rust workspace. You need Rust stable and the platform build tools for your OS. macOS builds may take several minutes on the first run while llama.cpp compiles for Metal.
For local development, build the workspace and run origin-server directly. To test the product path, build the release binaries and use origin setup, install, status, and doctor.
Local development
git clone https://github.com/7xuanlu/origin.git
cd origin
cargo build --workspace
cargo run -p origin-server04
Verification
Before opening a PR, run the relevant tests and lint checks. The full workspace can be expensive, so use targeted crate tests while iterating and full checks before asking for merge.
Core checks
cargo fmt --check --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace05
Architecture rules
Keep the core crate framework-independent, keep origin-types lightweight, deserialize MCP responses into typed structs, and avoid holding long-lived locks across awaits.
The full convention list lives in the Development Conventions doc so this contributing page can stay focused on the contribution path.
06
License
The main repo is Apache-2.0. By contributing, you agree that your changes are licensed under the license that applies to the files you modify.
The desktop app has its own repository and AGPL-3.0-only license. Check the target repo before contributing across that boundary.
07
Community behavior
The repository includes a Code of Conduct. Contributions, issues, reviews, and community discussion should follow that policy as well as the technical contribution rules.
Keep public threads focused, specific, and redacted. Sensitive security details belong in the private reporting path.