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