Signed by hannaSSH key fingerprint: SHA256:4g9cWhkAAw8gwqhJUcVbSnGEvdGwklW+1Aa/fMUu59k
CLAUDE.md +10 −6
| @@ -2,12 +2,16 @@ | |||
| 2 | 2 | ||
| 3 | This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. | 3 | This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
| 4 | 4 | ||
| 5 | ## Project status: greenfield | 5 | ## Project status: MVP complete |
| 6 | 6 | ||
| 7 | The repository currently contains **only `spec.md`** — a 1166-line implementation contract. No | 7 | All 18 implementation phases are done and `nix flake check` is green. The workspace, |
| 8 | code, flake, crates, or `Cargo.toml` exist yet. `spec.md` is the source of truth: read it before | 8 | flake, and every crate exist and are tested; the binary serves the web UI + HTTPS/SSH |
| 9 | doing anything. Where it says **MUST**, treat it as a hard requirement; **SHOULD** deviations | 9 | git transport + JSON API. `spec.md` remains the source of truth for behaviour — read it |
| 10 | must be logged in `docs/decisions.md` (once that file exists). | 10 | before changing anything. Where it says **MUST**, treat it as a hard requirement; |
| 11 | **SHOULD** deviations are logged in `docs/decisions.md` (read it — it records every | ||
| 12 | deviation, e.g. rpgp-not-sequoia, native-tls-not-rustls, russh's aws-lc-rs licenses, and | ||
| 13 | the `tokio` opt-level=0 workaround for a nightly ICE). Known gaps are noted there too; | ||
| 14 | the deferred **CI** (HCL + Docker via bollard) has not been started. | ||
| 11 | 15 | ||
| 12 | `fabrica` is a self-hosted git server: a single Rust binary that serves repos over HTTPS (read) | 16 | `fabrica` is a self-hosted git server: a single Rust binary that serves repos over HTTPS (read) |
| 13 | and SSH (read + write) with a fast, themeable, htmx-driven web UI. Private by default, no sign-up. | 17 | and SSH (read + write) with a fast, themeable, htmx-driven web UI. Private by default, no sign-up. |