Reference

Everything Fougere answers, read off its code: what each config admits, the types a frond is written with, the ports and interfaces you extend, every command and every refusal.

By what you write

  • CLI — fougere new, serve, call, sync, graph — composing a workspace, hosting one frond, invoking an operation from a shell.
  • Error codes — Every code an operation can refuse with, and its HTTP status.
  • fougere.config.ts — Every key the app config admits, and which package answers each one.
  • frond.config.ts — Every key a frond's own config admits.
  • Source types — Every type an entry of sources: may name, and the keys it admits.
  • Protocols — What protocols: may serve, and what each admits.
  • State keepers — How state: may keep a caller's values.
  • Forms — The types a frond is written with — each one read by the scan.
  • Ports Fougere opens — The classes you stand in front of, or extend, to change what the framework does.
  • Interfaces to extend — The empty interfaces a package augments with declare module, and who augments each.
  • Boot and check diagnostics — Every code a boot, the scan or fougere check can raise, and what it says.

By package

  • @fougere/adapter-duckdb — Read across an app's sources — one SQL query over what DuckDB can attach.
  • @fougere/adapter-env — The process environment as a source — MEILI_URL read as Meili's url, judged at boot.
  • @fougere/adapter-file — Rows as files — one JSON or YAML file per row, in a directory per entity.
  • @fougere/adapter-graphql — Entity → GraphQL types, inputs and CRUD, through Pothos.
  • @fougere/adapter-memory — Rows in a Map — the source a first run meets, and the one that ships no driver.
  • @fougere/adapter-rest — Entity → REST routes.
  • @fougere/adapter-sql — Entity → SQL tables through Kysely (SQLite, PostgreSQL, MySQL, SQL Server).
  • @fougere/admin — A back-office derived from what the app already says it hosts — a react-admin DataProvider over the Fougere wire.
  • @fougere/app — The host-independent half of a Fougere app: boot, call envelope, REST table, form contract.
  • @fougere/auth-better — Fougere's auth — a translation layer onto better-auth.
  • @fougere/calls — Optional call log for Fougere: a bounded ring of every dispatch, served as an rpc operation. Read it with `fougere devtools`.
  • @fougere/cli — The Fougere CLI — compose a workspace, serve a frond, call an operation.
  • @fougere/compiler — The scan: Fougere reading a project's source to produce the descriptors core boots from. Needs a filesystem and a TypeScript program.
  • @fougere/container — Fougere's DI container: resolution by type, wired from the AST scan. Zero dependencies.
  • @fougere/core — The core — scan, call contract, façades, remote stand-ins.
  • @fougere/decorators — Configuration sugar (@config) — declarative, never hidden runtime.
  • @fougere/defaults — The conventional boot of a Fougere app — the one place storage is wired.
  • @fougere/graph — Fougere's graph: a labelled directed multigraph, and the four questions asked of it — order, cycles, components, reach. Zero dependencies.
  • @fougere/http — The words every HTTP door speaks — a method, an answer, the headers a state travels in.
  • @fougere/log — Logging for Fougere: two lines for every call, in every process, and a file destination for the lines.
  • @fougere/next — The Next.js adapter: mounting, and the one import that is genuinely Next.
  • @fougere/nuxt — The Nuxt module: Fougere's client primitives and server surface.
  • @fougere/observability — Optional observability for Fougere: one span per operation, W3C Trace Context across any transport.
  • @fougere/oclif — A frond's operations, as a terminal: topics, flags and help derived from what it declares.
  • @fougere/react — Fougere's four primitives as React hooks — host-independent.
  • @fougere/registry — Fougere's registry: one answer per name, refused when a second one arrives, and a reload that says it replaces. Zero dependencies.
  • @fougere/schema — The entity and its 4 axes — shape, role, lifecycle, boundary. Subject-owned judgments, edge-safe.
  • @fougere/state-cookie — A caller's state kept in a cookie — what `state: { cart: { cookie: {} } }` names, signed by core, carried by every HTTP door.
  • @fougere/state-session — A caller's state kept in a session — what `state: { cart: { session: {} } }` names: one cookie holds a reference, the values a row in a source.
  • @fougere/svelte — Fougere's four primitives as Svelte stores — host-independent.
  • @fougere/testing — Tests derived from the declaration — cases, stubs and a gradient of realities.
  • @fougere/transport-http — The call contract on the wire, in JSON-RPC 2.0 (server + client).
  • @fougere/vite — The Vite plugin: what any Vite-built host must know to run a Fougere app.
  • @fougere/workflow — A release that goes to the end: the journal is three entities, the sweep is an operation, and a shared journal is one line of remotes:.
Built with Fougere and Nuxt, hosted on GitHub Pages.