Skip to main content

Crate bears

Crate bears 

Source
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

  • store parses and writes the .bears/ directory, including the archive.
  • task defines Task and the frontmatter format.
  • graph computes the dependency graph, readiness, and effective priority.
  • service is the business logic layer — create, update, reparent, archive, epic progress and auto-close. Most callers want this.
  • scaffold writes 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;

Modules§

config
error
graph
scaffold
Scaffolding framework for coding-harness integration files.
service
store
task