Skip to main content

vissue_core/
lib.rs

1//! Plain-text issue tracking over per-project orgmode files.
2//!
3//! An issue is one top-level org heading in `<root>/<prefix>/<project>/issues.org`,
4//! where `prefix` defaults to `Software`. The file is the database: every verb
5//! parses it, and every mutation rewrites it under a lock. Reports never print;
6//! they return `String`, so a CLI, an MCP server, and a library caller all share
7//! one code path.
8
9pub mod agent;
10pub mod catalog;
11pub mod config;
12pub mod consensus;
13pub mod digest;
14pub mod error;
15pub mod events;
16pub mod graph;
17pub mod keys;
18pub mod mirror;
19pub mod model;
20pub mod ops;
21pub mod org;
22pub mod process_env;
23pub mod props;
24pub mod related;
25pub mod report;
26pub mod router;
27pub mod store;
28pub mod surface;
29/// Generated from `schema/vissue.capnp`; the operation set is encoded in here.
30///
31/// Committed rather than built, because `capnp` the compiler is not on the
32/// machines that build this. Regenerating is a maintainer step.
33#[allow(
34    clippy::all,
35    clippy::pedantic,
36    missing_docs,
37    missing_debug_implementations,
38    unused_qualifications
39)]
40#[rustfmt::skip]
41pub mod vissue_capnp {
42    include!("schema/vissue_capnp.rs");
43}
44pub mod views;
45
46pub use config::{ConsensusSection, DEFAULT_PREFIX, Layout, VissueConfig};
47pub use error::{Error, Result};
48pub use model::{IssueHeading, LogEntry, READY_STATES, TODO_HEADER, TODO_KEYWORDS};
49pub use ops::{CreateOpts, RejectOpts, UpdatePred};
50pub use router::{ProjectRef, RouteHit, Router};
51pub use store::IssueDoc;