Skip to main content

repograph_core/
lib.rs

1//! Core domain library for repograph.
2//!
3//! Owns the `Config` model, error type, and `git2` adapters. No clap, no
4//! terminal I/O — the binary crate (and a future MCP server) depend on this
5//! crate to keep their concerns separate.
6
7pub mod agent_artifact;
8pub mod agents;
9pub mod config;
10pub mod context;
11pub mod doctor;
12pub mod error;
13pub mod git;
14pub mod path;
15
16pub use agent_artifact::{
17    ArtifactResult, BODY as AGENT_ARTIFACT_BODY, DELIMITER_BEGIN, DELIMITER_END,
18    REASON_COPILOT_DEFERRED, SUMMARY as AGENT_ARTIFACT_SUMMARY, has_artifact_writer,
19    install_artifacts, install_one, render_artifact, resolve_path, scope_is_meaningful,
20};
21pub use agents::AgentId;
22pub use config::{
23    Agents, CONFIG_FILE_NAME, Config, MAX_WORKSPACE_NAME_LEN, RESERVED_WORKSPACE_NAMES, Repo,
24    Settings, Workspace, WorkspaceResolution, validate_workspace_name,
25};
26pub use context::{
27    AgentDoc, Context, MatchedFile, RepoContext, SCHEMA_VERSION, Scope, resolve_agent_docs,
28};
29pub use doctor::{Check, DOCTOR_SCHEMA_VERSION, DoctorReport, Finding, Severity, Summary};
30pub use error::RepographError;
31pub use git::{RepoState, RepoStatus, inspect, validate_git_repo};
32
33/// Crate version, sourced from `Cargo.toml`.
34pub const VERSION: &str = env!("CARGO_PKG_VERSION");