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#

  1. Development setup — clone, bring up the Compose stack, apply the schema, run the day-to-day task commands.

  2. 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.

  3. 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.