| Crates.io | grite-daemon |
| lib.rs | grite-daemon |
| version | 0.3.0 |
| created_at | 2026-01-26 01:33:33.929018+00 |
| updated_at | 2026-01-26 01:33:33.929018+00 |
| description | Background daemon for grite providing concurrent access and performance |
| homepage | https://github.com/neul-labs/grite |
| repository | https://github.com/neul-labs/grite |
| max_upload_size | |
| id | 2069999 |
| size | 118,893 |
Grite is a repo-local, git-backed issue/task system designed for coding agents and humans. It keeps an append-only event log in git refs, builds a fast local materialized view, and never writes tracked state into the working tree.
Documentation: docs.neullabs.com/grite
refs/grite/wal, synced with git fetch/pushGrite serves different audiences with distinct workflows:
| Audience | Primary Use Cases |
|---|---|
| AI Coding Agents | Task decomposition, multi-agent coordination, persistent memory |
| Individual Developers | Offline issue tracking, personal task lists, technical debt |
| Development Teams | Distributed coordination, code review workflows, knowledge base |
| Security & Compliance | Private vulnerability tracking, incident response, audit trails |
| DevOps & Release Engineering | CI/CD integration, release checklists, deployment tracking |
See Use Cases for detailed workflows and examples.
curl -fsSL https://raw.githubusercontent.com/neul-labs/grite/main/install.sh | bash
This downloads the pre-built binary for your platform and installs to ~/.local/bin/.
Homebrew (macOS/Linux):
brew install neul-labs/tap/grite
Cargo (Rust):
cargo install grite grite-daemon
npm:
npm install -g @neul-labs/grite
pip:
pip install grite-cli
gem:
gem install grite-cli
Chocolatey (Windows):
choco install grite
git clone https://github.com/neul-labs/grite.git
cd grite
./install.sh --source
Ubuntu/Debian:
sudo apt install libnng-dev
macOS:
brew install nng
Windows: The nng library is bundled with the pre-built binaries.
# Initialize grite in a git repository
cd your-repo
grite init
# This also creates AGENTS.md with instructions for AI coding agents
# Create an issue
grite issue create --title "Fix login bug" --body "Users can't login"
# List issues
grite issue list
# Add a comment
grite issue comment <issue-id> --body "Working on this"
# Close an issue
grite issue close <issue-id>
# Sync with remote (auto-rebases on conflict)
grite sync
# Run health checks
grite doctor
# Rebuild database (fast mode with snapshots)
grite rebuild --from-snapshot
Grite uses a three-layer architecture:
+------------------+ +-------------------+ +------------------+
| Git WAL | --> | Materialized View | <-- | CLI / Daemon |
| refs/grite/wal | | sled database | | grite / grite-daemon |
| (source of truth)| | (fast queries) | | (user interface) |
+------------------+ +-------------------+ +------------------+
| Crate | Purpose |
|---|---|
libgrite-core |
Event types, hashing, projections, sled store, signing |
libgrite-git |
WAL commits, ref sync, snapshots, distributed locks |
libgrite-ipc |
IPC message schemas (rkyv), daemon lock, client/server |
grite |
CLI frontend |
grite-daemon |
Optional background daemon |
| Type | Size | Format | Purpose |
|---|---|---|---|
ActorId |
128-bit | Random | Identifies device/agent |
IssueId |
128-bit | Random | Identifies issue |
EventId |
256-bit | BLAKE2b hash | Content-addressed event ID |
IDs are stored as byte arrays internally and displayed as lowercase hex strings.
The daemon (grite-daemon) is optional and provides:
# Manual daemon control
grite daemon start --idle-timeout 300
grite daemon status
grite daemon stop
# Force local execution (skip daemon)
grite --no-daemon issue list
The daemon uses filesystem-level locking (flock) to prevent database corruption from concurrent access.
.git/
grite/
config.toml # Repo-level config (default actor, lock policy)
actors/
<actor_id>/
config.toml # Actor config (label, public key)
sled/ # Materialized view database
sled.lock # flock for exclusive access
daemon.lock # Daemon ownership marker
refs/grite/
wal # Append-only event log
snapshots/<ts> # Periodic snapshots
locks/<resource_hash> # Distributed lease locks
Full documentation is available at docs.neullabs.com/grite.
| Document | Description |
|---|---|
| Architecture | System design and data flow |
| Use Cases | Workflows for agents, developers, and teams |
| Data Model | Event schema, hashing, projections |
| CLI Reference | Command-line interface |
| CLI JSON Output | JSON output format for scripting |
| Daemon | Background daemon details |
| Actors | Actor identity and isolation |
| Configuration | Config files and options |
| Git WAL | WAL format and chunk encoding |
| IPC Protocol | Inter-process communication |
| Locking | Distributed lock coordination |
| Export Format | JSON/Markdown export |
| Hash Vectors | Canonical hashing test vectors |
| Operations | Backup, recovery, debugging |
| Agent Playbook | Guide for AI coding agents |
| Comparison | How Grite compares with Beads, git-bug, and others |
# Build
cargo build
# Run tests
cargo test
# Run with debug logging
RUST_LOG=debug cargo run --bin grite -- issue list
# Install locally
./install.sh
refs/grite/*grite init creates AGENTS.md so AI coding agents automatically discover griteMIT License - see LICENSE for details.