Folio
Wiki de equipe auto-hospedado com suporte a Git: pesquise, leia, crie e atualize páginas, tabelas de dados e quadros brancos via MCP. OAuth ou token de acesso pessoal.
Documentação
Folio
A alternativa open-source, feita com vibe-coding, ao Notion e ao Confluence. A wiki da sua equipe vive no Git. As pessoas escrevem no navegador, juntas, em tempo real. Agentes de IA leem e escrevem nas mesmas páginas. Um único comando para rodar você mesmo.
Site: https://foliowiki.online · Destaque no Self-Host Weekly (9 de outubro de 2026)
👉 Experimente a demonstração ao vivo
Sem instalação, sem cadastro: abra e escolha Sam na tela de login. Login compartilhado, dados redefinidos a cada 24 horas; não insira dados pessoais ou chaves de API.

O Folio foi criado para substituir o Confluence e o Notion para uma equipe real — e foi criado por agentes de IA, de forma aberta. Os planos, especificações e notas de repasse com os quais os agentes trabalham estão neste repositório, ao lado do código que escreveram. Mais sobre isso abaixo.
git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d
Abra http://localhost:4870, crie a primeira conta e comece a escrever.
Não está pronto para instalar? Experimente a demonstração ao vivo primeiro.
Por que o Folio
- Você é dono do conteúdo. Cada página é um arquivo simples em um repositório Git que você controla. Sem etapa de exportação, sem aprisionamento: pare de usar o Folio amanhã e os arquivos continuarão lá, legíveis em qualquer editor.
- Funciona como uma wiki deve funcionar. Edição em tempo real, árvore de páginas, busca, direitos de acesso, histórico, compartilhamento — e continua funcionando offline.
- Agentes são usuários de primeira classe. Não é um chatbot acoplado: um assistente integrado, seu próprio agente em cada espaço, um servidor MCP completo e links Markdown feitos para agentes.
- Documentos, tabelas, quadros brancos, diagramas e arquivos em uma única árvore. Uma tabela de roadmap ao lado da especificação, ao lado do quadro de arquitetura, ao lado do PDF assinado.
- Um único comando para rodar. Docker, e nada para configurar na primeira execução.
Veja em ação
Pequenos tutoriais, sem slides. A voz nos vídeos é sintética.
- Uma wiki de equipe que vive no Git — edite uma página no navegador, pressione Sync, e ela vira um commit Git real; um colega edita pelo terminal e a mudança aparece na página (0:37)
- Um agente de IA atualiza sua wiki via MCP — uma única solicitação: o agente lê o processo de release, escreve notas de versão e adiciona uma linha no roadmap (0:53)
- Integração de um representante de vendas com o Folio AI — respostas das próprias páginas da equipe com fontes, um check-in semanal como formulário e os resultados em uma tabela (1:22)
- Quadros brancos que vivem no Git — desenhe junto, incorpore o quadro em um documento e mantenha cada versão no histórico (0:51)
- O editor e diagramas Mermaid — Markdown ao vivo, uma visão de código-fonte da mesma página e diagramas que você edita visualmente ou como código (1:04)
- O assistente de IA da sua wiki está ajudando? Análises do Folio AI — administradores da instância veem conversas avaliadas e perguntas sem resposta, adicionam a página que faltava, e a mesma pergunta recebe uma resposta com sua fonte (1:21)
Git primeiro, até o fim
A maioria das wikis mantém seu conteúdo em um banco de dados e oferece o Git como exportação. O Folio faz o oposto: o repositório Git é a wiki. O banco de dados guarda o índice, direitos de acesso e o estado da edição ao vivo — nunca a única cópia das suas palavras.
É assim que um espaço se parece no disco:
acme-handbook/
├── index.md
├── welcome-to-acme.md
├── engineering.md
├── engineering/
│ ├── onboarding-checklist.md
│ ├── release-process.md
│ ├── incident-runbook.md
│ └── how-folio-fits-together.excalidraw.svg ← a whiteboard
├── meeting-notes.md
├── meeting-notes/
│ └── product-sync-september-28.md
├── roadmap.table.md ← a data table
├── onboarding-feedback.table.md
├── onboarding-feedback/
│ └── onboarding-feedback.form.md ← a form
├── security-policy.md
├── security-policy.pdf ← files are pages too
└── security-policy.docx
E este é o seu histórico — commits comuns, com as pessoas que fizeram as mudanças como autores:
$ git log --format='%h %an %s'
be529a0 Maria Chen folio:update
aeac3bb Maria Chen folio:update
6c2c061 Sam Rivera folio:update
026d9ec Maria Chen folio:update
...
4e9ec49 Folio init: create space
O que isso proporciona:
- Edite de qualquer lugar. Altere uma página no navegador ou na sua IDE e faça push — ambos caem no mesmo histórico. Links entre páginas são links Markdown relativos comuns, não um dialeto particular.
- Traga seu próprio repositório. Comece com um espaço vazio, clone um repositório existente ou conecte um depois. Vários espaços podem compartilhar um repositório, cada um em sua própria pasta — para que a documentação possa ficar ao lado do código.
- Revise como código. Merge requests, blame, diff e revert funcionam na sua wiki porque ela é um repositório.
- Nada se perde silenciosamente. O estado da sincronização está sempre visível — limpo, à frente, atrás, conflito — e os conflitos são listados para todo o espaço. "Pegar a versão do Git" redefine um espaço para o branch remoto e salva o que estava lá em um branch de backup primeiro.
- Formatos legíveis. Um quadro branco é um SVG que abre em qualquer navegador e ainda carrega a cena editável. Uma tabela de dados é um único arquivo Markdown — os tipos de coluna e visualizações salvas no front matter, as linhas como uma tabela que você pode ler:
# Roadmap
| Initiative | Status | Owner | Team | Due | Effort, days | Urgent | id |
| --- | --- | --- | --- | --- | ---: | --- | --- |
| Single sign-on for enterprise plans | In progress | @alex | Engineering | 2026-10-09 | 8 | [x] | 1787nfg3 |
| New onboarding flow | In review | @sam | Design | 2026-10-02 | 5 | [ ] | b227mwwh |
| Pricing page redesign | Planned | @sam | Design | 2026-10-16 | 3 | [ ] | ndxvtpa3 |

