airs_memspec/
lib.rs

1//! # airs-memspec - Multi-Project Memory Bank Management
2//!
3//! A sophisticated CLI tool and library for managing Multi-Project Memory Bank structures
4//! that streamline AI-assisted development with GitHub Copilot integration. Provides
5//! workspace-aware context management, project navigation, and comprehensive task tracking.
6//!
7//! ## Core Functionality
8//!
9//! - **Memory Bank Installation**: Deploy standardized memory bank structures
10//! - **Context Analysis**: Analyze and display workspace context across multiple projects
11//! - **Project Status**: Monitor progress and health across sub-projects
12//! - **Task Tracking**: View and track development tasks with detailed progress logging (read-only)
13//! - **AI Integration**: Embed GitHub Copilot instruction templates for consistent AI guidance
14//!
15//! ## Architecture Overview
16//!
17//! The library is organized into five main modules:
18//!
19//! - [`cli`] - Command-line interface and argument parsing
20//! - [`embedded`] - Static instruction templates and content
21//! - [`models`] - Domain models for workspace, projects, and tasks
22//! - [`parser`] - Content parsing and context correlation
23//! - [`utils`] - Shared utilities and helper functions
24//!
25//! ## Quick Start
26//!
27//! ```rust,no_run
28//! use airs_memspec::{
29//!     cli::args::{Cli, Commands},
30//!     embedded::instructions::available_templates,
31//!     parser::navigation::MemoryBankNavigator,
32//! };
33//! use clap::Parser;
34//! use std::path::Path;
35//!
36//! // Parse CLI arguments
37//! let args = Cli::parse();
38//!
39//! // Discover memory bank structure
40//! let structure = MemoryBankNavigator::discover_structure(Path::new("."))?;
41//!
42//! // Access available instruction templates
43//! let templates = available_templates();
44//! # Ok::<(), Box<dyn std::error::Error>>(())
45//! ```
46//!
47//! ## Memory Bank Structure
48//!
49//! The Multi-Project Memory Bank organizes development context using a standardized
50//! directory structure:
51//!
52//! ```text
53//! .copilot/memory_bank/
54//! ├── current_context.md           # Active project context
55//! ├── workspace/                   # Workspace-level files
56//! │   ├── project_brief.md
57//! │   ├── shared_patterns.md
58//! │   └── workspace_architecture.md
59//! ├── context_snapshots/           # Historical context states
60//! └── sub_projects/                # Individual project contexts
61//!     └── {project_name}/
62//!         ├── project_brief.md
63//!         ├── active_context.md
64//!         ├── tech_context.md
65//!         └── tasks/
66//!             ├── _index.md
67//!             └── task_*.md
68//! ```
69//!
70//! ## Professional Development Standards
71//!
72//! This library enforces professional development practices including:
73//!
74//! - **Zero-Warning Policy**: All code compiles without warnings
75//! - **Comprehensive Testing**: Unit, integration, and documentation tests
76//! - **Rich Documentation**: All public APIs include examples and usage patterns
77//! - **Error Handling**: Robust error types with detailed context
78//! - **Performance**: Efficient parsing and correlation algorithms
79
80/// Command-line interface and argument parsing
81pub mod cli;
82/// Embedded instruction templates and static content
83pub mod embedded;
84/// Domain models for workspace, projects, and task tracking
85pub mod models;
86/// Content parsing and context correlation engines
87pub mod parser;
88/// Shared utilities and helper functions
89pub mod utils;