spool-memory 0.2.3

Local-first developer memory system — persistent, structured knowledge for AI coding tools
Documentation
//! Bootstrap module — first-run setup for the Spool desktop app.
//!
//! Responsible for the "install once, AI tools just work" experience:
//!
//! 1. Release embedded binaries to `~/.spool/bin/`
//! 2. Create standard data directory layout under `~/.spool/`
//! 3. Add `~/.spool/bin` to user's shell PATH
//! 4. Register MCP integration for detected AI tools (Claude Code, Cursor, etc.)
//! 5. Install Claude Code hooks (Stop, SessionStart, etc.)
//! 6. Mark first-run complete via `~/.spool/version.json`
//!
//! The Tauri desktop app calls `run_bootstrap_if_needed` on startup.
//! Subsequent launches detect the version marker and skip the heavy work.
//!
//! ## Directory layout
//!
//! ```text
//! ~/.spool/
//! ├── bin/                  ← Released binaries (added to PATH)
//! │   ├── spool
//! │   ├── spool-mcp
//! │   └── spool-daemon
//! ├── data/                 ← Ledger, projection cache, config
//! │   ├── memory-ledger.jsonl
//! │   ├── memory-ledger.latest-state.json
//! │   └── config.toml
//! ├── plugins/              ← Future: Pro plugins (.dylib/.so/.dll)
//! ├── version.json          ← Bootstrap state + service version
//! └── license.json          ← Future: Pro license (absent in OSS)
//! ```

pub mod auto_configure;
pub mod layout;
pub mod orchestrator;
pub mod path_config;
pub mod release;
pub mod state;
pub mod updater;

pub use auto_configure::{AutoConfigureReport, ClientConfigReport, auto_configure_clients};
pub use layout::SpoolLayout;
pub use orchestrator::{BootstrapReport, is_first_run, run_bootstrap, run_bootstrap_with_layout};
pub use path_config::{PathConfigReport, configure_path};
pub use state::{BootstrapState, ServiceVersion};
pub use updater::{UpdateApplyReport, UpdateCheckReport, apply_update, check_for_update};