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;
15pub mod search;
16
17pub use agent_artifact::{
18    ARTIFACT_BODY_VERSION, ArtifactResult, BODY as AGENT_ARTIFACT_BODY, Capability,
19    DELIMITER_BEGIN, DELIMITER_BEGIN_PREFIX, DELIMITER_END, REASON_COPILOT_DEFERRED,
20    SETUP_BODY as AGENT_ARTIFACT_SETUP_BODY, SETUP_SUMMARY as AGENT_ARTIFACT_SETUP_SUMMARY,
21    SUMMARY as AGENT_ARTIFACT_SUMMARY, capabilities_for, has_artifact_writer, install_artifacts,
22    install_one, installed_version, render_artifact, resolve_path, scope_is_meaningful,
23};
24pub use agents::AgentId;
25pub use config::{
26    Agents, CONFIG_FILE_NAME, Config, MAX_WORKSPACE_NAME_LEN, RESERVED_WORKSPACE_NAMES, Repo,
27    RepoEdit, Settings, Workspace, WorkspaceResolution, validate_workspace_name,
28};
29pub use context::{
30    AgentDoc, Context, MatchedFile, RepoContext, SCHEMA_VERSION, Scope, resolve_agent_docs,
31};
32pub use doctor::{Check, DOCTOR_SCHEMA_VERSION, DoctorReport, Finding, Severity, Summary};
33pub use error::RepographError;
34pub use git::{RepoState, RepoStatus, inspect, validate_git_repo};
35pub use search::{
36    FIND_SCHEMA_VERSION, Hit, INDEX_DB_NAME, IndexOutcome, IndexStatus, MODEL_SUBDIR,
37    SearchOutcome, build_index, index_db_path, index_health, model_cache_dir, search,
38};
39
40/// Crate version, sourced from `Cargo.toml`.
41pub const VERSION: &str = env!("CARGO_PKG_VERSION");