Escreva juntos
Documentos, tabelas de dados e quadros brancos são editados por várias pessoas ao mesmo tempo. Você vê quem está na página e onde está o cursor delas; as mudanças aparecem conforme são digitadas. Quando a página fica ociosa, o Folio faz o commit — com a pessoa que editou como autora.

O que você digita não se perde entre a Edição ao vivo e a Leitura: o navegador mantém uma cópia local até o servidor confirmar que recebeu suas edições. Se não conseguir confirmá-las, o cabeçalho mostra Não salvo e fechar a aba pede confirmação antes.
Funciona offline
No trem, no avião, no Wi-Fi ruim do hotel — continue escrevendo.
- Páginas e quadros brancos que você abriu continuam editáveis sem conexão.
- Novas páginas e quadros brancos podem ser criados offline e aparecem na árvore imediatamente.
- Tudo é mantido no dispositivo e chega ao servidor sozinho quando a conexão volta — no mesmo endereço, sem duplicatas.
- Nada se perde se você trocar de página ou fechar a aba.
- Um indicador no cabeçalho mostra o que está aguardando envio.

Tabelas de dados, formulários e uploads de arquivos precisam de conexão.
Documentos
Um editor Markdown que não faz você pensar em Markdown. Três modos — Leitura, Edição ao vivo e Código-fonte — para que escritores e engenheiros se sintam em casa.

