Contributing#
Working on fastrag itself, rather than building with it — if you are
looking for how to use the package, Guide is the other door.
Where to start#
Development setup — clone, bring up the Compose stack, apply the schema, run the day-to-day
taskcommands.Architecture — the package map, the dependency direction between layers, and the
_-prefixed private-module convention, so you know where a change belongs before you make it.Conventions — the rules that hold regardless of which module you touch: why the SDK has no CLI, which methods are
async, how naming works, what counts as public API.
Three narrower pages round it out: Serving internals for the parts
of fastrag.serve that only a contributor needs — the layout, the
advisory-lock design, the append-not-truncate regenerate —
Frontend types for how the OpenAPI document and the generated
TypeScript that dashboard/ and ui/registry/ consume stay in sync with
those same Pydantic models, and Testing for what is tested today
and how to add to it.
Documentation standard is the standard this whole site is written against: read it before adding a page, and use it to settle where new content belongs. Decisions is the append-only log of choices that already have an answer — check it before reopening one.
BACKLOG.md in the repository root, not part of this site, tracks everything
that is intentionally not built yet; a docs page describes only what ships.
See also#
CONTRIBUTING.md in the repository root for the short version: clone,
install, test, and where the rest of this section lives.