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 satchel;
28pub mod store;
29pub mod surface;
30/// Generated from `schema/vissue.capnp`; the operation set is encoded in here.
31///
32/// Committed rather than built, because `capnp` the compiler is not on the
33/// machines that build this. Regenerating is a maintainer step.
34#[allow(
35    clippy::all,
36    clippy::pedantic,
37    missing_docs,
38    missing_debug_implementations,
39    unused_qualifications
40)]
41#[rustfmt::skip]
42pub mod vissue_capnp {
43    include!("schema/vissue_capnp.rs");
44}
45pub mod views;
46
47pub use config::{ConsensusSection, DEFAULT_PREFIX, Layout, VissueConfig};
48pub use error::{Error, Result};
49pub use model::{IssueHeading, LogEntry, READY_STATES, TODO_HEADER, TODO_KEYWORDS};
50pub use ops::{CreateOpts, RejectOpts, UpdatePred};
51pub use router::{ProjectRef, RouteHit, Router};
52pub use store::IssueDoc;