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