Skip to main content

A git-backed store for cross-cutting work items

Project description

ruche

A git-backed store for cross-cutting work items.

Status: early reservation release (v0.1.0). Packaging, CI, and the test harness are in place. The commands parse but are not implemented yet; each one exits non-zero with "not yet implemented". Follow the roadmap below.

What it is

ruche keeps work items (issues, tasks, decisions) inside your git repository, next to the code they concern, instead of in a separate tracker. The store is plain files committed to git. A derived SQLite + FTS5 index makes reads fast and is always reconciled to HEAD before an index-backed read, while trust-critical reads bypass it entirely.

One core, several faces: a Rust library (ruche-core), a command-line tool (ruche), a Python package on PyPI, and (later) an MCP server.

flowchart TD
    core["ruche-core: store, index, merge driver, provenance"]
    cli["ruche (CLI)"]
    py["Python wheel (PyPI)"]
    mcp["ruche-mcp (planned)"]
    cli --> core
    py --> core
    mcp -. planned .-> core

The hive

ruche means "hive" in French. The apian metaphor lives in the concepts and the docs; the commands themselves stay plain English.

Concept Term
a work item alvéole (cell)
an active item couvain (brood)
closing an item operculer (to cap a cell)
a graduating seed essaim / essaimer (swarm)
the merge gate les gardiennes (the guard bees)
propose, then apply la danse (the waggle dance)

Install

Once published:

cargo install ruche      # the CLI
pip install ruche        # the CLI plus a thin Python binding

Commands

capture, search, board, get, update, note, triage (--apply), decide (--apply), cap, swarm, context, scope rename, reindex, doctor, migrate, init, merge-driver.

Roadmap

The intended stack, each piece added when it is built, not before:

  • gix for git access
  • rusqlite + FTS5 for the derived index
  • ulid for ids
  • serde plus a YAML crate for row frontmatter
  • rmcp for the MCP face (ruche-mcp)
  • PyO3 + maturin for the PyPI wheel (already wired)

Workspace layout

  • crates/ruche-core: the library (store, index, write path, merge driver, provenance); module seams only for now.
  • crates/ruche: the CLI, built on ruche-core.
  • crates/ruche-py: the PyO3/maturin crate that builds the PyPI wheel.

License

Dual-licensed under either of MIT or Apache-2.0, at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruche-0.1.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ruche-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl (427.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file ruche-0.1.0.tar.gz.

File metadata

  • Download URL: ruche-0.1.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ruche-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49668e46a7495701268579897607182237fec3552d73b17edfe01dbafc08c79a
MD5 eddcaa69190b221f6b0f2fab6587fe16
BLAKE2b-256 fc849ce14bffdf83867f05b05e8d04d80a1a04cdd6f2977d7bd52b2bed086c71

See more details on using hashes here.

File details

Details for the file ruche-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ruche-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1a5f0c23648baf4d3aa1ee14477ceeb42bd6449ee1a2fc955bca81072e366bc0
MD5 871b1879493a5b0218c405c682d04880
BLAKE2b-256 862ffd57e4afde1d3f8076dd951a9cd44938cefffbfb569ce214c6aff0f0dcd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page