Thank you for your interest in HeliosCLI. This guide covers the development workflow, quality bar, and review process. By participating, you agree to abide by the Code of Conduct.
- Development Setup
- Branching and Commits
- Local Quality Gate
- Pull Requests
- Reporting Bugs
- Proposing Features
- Security Issues
- License and DCO
- Rust stable (see
rust-toolchain.toml) andcargo - Bun ≥ 1.1 (for
codex-cli/extension surface) - Python ≥ 3.11 (for
heliosBench/andhelios_router/) - Node.js ≥ 20 (for docs and TypeScript tooling)
- Bazel ≥ 7 (optional, for Bazel-based builds; see
BUILD.bazel)
git clone https://github.com/KooshaPari/HeliosCLI.git
cd HeliosCLIjust install # or: cargo fetch
just build # release build of the primary harness workspaceThe vendored workspaces (codex-rs/, helios-rs/) are excluded from the top-level
Cargo.toml and have their own roots. To build them use cd codex-rs && just build
or cd helios-rs && cargo build.
- Branch from
main. Use the formfeat/<slug>-<YYYYMMDD>,fix/<slug>-<YYYYMMDD>, orchore/<slug>-<YYYYMMDD>. - One logical change per branch. Split unrelated work into separate PRs.
- Conventional Commit messages. Use the format
<type>(<scope>): <subject>where<type>is one offeat,fix,chore,docs,refactor,test,build,ci,perf,revert,style. - Reference the work. When a commit closes an issue or implements a spec,
include
Closes #NorRefs FR-HELIOS-NNNin the body.
Before opening a pull request, run the local quality gate:
just ci # fmt + lint + test + build + audit + denyYou can also run individual stages:
just fmt # cargo fmt --all
just lint # cargo clippy --all-targets -- -D warnings
just test # cargo test --all-features (or cargo nextest run)
just audit # cargo audit
just deny # cargo deny check
just build # cargo build --releaseCI runs the same recipes on Ubuntu 24.04 with Rust stable.
- Open an issue first for non-trivial changes to align on scope and design.
- Push your branch and open a PR using the PR template.
- Fill out the entire PR description: summary, changes, testing evidence, related issues, FR/spec links.
- Pass CI: all checks must be green before review.
- Request review from
@kooshapari(see CODEOWNERS). - Address review feedback in additional commits; squash on merge.
- Code correctness and adherence to the architecture (see
AGENTS.md). - Tests for new behaviour (
cargo test) and FR traceability comments. - No new
unwrap()/expect()without a documented invariant (clippy.tomlandcodex-rsdeny them by default). - SPDX header on every new Rust file:
// SPDX-License-Identifier: MIT OR Apache-2.0. - 100-character line length (enforced by
.editorconfigandrustfmt.toml).
Use the bug report template. Include
helios --version output, OS/arch, reproduction steps, and full logs.
Use the feature request template.
Link to a Functional Requirement (FR-HELIOS-NNN) or a kitty-spec if one exists.
Do not file public issues for security vulnerabilities. Follow the Security Policy and report privately via GitHub Security Advisories or email.
HeliosCLI is dual-licensed under MIT OR Apache-2.0 (SPDX: MIT OR Apache-2.0).
By submitting a contribution, you agree to license it under the same terms.
We do not currently require a DCO sign-off; the SPDX header on each source
file is sufficient.
Happy hacking. — @kooshapari and contributors