Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 1.88 KB

File metadata and controls

30 lines (19 loc) · 1.88 KB

Contributing guide

Thank you for investing your time in contributing to Ortie.

Whether you are a human or an AI agent, read these in order before touching the code:

  1. the Pimalaya README for what the project is and how its repositories stack;
  2. the Pimalaya CONTRIBUTING guide, which chains to the shared architecture and guidelines;
  3. the inline header documentation, starting with src/main.rs: it is the architecture document of this crate;
  4. the cairn/ folder, which follows Cairn: spec/ is current truth, changes/ holds in-flight proposals, and log/ is the dated history.

Everything below documents only what differs from the Pimalaya standards.

Where changes belong

Ortie is a pure CLI binary: the glue between a user's TOML configuration and two engines it drives. Fixes usually land in one of three places, so triage before patching:

  • OAuth wire semantics (grants, PKCE, token and registration requests) belong in io-oauth;
  • service discovery consumed by the wizard belongs in io-pim-discovery;
  • configuration shape, token storage, hooks and command UX live here.

The shared clap, printer and prompt primitives come from pimalaya/cli, the TOML loader and secret resolution from pimalaya/config, and the TCP and TLS plumbing from pimalaya/stream.

Feature matrix

The binary always ships the full CLI; the only cargo features left are the TLS providers (rustls-ring default, rustls-aws, native-tls), vendored and notify. Build against a non-default provider to check it still compiles:

cargo build --no-default-features --features native-tls