The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Folio listing page.
The vibe-coded, open-source alternative to Notion and Confluence. Your team's wiki lives in Git. People write in the browser, together, in real time. AI agents read and write the same pages. One command to run it yourself.
Website: https://foliowiki.online · Featured in Self-Host Weekly (9 Oct 2026)
No install, no sign-up: open it and pick Sam on the sign-in screen. Shared login, data resets every 24 hours; don't enter personal data or API keys.

Folio was built to replace Confluence and Notion for a real team — and it was built by AI agents, in the open. The plans, specs and hand-off notes the agents work from are in this repository, next to the code they wrote. More on that below.
Open http://localhost:4870, create the first account, start writing.
Not ready to install? Try the live demo first.
Short walkthroughs, no slides. The voice in the videos is synthetic.
Most wikis keep your content in a database and offer Git as an export. Folio does the opposite: the Git repository is the wiki. The database holds the index, access rights and the state of live editing — never the only copy of your words.
This is what a space looks like on disk:
And this is its history — ordinary commits, with the people who made the changes as authors:
What that gives you:
docs/
writes no ids into your files; images can be stored in the repository next to
the page and linked by a relative path, so GitHub shows them; and moving a
page rewrites the links that point to it and the ones inside it, in one
commit.
Documents, data tables and whiteboards are edited by several people at once. You see who is on the page and where their cursor is; changes appear as they are typed. When the page goes quiet, Folio commits — with the person who edited as the author.

What you type is not lost between Live edit and Reading: the browser keeps a local copy until the server confirms it has your edits. If it cannot confirm them, the header says Not saved and closing the tab asks first.
On a train, on a plane, on bad hotel Wi-Fi — keep writing.

Data tables, forms and file uploads need a connection.
A Markdown editor that does not make you think about Markdown. Three modes — Reading, Live edit and Source — so that writers and engineers are both at home.

