49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# Claire
|
|
|
|
Project manager for the Claude agent fleet. Sits on top of [rclaude](../../@scripts/session-tools/) — Claire owns *the fleet's work* (projects, tasks, assignments, priorities); rclaude owns *each agent's session* (tmux, ssh, send-keys).
|
|
|
|
```
|
|
claire (project manager) — projects · tasks · assignments · prioritization · web
|
|
│
|
|
▼
|
|
rclaude (transport) — send · list · resume · triage · tmux+ssh primitives
|
|
│
|
|
▼
|
|
claude agents on hosts
|
|
```
|
|
|
|
## Install
|
|
|
|
Requires Python 3.13+ and [uv](https://docs.astral.sh/uv/).
|
|
|
|
```sh
|
|
cd ~/Code/@projects/@claire
|
|
uv venv
|
|
uv pip install -e ".[dev]"
|
|
./scripts/install.sh # symlinks `claire` into ~/.local/bin
|
|
```
|
|
|
|
## Quick start
|
|
|
|
```sh
|
|
claire init # first run: generates machine_id + DB
|
|
claire project new "wozniak-cleanup" --goal "remove dead code paths"
|
|
claire task add wozniak-cleanup "scan for dead exports" --prio 1
|
|
claire pull # refresh fleet view from rclaude
|
|
claire assign <task-id> <session-uuid> # bind a task to a live claude session
|
|
claire status # rolled-up dashboard
|
|
claire broadcast wozniak-cleanup --yes -- "please start"
|
|
claire web # FastAPI dashboard at http://127.0.0.1:8765
|
|
```
|
|
|
|
## Architecture
|
|
|
|
Event-sourced single-machine SQLite at `~/.local/share/claire/claire.db`. Every write produces an append-only `events` row with a hybrid-logical-clock timestamp; projection tables (`projects`, `tasks`, `assignments`, `sessions`, `updates`, `groups`) are rebuilt from events. The HLC + event substrate is in place so a future Push B can add peer-to-peer sync without schema migration.
|
|
|
|
See [DESIGN.md](./DESIGN.md) for full rationale.
|
|
|
|
## Status
|
|
|
|
**Push A (this scaffold):** single-machine. CLI + web dashboard + pull loop. Sync deferred.
|
|
|
|
**Push B (next):** httpx peer pull/push, `/api/sync/events` endpoints, multi-machine integration tests.
|