- Chamadas, listas de verificação, tabelas com células mescladas e cores, blocos de código,
seções recolhíveis, destaques,
++underline++e tags de status coloridas como:status[Done]{color=green}. - Colar do Excel e do Google Docs mantém tabelas e formatação; copiar da Edição ao vivo também mantém.
[[vincula uma página,@menciona uma pessoa,/insere qualquer coisa.::pagetreecoloca uma árvore ao vivo de páginas filhas direto no texto.- Painel de estrutura de tópicos e notas, backlinks, ícones e capas de página, modelos, termos de glossário com cartões de foco.
- Temas claro e escuro, seguindo o sistema ou escolhidos manualmente.

Diagramas que você desenha, não digita
Diagramas Mermaid vêm com um editor visual. Você constrói o diagrama em uma tela, e o Folio escreve o código Mermaid para você — ou você digita o código e vê a tela acompanhar. Ambos os lados permanecem sincronizados.

- Clique para construir. Um sinal de mais em um nó adiciona um nó conectado, um sinal de mais em um link insere um nó nele, uma alça arrasta um novo link de nó para nó.
- Nove tipos de diagrama a partir de modelos: fluxograma, sequência, classes, estados, ER, Gantt, linha do tempo, pizza, mapa mental.
- Código e tela lado a lado, tela cheia quando você precisa de espaço, e uma mensagem legível em vez de uma imagem quebrada quando a sintaxe está errada.
- Ainda é Markdown simples. O diagrama é armazenado como um bloco de código
mermaidcomum, então o GitHub e o GitLab também o renderizam.
Tabelas de dados
Planilhas que pertencem à wiki: colunas tipadas, visualizações salvas, filtros e ordenação — um pequeno banco de dados que você pode vincular de qualquer página e consultar de qualquer agente.

- Tipos de coluna: texto, texto longo, número, data, caixa de seleção, seleção, status, usuário, link.
- Visualizações como abas, cada uma com suas próprias colunas, ordem, larguras, ordenação de múltiplas colunas
e filtros
and/or— incluindo "eu", "hoje", "esta semana". - Editadas juntas em tempo real, armazenadas como um arquivo legível no Git.
- Importação e exportação; até 20.000 linhas por tabela.
Formulários transformam uma tabela em um questionário: cada resposta vira uma linha. Um formulário pode ser público, para que as pessoas respondam sem uma conta.

Quadros brancos
Quadros Excalidraw dentro da wiki — arquitetura, fluxos, workshops. Desenhados juntos em tempo real e salvos como arquivos SVG que renderizam em qualquer lugar.

O quadro acima não foi desenhado à mão. Um agente o criou via MCP a partir de uma descrição curta de caixas e setas; as pessoas então continuam editando-o como qualquer outro quadro.
Reações. Selecione uma forma no modo Editar e um pequeno botão aparece no canto da moldura de seleção: escolha um emoji (👍 ❤️ 😂 🎉 🤔 👀 🔥 👏) e um contador aparece sob a forma. Clique em um contador para adicionar ou remover o seu; aponte para ele para ver quem reagiu. As reações ficam ao vivo para todos no quadro, e pessoas que só podem visualizá-lo (ou estão no modo Visualizar) também as veem, mas não podem clicar. Elas são mantidas com o estado ao vivo do quadro, não no arquivo SVG.
Visualização de documentos
Arquivos PDF, Word, Excel e PowerPoint também são páginas. Solte um na árvore e ele abre direto no Folio — sem download, sem outro aplicativo, sem conversão no servidor.


- PDF no visualizador do próprio navegador: miniaturas, zoom, busca, impressão.
- Word, Excel e PowerPoint renderizados no navegador.
- O arquivo fica no repositório Git do espaço ao lado das páginas sobre ele, na mesma árvore, sob os mesmos direitos de acesso.
- Abra em uma nova aba ou baixe com um clique.
- O Folio nunca reescreve seu arquivo: o que você enviou é, byte por byte, o que é armazenado.
- Uma nova versão do arquivo, mesma página. "Substituir por nova versão…" no menu da árvore, o botão no cabeçalho da página ou arraste um arquivo sobre a página aberta. A página mantém seu link, lugar na árvore e acesso; o novo arquivo pode até ser de outro tipo (uma apresentação que virou PDF), e os links para ele de outras páginas são reescritos. Um aviso oferece Desfazer.
- Cada versão permanece. Cada substituição é um commit próprio. O histórico da página lista as versões com nome e tamanho do arquivo, permite baixar qualquer uma delas (ou visualizar um PDF) e restaurar uma, o que adiciona mais um commit em vez de reescrever qualquer coisa.
Esses arquivos são para visualização: eles não são editados no Folio, e a busca os encontra pelo título.
Folio AI
Um assistente no painel lateral que trabalha com a sua wiki, não ao lado dela.

Na captura de tela, o assistente foi solicitado a adicionar uma iniciativa ao roadmap e dizer quais são urgentes. Ele leu o esquema da tabela, inseriu a linha — ela aparece na tabela à esquerda — e respondeu com base nos dados.
- Perguntar — somente leitura. Encontre, resuma, compare, explique nas páginas às quais você tem acesso.
- Agente — lê e escreve. Rascunha uma página, atualiza uma tabela, desenha um quadro, reestrutura uma seção — dentro dos seus direitos, nunca além deles.
- Roda ao vivo no servidor. Feche o navegador e o trabalho continua; volte e retome de onde estava.
- As mesmas ferramentas que todos os outros. O assistente trabalha com as mesmas ferramentas que um agente externo recebe via MCP — não há uma segunda implementação, mais fraca, e no modo Perguntar as ferramentas de escrita são desativadas no servidor, não apenas ocultas.
O assistente está realmente ajudando?
O Folio coleta três sinais sobre a qualidade das respostas, sem pedir a ninguém que preencha um formulário:
- 👍 / 👎 em uma resposta. Cada resposta salva do assistente pode ser avaliada como "Resposta útil" ou "Não útil". Uma avaliação por resposta, e você pode alterá-la ou removê-la.
- Uma pesquisa curta. Após cada terceira resposta em uma conversa, o painel pergunta "O assistente resolveu sua pergunta?" — Sim, Parcialmente, Não ou Agora não — com um comentário opcional.
- Perguntas sem resposta. Quando as páginas não contêm a resposta, ou o
assistente não tem certeza dela, ele registra a pergunta e o que estava
faltando — brevemente, com links para as páginas que leu — e então ainda responde
a pessoa diretamente.
Administradores da instância veem tudo isso em uma única página, Analytics do assistente
(
/admin/assistant, no menu da conta): as conversas com suas avaliações e resultados de pesquisa, e uma segunda aba, "Perguntas sem resposta", que é uma lista pronta do que falta na sua documentação — as palavras da própria pessoa primeiro, a reformulação do assistente abaixo, e links para as páginas que o assistente leu. Ambas as abas filtram por espaço, usuário e data. Um administrador de espaço vê a mesma página limitada aos espaços que administra: apenas conversas que ocorreram lá, e apenas as mensagens dessas execuções. Um administrador pode abrir uma conversa para lê-la; a página da conversa lista quem a abriu e quando, e cada abertura é registrada no log de auditoria. Outras pessoas não veem esta página.

Seu próprio agente em cada espaço: .agent
Todo espaço tem uma pasta .agent. O que você colocar lá se torna as
instruções do assistente para aquele espaço — e é escrito como páginas
comuns do Folio, não como configuração.
- Construa um agente escrevendo páginas. Seu papel, seu tom, o glossário, as regras que ele deve seguir, os modelos que deve usar, o processo pelo qual deve conduzir as pessoas.
- Um agente diferente para cada equipe. O espaço de suporte ganha um agente que responde como suporte. O espaço de engenharia ganha um que conhece o processo de release. O jurídico ganha um que nunca improvisa. Mesmo Folio, agentes diferentes.
- Versionado como todo o resto. As instruções vivem no Git: você pode ver quem mudou o comportamento do agente, revisar a mudança e revertê-la.
- De propriedade dos administradores. Apenas administradores de espaço veem e editam
.agent; todos os outros apenas recebem um assistente melhor.
As instruções se aplicam a toda execução no espaço, nos modos Ask e Agent igualmente.
Traga sua própria assinatura
O Folio não revende IA e não aplica margem sobre ela. Você conecta a assinatura que já paga, e o assistente roda nela.
| Provedor | Status |
|---|---|
| Cursor | disponível — cada pessoa conecta sua própria chave, ou o operador define uma para todos |
| Outros | em breve |
Sem uma assinatura, todo o resto do Folio funciona normalmente.
Feito para agentes
Servidor MCP. 23 ferramentas via /mcp com tokens de acesso pessoal: listar e
pesquisar espaços, ler e escrever páginas, criar e editar whiteboards, consultar e
atualizar tabelas de dados, ler histórico.
claude mcp add folio --transport http https://wiki.example.com/mcp \
--header "Authorization: Bearer folio_pat_…"
Configurações prontas. Arquivos para Claude Code (um plugin e uma skill), Cursor, VS Code, Codex, n8n (dois workflows importáveis), Open WebUI, ChatGPT e Claude estão em integrations/: configs com placeholders, regras para o agente e instruções passo a passo.
Markdown para um agente. Qualquer página — com suas páginas filhas, se você quiser — é um link que retorna Markdown limpo. Sem scraping, sem HTML, sem fluxo de login:
curl https://wiki.example.com/share/<token>.md

Exporte nos formatos que agentes e pessoas precisam: Markdown, YAML, PDF, DOCX, ou um zip de um espaço inteiro.
Seguro por design. Um token nunca tem mais direitos que seu dono, um token read
não pode escrever, e ações administrativas não estão disponíveis para tokens de
forma alguma. Detalhes: docs/MCP.md.
Migrando do Confluence
Aponte o Folio para uma página do Confluence ou uma árvore inteira e ele traz as páginas como Markdown — com imagens, código, checklists e painéis convertidos em callouts. As páginas vêm do Confluence Cloud e de instalações on-premises; whiteboards do Confluence Cloud se tornam quadros Excalidraw.
Execute uma importação de teste primeiro: nem todo macro tem um equivalente. O que ainda não existe está documentado honestamente.
Gerenciamento de acesso
Quem vê o quê é decidido em um só lugar, e é visível de relance.

- Papéis por espaço: administrador, editor, visualizador.
- Espaços privados ou abertos. Um espaço privado é visível apenas para seus membros. Um espaço aberto à instância dá a todos acesso de leitura, e direitos de edição ainda precisam ser concedidos.
- A matriz de acesso. Pessoas na lateral, espaços no topo, um papel em cada célula. Altere uma célula ou várias de uma vez.
- Um administrador não é um leitor. O administrador da instância gerencia pessoas e acesso, mas não vê o conteúdo de um espaço privado do qual não é membro. Ele pode conceder acesso a si mesmo — e isso é registrado no log de auditoria e marcado para todos verem.
- Log de auditoria. Cada concessão, revogação e mudança de visibilidade é registrada com quem fez e quando.
Acesso no nível da página. Qualquer página pode ser mais restrita que seu espaço: aberta a todos os membros, apenas a você, ou a pessoas selecionadas com direitos de visualização ou edição.

Trazendo pessoas
- Convites por link com espaços e papéis predefinidos, uma data de expiração e um limite de uso.
- Solicitações de acesso. Alguém que abre um espaço que não pode ver pode pedir acesso; administradores são notificados imediatamente e escolhem o papel.
- Entrar com o Google, limitado aos domínios de e-mail que você lista. Uma pessoa nova recebe uma conta e nenhum acesso até que alguém conceda.
- Desative uma conta sem excluir o que a pessoa escreveu.
Compartilhamento externo
- Links de compartilhamento para pessoas sem conta: visualizar ou editar, uma página ou uma subárvore inteira (páginas com suas próprias restrições de acesso são deixadas de fora), revogáveis a qualquer momento.
- Formulários que aceitam respostas sem conta.
Para agentes e scripts
- Tokens de acesso pessoal com escopo
readouwrite. Um token nunca tem mais direitos que seu dono, e ações administrativas não estão disponíveis para tokens de forma alguma. - A pasta
.agenté visível apenas para administradores de espaço.
Execute
Você precisa de Docker e Git. Nada mais.
git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d
A primeira inicialização compila a aplicação e leva alguns minutos. Depois abra http://localhost:4870 e crie a primeira conta — ela se torna a administradora.
Um breve boas-vindas segue a partir daí: escolha o que criar primeiro — um documento, um whiteboard ou uma tabela de dados — explore o que o Folio pode fazer e chegue ao seu primeiro espaço com essa página aberta. Conectar um repositório Git existente está a um link de distância na mesma tela.

| Onde | Como |
|---|---|
| Seu computador | docker compose up -d |
| Um servidor ou VPS | um comando da imagem publicada: deploy/vps, ou o arquivo compose acima mais --profile https para HTTPS automático |
| Coolify, Railway, Render, DigitalOcean, Dokploy, CapRover, Easypanel, Portainer, Fly.io | kits prontos em deploy/, veja One-click e PaaS |
| Qualquer outra plataforma de contêineres | a partir da Dockerfile, com PostgreSQL, Redis e um volume persistente — veja requisitos |
| Vercel, Netlify e outros hostings serverless | não suportado — o Folio é um servidor de longa duração que mantém repositórios Git em disco e mantém conexões ao vivo |
Domínios, HTTPS, atualizações e backups: docs/INSTALL.md.
Sem telemetria. Um Folio que você executa não envia nada sobre seu uso a ninguém: nenhuma
biblioteca de analytics é carregada e nenhuma conexão é aberta com os autores do Folio ou
com terceiros. Há uma exceção opcional para quem executa um
demo público: defina FOLIO_POSTHOG_KEY para um projeto PostHog seu e o Folio envia
eventos anônimos (tipos de página, slugs de espaço, nunca conteúdo). Sem essa chave,
nada acontece. Detalhes: docs/INSTALL.md.
Vibe-coded, e sem esconder
O Folio é escrito por agentes de codificação de IA. Um product owner humano decide o que construir, testa cada mudança no navegador e decide o que vai ao ar; os agentes planejam o trabalho, escrevem o código e os testes, e documentam o que fizeram.
Do primeiro commit em 21 de agosto de 2026 até a versão 0.1.0 em 29 de setembro de 2026: 39 dias, mais de 400 commits upstream, aproximadamente 90.000 linhas de TypeScript e outras 50.000 linhas de testes. Roda em produção para uma equipe real.
Publicamos como é feito, não apenas o que foi feito:
| Arquivo | O que é |
|---|---|
| AGENTS.md | Como o trabalho é organizado e as regras que os agentes seguem neste repositório |
| docs/HANDOFF.md | O estado atual: como o Folio é estruturado, o que nunca pode quebrar, o que está em aberto e as lições que custaram algo para aprender |
| DEV-PLAN.md | O que foi construído, na ordem em que foi construído, e o que vem a seguir |
Se você está construindo com agentes, este repositório é um exemplo prático de um produto não trivial feito dessa forma. Se você só quer uma wiki, nada disso atrapalha.
Documentação
- Site: foliowiki.online
- Demo pública: demo.foliowiki.online — login compartilhado, reinicia a cada 24 horas
- Ferramentas gratuitas, sem cadastro: Conversor de Confluence para Markdown · Editor ao vivo de Mermaid
- Modelos de Markdown: atas de reunião, PRD, SOP, runbook, postmortem, checklist de onboarding e mais (CC0)
- Alternativas, comparadas honestamente: Confluence · Notion · wikis auto-hospedadas
- Instalação, HTTPS, atualizações, backups
- Recursos
- O que ainda não existe
- MCP e REST para agentes
- Changelog
Desenvolvimento
cp .env.dev.example .env
docker compose -f docker-compose.dev.yml up -d # PostgreSQL, Redis, MinIO
npm install
npm run dev # http://localhost:4871
Node.js 22.12 ou mais recente (22.13 ou mais recente para o assistente). Veja CONTRIBUTING.md — e AGENTS.md se o seu contribuidor for um agente.
Ajuda e segurança
Perguntas e relatórios de bugs: SUPPORT.md. Por favor, relate vulnerabilidades de forma privada, conforme descrito em SECURITY.md.