++underline++, and coloured status
tags like :status[Done]{color=green}.[[ links a page, @ mentions a person, / inserts anything.::pagetree puts a live tree of child pages right into the text.
Mermaid diagrams come with a visual editor. You build the diagram on a canvas, and Folio writes the Mermaid code for you — or you type the code and watch the canvas follow. Both sides stay in sync.

mermaid
code block, so GitHub and GitLab render it too.Spreadsheets that belong to the wiki: typed columns, saved views, filters and sorting — a small database you can link from any page and query from any agent.

and/or filters — including "me", "today", "this week".Forms turn a table into a questionnaire: every answer becomes a row. A form can be public, so people answer without an account.

Excalidraw boards inside the wiki — architecture, flows, workshops. Drawn together in real time and saved as SVG files that render anywhere.

The board above was not drawn by hand. An agent created it through MCP from a short description of boxes and arrows; people then keep editing it like any other board.
Reactions. Select a shape in Edit mode and a small button appears at the corner of its selection frame: pick an emoji (✅ ❌ 🔧 for yes, no and in progress, or 👍 ❤️ 😂 🎉 🤔 👀 🔥 👏) and a counter chip shows under the shape. Click a chip to add or remove your own; point at it to see who reacted. Reactions are live for everyone on the board, and people who can only view it (or are in View mode) see them too but cannot click them. They are kept with the board's live state, not in its SVG file.
PDF, Word, Excel and PowerPoint files are pages too. Drop one into the tree and it opens right inside Folio — no download, no other application, no conversion on the server.


These files are for viewing: they are not edited in Folio, and search finds them by title.
An assistant in the side panel that works with your wiki, not next to it.

In the screenshot the assistant was asked to add an initiative to the roadmap and say which ones are urgent. It read the table's schema, inserted the row — it appears in the table on the left — and answered from the data.
Folio collects three signals about answer quality, without asking anyone to fill in a form:
Instance administrators see all of it on one page, Assistant analytics
(/admin/assistant, from the account menu): the conversations with their
ratings and survey results, and a second tab, "Questions without an answer",
which is a ready list of what your documentation is missing — the person's own
words first, the assistant's restatement below, and links to the pages
the assistant read. Both tabs filter by space,
user and date. A space administrator sees the same page limited to the spaces
they administer: only conversations that ran there, and only the messages of
those runs. An administrator can open a conversation to read it; the
conversation page lists who opened it and when, and every opening is written
to the audit log. Other people do not see this page.

.agentEvery space has a .agent folder. Whatever you put there becomes the
assistant's instructions for that space — and it is written as ordinary
Folio pages, not as configuration.
.agent; everyone else just gets a better assistant.The instructions apply to every run in the space, in Ask and Agent modes alike.
Folio does not resell AI and does not mark it up. You connect the subscription you already pay for, and the assistant runs on it.
| Provider | Status |
|---|---|
| Cursor | available — each person connects their own key, or an administrator provides one for a space or for the whole instance |
| Others | coming soon |
Who pays. A run uses the first key that exists: the person's own key, then
the key of the space, then the key of the instance, then CURSOR_API_KEY from
the server environment. A space administrator sets a space's key (space menu,
"Folio AI key"); an instance administrator sets the instance key and can turn
personal keys off, so everyone uses the shared one. Shared keys are stored
encrypted and are never shown again after saving; every change is in the audit
log. Visitors of a public site have no key of
their own, so their questions run on the key of the space, of the instance or
of the server environment, in that order.
Without a subscription everything else in Folio works as usual.
MCP server. 23 tools over /mcp with personal access tokens: list and
search spaces, read and write pages, create and edit whiteboards, query and
update data tables, read history.
Ready-made setups. Files for Claude Code (a plugin and a skill), Cursor, VS Code, Codex, n8n (two importable workflows), Open WebUI, ChatGPT and Claude live in integrations/: configs with placeholders, rules for the agent and step-by-step instructions.
Markdown for an agent. Any page — with its child pages, if you want — is one link that returns clean Markdown. No scraping, no HTML, no login flow:

Export in the formats agents and people need: Markdown, YAML, PDF, DOCX, or a zip of a whole space.
Safe by design. A token never has more rights than its owner, a read
token cannot write, and administrative actions are not available to tokens at
all. Details: docs/MCP.md.
Point Folio at a Confluence page or a whole tree and it brings the pages over as Markdown — with images, code, checklists, and panels converted into callouts. Pages come from Confluence Cloud and from on-premises installations; whiteboards from Confluence Cloud become Excalidraw boards.
Run a test import first: not every macro has an equivalent. What is not there yet is written down honestly.
Who sees what is decided in one place, and it is visible at a glance.

Page-level access. Any page can be narrower than its space: open to all members, to you only, or to selected people with view or edit rights.

Getting people in
Sharing outside
For agents and scripts
read or write scope. A token never has more
rights than its owner, and administrative actions are not available to
tokens at all..agent folder is visible to space administrators only.One setting turns a space into a read-only website for people without an account. Open the space menu, choose Publish as website and make the space public. It is the same space, not a copy: edit a page and the site shows the change. Signed-in people read a public space the way they read any space that is open to the instance.
| Address | When it works |
|---|---|
https://wiki.example.com/public/<space> | Always, as soon as the space is public. Nothing to set up. |
https://<label>.sites.example.com | When the operator sets PUBLIC_SITES_DOMAIN=sites.example.com and the space administrator picks a label. Needs wildcard DNS, a wildcard certificate and a reverse proxy that routes those hosts to Folio. |
https://docs.example.com | A custom domain for one space: a CNAME to the host of your Folio, and the reverse proxy routing that host to Folio, with a certificate for it. |
.agent folder and templates. A restriction is not inherited by child pages,
so check the tree before you publish and lock every page that must stay closed.robots.txt or a sitemap for these
sites, and the rate limits are counted per server process.What the operator sets up for subdomains and custom domains: docs/INSTALL.md. Limits: docs/LIMITATIONS.md.
You need Docker and Git. Nothing else.
The first start builds the application and takes a few minutes. Then open http://localhost:4870 and create the first account — it becomes the administrator.
A short welcome takes it from there: pick what to create first — a document, a whiteboard or a data table — look through what Folio can do, and land in your first space with that page open. Connecting an existing Git repository is one link away on the same screen.

| Where | How |
|---|---|
| Your computer | docker compose up -d |
| A server or VPS | one command from the published image: deploy/vps, or the compose file above plus --profile https for automatic HTTPS |
| Coolify, Railway, Render, DigitalOcean, Dokploy, CapRover, Easypanel, Portainer, Fly.io | ready-made kits in deploy/, see One-click and PaaS |
| Any other container platform | from the Dockerfile, with PostgreSQL, Redis and a persistent volume — see requirements |
| Vercel, Netlify and other serverless hosting | not supported — Folio is a long-running server that keeps Git repositories on disk and holds live connections |
Domains, HTTPS, updates and backups: docs/INSTALL.md.
No telemetry. A Folio you run sends nothing about its use to anyone: no
analytics library is loaded and no connection is opened to the Folio authors or
to a third party. There is one opt-in exception for people who run a public
demo: set FOLIO_POSTHOG_KEY to a PostHog project of your own and Folio sends
anonymous events (page kinds, space slugs, never content). Without that key
nothing happens. Details: docs/INSTALL.md.
Folio is written by AI coding agents. A human product owner decides what to build, tries every change in the browser and decides what ships; agents plan the work, write the code and the tests, and document what they did.
From the first commit on August 21, 2026 to version 0.1.0 on September 29, 2026 took 39 days and more than 400 commits upstream. Version 0.2.0 followed on October 14, 2026, 54 days in. Today that is roughly 110,000 lines of TypeScript and another 70,000 lines of tests. It runs in production for a real team.
We publish how it is made, not only what was made:
| File | What it is |
|---|---|
| AGENTS.md | How the work is organized and the rules agents follow in this repository |
| docs/HANDOFF.md | The current state: how Folio is put together, what must never break, what is open, and the lessons that cost us something to learn |
| DEV-PLAN.md | What has been built, in the order it was built, and what comes next |
If you are building with agents yourself, this repository is a worked example of a non-trivial product made that way. If you only want a wiki, none of it gets in your way.
Node.js 22.12 or newer (22.13 or newer for the assistant). See CONTRIBUTING.md — and AGENTS.md if your contributor is an agent.
Questions and bug reports: SUPPORT.md. Please report vulnerabilities privately, as described in SECURITY.md.