Skip to main content

Crate torii_lib

Crate torii_lib 

Source
Expand description

torii-lib — domain library for the torii (Gitorii) ecosystem.

Everything the CLI, the TUI and the IDE share lives here: VCS operations over the object database, platform clients (GitHub / GitLab / Gitea / Sourcehut / Radicle / Bitbucket / Azure), multi-repo workspaces, mirrors, config, auth and versioning helpers.

§API tiers

  • Domain API — the documented surface. Returns plain data (RepoStatus, PullRequest, Pipeline, …) and never exposes git2 types. This is the contract the IDE builds on, and the boundary where the future VcsEngine trait (torii-vcs) plugs in.
  • Porcelain helpers — a handful of git2-typed functions (commit_inner, resolve_signature, signature_letter) still consumed by the TUI in the twin gitorii crate. Internal contract, slated for migration behind the domain API.

Re-exports§

pub use platforms::pr;
pub use platforms::issue;
pub use platforms::pipeline;
pub use platforms::package;
pub use platforms::release;
pub use platforms::runner;
pub use platforms::registry as platforms_registry;
pub use vcs::core;
pub use vcs::core_extensions;
pub use vcs::core_tag;
pub use vcs::sign;
pub use vcs::tag;
pub use vcs::snapshot;
pub use vcs::patch;
pub use vcs::history_reauthor;
pub use vcs::commit_scan;
pub use vcs::scanner;
pub use workspace::mirror;
pub use workspace::remote;
pub use util::auth;
pub use util::config;
pub use util::duration;
pub use util::url;
pub use util::toriignore;
pub use util::hooks;
pub use util::updater;
pub use util::http;
pub use util::oauth;
pub use util::ssh;
pub use util::graph;
pub use util::gpg;
pub use util::radicle;

Modules§

cloud
Authenticated HTTP client for the gitorii.com backend.
error
platforms
Platform-side surfaces: pull requests, issues, CI pipelines, releases and package registries across GitHub / GitLab / Gitea (Codeberg / Forgejo) / Sourcehut / Radicle.
transport
Custom git transports — pure-Rust HTTPS via reqwest, SSH via russh.
util
Cross-cutting utilities: config + auth, URL parsing, ignore rules, hooks, HTTP / SSH transport helpers, version probe, and the subprocess wrappers for external binaries (gpg, rad).
vcs
Version-control core: libgit2-based wrappers around the operations that touch the object database (commit, tag, snapshot, reauthor, scanner, patch). Everything in here is purely local; network ops live in crate::workspace (mirror / remote / workspace) and platform-side APIs live in crate::platforms.
versioning
workspace
Multi-repo and mirror management. Whereas crate::vcs is about a single repository’s object database, this module is about the constellation of remotes and the workspace concept (N repos treated as one for status / sync / save fan-out).