Orchard is open source under the Apache License 2.0, and contributions are welcome. You do not need permission to start. Pick something small, send it in, and we will work it out in review.
Ways to contribute
- Answer a question or share a project in the forum.
- File a precise bug report, or fix one.
- Improve the documentation. Small wording and example fixes are real contributions.
- Write a tool pack and share it with other people building agents.
- Propose a language or runtime change with a short design note in an issue first.
Build from source
Orchard is written in Rust. With a recent toolchain (1.79 or newer), clone the repository and build the CLI.
git clone https://github.com/Artemis-Inc/Orchard.git
cd Orchard
cargo build --release -p orch-cli
./target/release/orch --versionThe workspace is a set of crates: the syntax and parser, the type checker, the intermediate representation, the runtime, the CLI, and the four bindings (Rust, C, Python, WebAssembly). The embedding guide explains how the pieces fit together.
Before you open a pull request
Run the same checks the project runs, so review is about the change and not the basics.
cargo test # the test suite, including the golden tests
cargo fmt --all # format the Rust code
cargo clippy --all # lint
orch check examples/3.0/assistant.orch # the language checks still passKeep the change focused. A pull request that does one thing is faster to review than one that does five. If the change is large or changes behavior, open an issue first so the design is settled before you write a lot of code.
Signing off your commits
Orchard uses the Developer Certificate of Origin. It is a one line statement that you wrote the change, or have the right to submit it. Add it by committing with -s.
git commit -s -m "Fix off-by-one in the duration lexer"That appends a Signed-off-by line with your name and email. There is no separate contributor agreement to sign. Contributions are accepted under the same Apache 2.0 terms as the project, which the license page covers.
Reporting bugs
Open an issue on GitHub. A useful report has the Orchard version (orch --version), the smallest agent or snippet that reproduces the problem, what you expected, and the exact output you got. If a program should compile but does not, paste the full orch check diagnostic.
Reporting a security issue
Please do not open a public issue for a security problem. Report it privately through the security policy in the repository so it can be fixed before it is disclosed. Agents run tools and reach the network, so we take these seriously.
Good first issues
Issues labelled good first issue are scoped to be a reasonable starting point: a contained bug, a missing test, or a documentation gap. Browse them on GitHub and comment on one to claim it.
