f451

f451

f451 at a Glance

f451 combines the comfort of a wiki with Git as the single source of truth. Every page is a Markdown file in a repository on Forgejo or GitHub. The repository decides who may read and who may approve. Like code, every change goes through a draft and a review before it is published.

Features

  • Git as the source. A space is a repo, a page a folder with index.md. The database is only an index and can be rebuilt from Git at any time.
  • Draft, review, merge. A draft is a branch, a review a pull request, the approval a merge. Conflicts are shown, never silently overwritten.
  • Permissions from the Git provider. No role model of its own. Commits are made under the personal account, never under a service account.
  • Editor with two modes. WYSIWYG on Tiptap and raw Markdown, autosave, local buffer when the connection drops.
  • AI agents via MCP. Agents read, search, and write drafts on the same review path as people.
  • Reading and navigation. Page tree, full-text search in German and English, knowledge graph, broken-link report, diagrams with draw.io and Excalidraw.

Tech Stack

ComponentTechnology
BackendNode.js, Fastify (TypeScript)
FrontendNext.js
EditorTiptap/ProseMirror, CodeMirror
Index and searchPostgreSQL
Git providerForgejo, GitHub
Sign-inOpenID Connect (Entra ID, Forgejo, others)
AgentsMCP server
TestVitest, Testcontainers, Playwright

Live Demo

A public instance runs at f451.rotecodefraktion.de and is reset every night. Sign in through Forgejo with demo / da9d33b2efdb41ed (read) or writer / 43dc099d5da028f4 (also writes in the Playground).

Installation

Locally with Docker or Podman, Node 22, and pnpm 9. The complete guide is in the README and in the handbook at f451.rotecodefraktion.de.

git clone https://github.com/rotecodefraktion/f451.git
cd f451

License

Source-available, based on the PolyForm Shield License 1.0.0 with additional conditions. Use, changes, and sharing are free of charge; a license is needed only to sell f451 or to offer it as a paid hosted service. Details in LICENSE.md.

More in the blog post →