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 exposesgit2types. This is the contract the IDE builds on, and the boundary where the futureVcsEnginetrait (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 twingitoriicrate. 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::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 incrate::platforms. - versioning
- workspace
- Multi-repo and mirror management. Whereas
crate::vcsis 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).