Expand description
bears — a file-based task tracker for AI agent workflows.
Tasks are markdown files with YAML frontmatter in a .bears/ directory.
This crate is the core library behind the bea CLI, MCP server, and TUI; it
is published so that an independent application can drive a bears repository
directly instead of shelling out to the binary.
§Layering
storeparses and writes the.bears/directory, including the archive.taskdefinesTaskand the frontmatter format.graphcomputes the dependency graph, readiness, and effective priority.serviceis the business logic layer — create, update, reparent, archive, epic progress and auto-close. Most callers want this.scaffoldwrites coding-agent integration files (CLAUDE.md, skills, MCP config).
There is no cache and no daemon: store::load_all re-reads the whole
directory, and mutating functions take the resulting map by reference.
§Example
use bears::{service, store};
let base = std::path::Path::new(".");
let tasks = store::load_all(base).await?;
for task in service::list_ready(&tasks, None, None, None) {
println!("{} {} {}", task.id, task.priority, task.title);
}Re-exports§
pub use error::Error;pub use error::Result;pub use task::Priority;pub use task::Status;pub use task::Task;pub use task::TaskType;