aida-core 0.2.0

Core library for AIDA — AI-native requirements management with structured context for AI coding agents
Documentation

aida-core

Core library for AIDA — AI-native requirements management.

What is AIDA?

AIDA tracks what you build and why, with structured context for AI coding agents. Requirements link to code through trace comments. Commits reference spec IDs. AI assistants query typed, relational data instead of parsing prose.

Features

  • 5 storage backends — YAML, SQLite, PostgreSQL, Git worktree, Git sibling
  • Distributed mode — offline-capable with node-namespaced IDs and git sync
  • Hybrid Logical Clocks — causal timestamp ordering across nodes
  • Sequence Dispenser — 3 implementations (file, SQLite, Unix socket daemon)
  • Conflict detection — field-level change detection with resolution strategies
  • Operation log — append-only CRDT-inspired event log for merge-free sync
  • Analytics engine — velocity trends, cycle time, churn, quality scores
  • Telemetry — local usage tracking for measuring tool effectiveness
  • GitHub/GitLab integration — bidirectional issue sync

Usage

This crate is the shared library used by aida-cli (the CLI tool) and aida-server (the REST/gRPC server). Most users should install the CLI:

cargo install aida-cli

For library usage:

use aida_core::{DatabaseBackend, create_backend, Requirement};

let backend = create_backend(Path::new("requirements.db"), None)?;
let store = backend.load()?;

for req in &store.requirements {
    println!("{}: {}", req.display_id(), req.title);
}

License

MIT — see LICENSE