mcpField
F
Folio

Folio

リモート
foliowiki.online生産性80今日更新
リポジトリ公式サイト

Folio について

Folioは、Gitリポジトリにファイルとして内容を保存するセルフホスト型チームWikiです。ブラウザーで共同編集でき、AIエージェントもページを読み書きできます。文書、データテーブル、ホワイトボードを同じページツリーで扱い、MCPサーバーも備えます。

主な機能

  1. 01Wikiの内容と履歴をGitファイルで管理
  2. 02リアルタイム共同編集とオフライン執筆
  3. 03文書、テーブル、ホワイトボードを一元管理
  4. 04検索、アクセス権、バージョン履歴
  5. 05MCPクライアント向けのページ読み書き

活用シーン

  1. 01ブラウザーとIDEで文書を共同管理
  2. 02製品リポジトリのdocs/をWikiとして利用
  3. 03AIエージェントにMCP経由でリリースノートを更新させる
  4. 04チームスペースを読み取り専用サイトとして公開

MCP 対応

FolioはMCPサーバーを提供し、クライアントは個人アクセストークンまたはOAuthで接続できます。クライアントはトークン所有者の権限でページを読み書きします。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://demo.foliowiki.online/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://demo.foliowiki.online/mcp
Streamable HTTPhttps://{folio_host}/mcp認証が必要

ツール

詳細

Folio

Notion や Confluence に代わる、雰囲気コーディングで開発されたオープンソースのツールです。 チームの Wiki は Git に保存されます。ブラウザー上で、リアルタイムに共同編集できます。AI エージェントは同じページを読み書きします。コマンドひとつでセルフホストできます。

ウェブサイト:https://foliowiki.online · Self-Host Weekly(2026 年 10 月 9 日)で紹介されました

👉 ライブデモを試す

インストールも登録も不要です。開いて、サインイン画面で Sam を選んでください。ログイン情報は共有され、データは 24 時間ごとにリセットされます。個人情報や API キーは入力しないでください。

Folio:Folio AI が動作するページ、ホワイトボード、データテーブル

Folio は実際のチームで Confluence と Notion に置き換えるために開発されました。しかも、開発は AI エージェントがオープンに行いました。エージェントが作業に使う計画、仕様、引き継ぎメモは、エージェントが書いたコードとともにこのリポジトリにあります。 詳しくは以下をご覧ください。

git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d

http://localhost:4870 を開き、最初のアカウントを作成して、書き始めましょう。

まだインストールする準備ができていませんか?まずはライブデモを試してください。


Folio を選ぶ理由

  • コンテンツは自分のものです。 すべてのページは、自分で管理する Git リポジトリ内のプレーンファイルです。エクスポートの手間も、ロックインもありません。明日 Folio の使用をやめても、ファイルはそのまま残り、どのエディターでも読み込めます。
  • Wiki 本来の使い方ができます。 リアルタイム編集、ページツリー、検索、アクセス権、履歴、共有に対応し、オフラインでも使い続けられます。
  • エージェントを第一級のユーザーとして扱います。 ただ横に付け加えたチャットボットではありません。組み込みのアシスタント、各スペースに配置できる独自のエージェント、フル機能の MCP サーバー、エージェント向けの Markdown リンクを備えています。
  • ドキュメント、テーブル、ホワイトボード、図、ファイルをひとつのツリーにまとめられます。 ロードマップのテーブル、その隣に仕様書、アーキテクチャボード、署名済み PDF を並べられます。Obsidian のキャンバスやベースもページとして開けます。エージェントが作成するインタラクティブなアーティファクトも同様です。
  • ページ同士のつながりを確認できます。 チームがすでに作成しているリンクをもとにスペース全体のグラフと各ページのローカルグラフを作成し、閲覧者が開けるものだけを表示します。
  • チーム向けに設計されています。 グループ、OpenID Connect と SAML 2.0 によるシングルサインオン、SCIM プロビジョニング、監査ログ、子ページに継承されるページ制限を備えています。
  • 公開すべきものを公開できます。 スペースを読み取り専用のウェブサイトに変換できます。検索や、訪問者向けの任意機能「AI に質問」を利用でき、インスタンスのパス、サブドメイン、または独自ドメインで公開できます。
  • 起動はコマンドひとつです。 Docker を使い、初回起動時の設定は不要です。

実際の動作を見る

スライドなしの短い紹介動画です。動画内の音声は合成音声です。

  • Gitで管理するチームWiki — ブラウザーでページを編集してSyncを押すと、実際のGitコミットが作成されます。チームメンバーがターミナルから編集すると、その変更がページに反映されます(0:37)
  • AIエージェントがMCP経由でWikiを更新 — 1回のリクエストで、エージェントがリリース手順を読み、リリースノートを作成し、ロードマップに行を追加します(0:53)
  • Folio AIで営業担当者をオンボーディング — チーム独自のページを情報源とした回答、フォーム形式の週次チェック、表にまとめられた結果をご覧いただけます(1:22)
  • Gitで管理するホワイトボード — 一緒に描画し、ボードをドキュメントに埋め込み、すべてのバージョンを履歴に残します(0:51)
  • IDEを使わずにコードとしてドキュメントを管理 — 製品リポジトリのdocs/フォルダーがスペースになります。テクニカルライターが手作業とFolio AIで編集し、エージェントがMCP経由でリリース情報を追加し、開発者はgit pullでコミットを取得します(1:36)
  • スペースを公開Webサイトとして公開し、訪問者向けにAsk AIを提供 — 1つの設定で、スペースをパス、サブドメイン、または独自ドメイン上の読み取り専用サイトにできます。訪問者は検索したり、ページをダウンロードしたり、Folio AIに質問したりできます(1:21)
  • エディターとMermaid図 — ライブMarkdown、同じページのソース表示、そして視覚的またはコードで編集できる図をご覧いただけます(1:04)
  • WikiのAIアシスタントは役に立っていますか? Folio AI分析 — インスタンス管理者は評価された会話や未回答の質問を確認し、不足しているページを追加できます。同じ質問に、情報源付きで回答できるようになります(1:21)
  • ClaudeのアーティファクトをチームWikiに公開 — Claude Codeにひとこと指示するだけで、ダッシュボードがWikiのインタラクティブなページになります。再読み込み後も閲覧者のフィルターが保持され、Git内のフォルダーとして管理され、共有リンクからゲストが開けます(1:33)

どこまでも Git ファースト

多くの Wiki はコンテンツをデータベースに保存し、Git へのエクスポート機能を提供します。Folio はその逆です。Git リポジトリが Wiki そのものです。データベースが保持するのは、インデックス、アクセス権、ライブ編集の状態であり、コンテンツの唯一のコピーではありません。

ディスク上では、スペースは次のようになります。

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

その履歴は、変更を行った人が作者として記録された、通常のコミットです。

$ 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

これにより、次のことができます。

  • どこでも編集できます。 ブラウザーでも IDE でもページを変更してプッシュすれば、どちらも同じ履歴に反映されます。ページ間のリンクは、独自形式ではなく、通常の相対 Markdown リンクです。
  • リポジトリは自由に選べます。 空のスペースから始めたり、既存のリポジトリをクローンしたり、後から接続したりできます。複数のスペースで 1 つのリポジトリを共有し、それぞれを別のフォルダーに置くこともできるため、ドキュメントをコードのすぐ隣に配置できます。
  • コードと同じようにレビューできます。 Wiki もリポジトリそのものなので、マージリクエスト、blame、diff、revert を利用できます。
  • ドキュメントをコードとして扱う運用に適しています。 Docusaurus、MkDocs、Hugo、Jekyll が書き込む Front Matter のキーはバイト単位で保持されます。docs/ のようなフォルダーに紐付けられたスペースでは、ファイルに ID が書き込まれません(リポジトリ全体を対象とするスペースでは書き込まれます)。画像はページの隣にあるリポジトリ内に保存し、相対パスでリンクできるため、GitHub でも表示されます。また、ページを移動すると、そのページを参照するリンクとページ内のリンクが、1 つのコミットで書き換えられます。詳しいシナリオはIDE を使わないドキュメント・アズ・コードをご覧ください。
  • 気付かないうちに失われることはありません。 同期状態は常に表示されます。clean、ahead、behind、conflict が示され、スペース全体の競合が一覧表示されます。「Git からバージョンを取得」を実行すると、スペースがリモートブランチの状態にリセットされ、その前に、元の内容がバックアップブランチに保存されます。
  • 読みやすい形式です。 ホワイトボードは、編集可能なシーンデータも保持した SVG で、どのブラウザーでも開けます。データテーブルは 1 つの Markdown ファイルです。列の型と保存済みビューは Front Matter に、行は読みやすいテーブルとして保存されます。
# 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 |

作者付きのページ履歴


IDE を使わずにドキュメントをコードとして管理する

製品リポジトリの docs/ フォルダーにドキュメントがある場合、Folio はそのフォルダーをスペースとして表示できます。ライターはブラウザーで編集し、開発者は使い慣れた IDE を使って通常のコミットを確認し、エージェントは同じページで作業できます。

  • リポジトリではなくフォルダーを接続します。 リポジトリの URL からスペースを作成し、ブランチを選んで、ルートパスとして docs/ を指定します。そのフォルダーだけがスペースになります。Markdown ファイルはページになり、ソースコードやその他のファイルはページにならず、変更されることもありません。Folio は独自のインデックスにページ ID を保持し、追加するファイルは非表示の docs/.<slug>.folio だけです。
  • ライターはブラウザーで編集します。 読む、ライブ編集、ソース(プレーンな Markdown)、複数人で同じページを編集する、またはサイドパネルから Folio AI に依頼するといった操作ができます。Folio は編集内容をその都度ファイルに書き込み、約 90 秒間操作がないとコミットします。Sync を実行した場合はすぐにコミットし、スペースが追跡するブランチに反映します。
  • 開発者には作成者名付きのコミットが表示されます。 git pull、git log、git blame では、編集した人が作成者として表示されます。コミッターは Folio で、メッセージは folio:update です。作成者として記録されるのは、一定時間内に最後に編集した人だけです。開発者自身のコミットは、約 3 分ごと、および Sync のたびにフェッチされてスペースに反映されます。
  • エージェントは MCP 経由でページを更新できます。 Claude Code、Cursor、または任意の MCP クライアントは、個人用アクセストークンまたは OAuth で接続し、トークン所有者の権限の範囲内で同じページを読み取り、編集できます。コミットにはその人の名前が記録されます。
  • スペースをドキュメントポータルにできます。 公開すると、同じページが検索機能付きの読み取り専用ウェブサイトとして配信されます。ダウンロードや訪問者向けの「AI に質問」を有効にした場合は、これらの機能も利用できます。詳しくはスペースをウェブサイトとして公開するをご覧ください。

制限事項:スペースが追跡できるブランチは 1 つだけで、Folio はプルリクエストを介さず、そのブランチに直接プッシュします(main に反映する前にレビューしたい場合は、スペースを docs ブランチに設定してください。保護されたブランチではプッシュに失敗し、スペースに Git のメッセージが表示されます)。ルートパスを指定せずにリポジトリ全体を対象とするスペースでは、管理者が「Light footprint」にチェックを入れない限り、すべてのページに id が書き込まれ、リポジトリのルートに小さなファイルが追加されます(.obsidian/ があるリポジトリは自動的に検出されます)。ページを開いても何も書き込まれません。ファイルが変更されるのは誰かが編集したときだけです。ページのタイトルは、最初の # 見出し、次にフロントマターの title:、それらがなければファイル名から取得されます。見出しがないページに、Folio が見出しを追加することはありません。他のツールがフロントマターに設定した id(Docusaurus と Jest では id: intro を使用します)によって、ページが別のスペースに移動することはありません。MDX ファイル(.mdx)はページではありません。スキャンログにはスキップされたファイル数が記録されます。貼り付けた画像は、スペースの管理者が「Store images in the repository」を有効にするまで、Folio のアセットストアに保存されます。現時点で未対応の機能もご覧ください。

手順の詳細は、記事IDE を使わずにドキュメントをコードとして管理する:ブラウザーでリポジトリのドキュメントを編集すると動画をご覧ください。


一緒に執筆する

ドキュメント、データテーブル、ホワイトボードは、複数人で同時に編集できます。誰がそのページにいるか、カーソルがどこにあるかが表示され、変更は入力と同時に反映されます。ページ上で操作が途切れると、Folio がコミットします。編集した人が作成者として記録されます。

3 人で 1 つのページを編集

ライブ編集と閲覧を切り替えても、入力した内容は失われません。サーバーが編集内容を受け取ったことを確認するまで、ブラウザーにローカルコピーが保持されます。確認できない場合は、ヘッダーに 未保存 と表示され、タブを閉じようとすると確認が求められます。

左右並べて比較

1ページの2つの翻訳、今四半期の計画と前四半期の計画、仕様書とそれに続く草案など、最大5ページ、または1ページの過去のバージョンを左右に並べて表示できます。

左側には閲覧者から見たページ、右側には編集用に開いたページが左右に並んでいます

  • 集めてから開く。 サイドバーメニュー(閲覧のみ可能な人も利用できます)、ページヘッダー、履歴パネルから「左右に並べて比較」を選べます。開けるスペースならどこからでも、ウィンドウ下部のチップにページのリストが表示されます。
  • ライブの列。 現在のページはページそのもので、同じエディターとライブコラボレーションを利用できます。列に入力すると、そのページを見ている全員に表示されます。
  • ページの隣にバージョンを表示。 ページの履歴で「現在のページと左右に並べて比較」を選ぶと、読み取り専用バージョンをライブページの隣に表示できます。「変更箇所をハイライト」では、最も左の列と比較して新規または変更された箇所を緑色で、削除された箇所を赤色で示し、スクロールも同期して列どうしを連動させます。

変更箇所がハイライトされた、ページとその過去のバージョン

  • 共有用リンク。 「リンクをコピー」では、ページIDとバージョン番号のみを含むアドレスがコピーされます。開いた人には、それぞれのアクセス権に応じた各列が表示されます。

ハイライト表示では、テキストをブロックごとに比較します。docs/LIMITATIONS.mdをご覧ください。


オフラインでも使える

電車でも、飛行機でも、ホテルの不安定なWi-Fiでも、書き続けられます。

  • 開いたことのあるページやホワイトボードは、接続がなくても編集できます。
  • オフラインでも新しいページやホワイトボードを作成でき、すぐにツリーに表示されます。
  • すべてのデータはデバイスに保存され、接続が戻ると同じアドレスに自動でサーバーへ送信されます。重複することはありません。
  • ページを切り替えたり、タブを閉じたりしても、データは失われません。
  • ヘッダーのインジケーターで、送信待ちのデータを確認できます。

接続がない状態で新しいページを作成

データテーブル、フォーム、ファイルのアップロードには接続が必要です。


ドキュメント

Markdownを意識せずに使えるMarkdownエディターです。閲覧、ライブ編集、ソースの3つのモードで、ライターもエンジニアも快適に作業できます。

図、チェックリスト、吹き出しを含むエディター

  • 吹き出し、チェックリスト、セルの結合や色付けができるテーブル、コードブロック、折りたたみ可能なセクション、ハイライト、++下線++、:status[Done]{color=green}のような色付きステータスタグ。
  • ExcelやGoogle Docsから貼り付けると、テーブルと書式が保持されます。ライブ編集からコピーするときも同様です。
  • [[でページにリンクし、@で人にメンションし、/であらゆるものを挿入できます。
  • ::pagetreeで、子ページのライブツリーをテキストに直接表示できます。
  • アウトラインとノートのパネル、バックリンク、ページアイコンとカバー、ホバーカードで表示される用語集の用語。
  • カスタムテンプレート:サブページを含む_templates/内の任意のページがテンプレートになります。名前と説明を付けて「テンプレートにする」「テンプレートから…」を利用できます。新しいスペースには、あらかじめ3つ用意されています。
  • システム設定に合わせるか、手動で選べるライトテーマとダークテーマ。

同じページのダークテーマ表示


入力ではなく、描いて作る図

Mermaidの図にはビジュアルエディターが用意されています。キャンバス上で図を作成すると、FolioがMermaidコードを自動で書きます。コードを入力して、キャンバス上の図に反映させることもできます。どちらも常に同期します。

Mermaidのビジュアルエディター

  • クリックして作成。 ノードのプラス記号をクリックすると接続されたノードが追加され、リンクのプラス記号をクリックするとそのリンクにノードが挿入されます。ハンドルをドラッグすると、ノード間に新しいリンクを作成できます。
  • テンプレートで9種類の図を作成:フローチャート、シーケンス図、クラス図、状態図、ER図、ガントチャート、タイムライン、円グラフ、マインドマップ。
  • コードとキャンバスを左右に並べて表示でき、必要に応じて全画面表示にもできます。構文に誤りがある場合は、壊れた画像の代わりに読みやすいメッセージを表示します。
  • Markdownのまま。 図は通常のmermaidコードブロックとして保存されるため、GitHubやGitLabでもレンダリングされます。

データテーブル

Wiki に属するスプレッドシートです。型付き列、保存済みビュー、フィルター、並べ替えを備えた、小さなデータベースです。どのページからでもリンクでき、あらゆるエージェントからクエリできます。

データテーブルとして表示したロードマップ

  • 列の種類:テキスト、長文テキスト、数値、日付、チェックボックス、選択、ステータス、ユーザー、リンク。
  • ビューはタブとして表示され、それぞれ個別の列、順序、幅、複数列の並べ替え、and/or フィルターを設定できます。「自分」「今日」「今週」も指定できます。
  • リアルタイムで共同編集でき、Git に読みやすい単一ファイルとして保存されます。
  • インポートとエクスポートに対応し、テーブルごとに最大 20,000 行まで扱えます。

フォームを使うと、テーブルをアンケートに変換できます。回答はそれぞれ行になります。アカウントを持たない人も回答できるように、フォームを公開できます。

テーブルに書き込むフォーム


ホワイトボード

Wiki 内で使える Excalidraw ボードです。アーキテクチャ、フロー、ワークショップなどに利用できます。リアルタイムで共同作業でき、どこでも表示できる SVG ファイルとして保存されます。

ホワイトボード

上のボードは手作業で描かれたものではありません。エージェントが、箱と矢印の簡単な説明から MCP を通じて作成しました。その後は、ほかのボードと同じように、ユーザーが編集を続けられます。

リアクション。 編集モードで図形を選択すると、選択枠の隅に小さなボタンが表示されます。絵文字(✅ ❌ 🔧 は「はい」「いいえ」「進行中」、または 👍 ❤️ 😂 🎉 🤔 👀 🔥 👏)を選ぶと、図形の下にカウンターが表示されます。 カウンターをクリックすると、自分のリアクションを追加または削除できます。カーソルを合わせると、誰がリアクションしたかを確認できます。 リアクションはボード上の全員にリアルタイムで表示されます。閲覧のみ可能なユーザーや閲覧モードのユーザーにも表示されますが、クリックすることはできません。リアクションは SVG ファイルではなく、ボードのライブ状態とともに保持されます。


グラフ

ページ間のリンクはすべてすでにインデックスに含まれているため、Folio で描画できます。 タグツリーの下にある グラフ を開くと、スペースがマップとして表示されます。ページがノード、リンクがエッジとなり、最大のハブには名前が表示されます。

スペースのグラフ:ページがノード、リンクがエッジ、フォルダーが色で表示されています

  • ズームに合わせたラベル表示。 全体表示では主要なハブだけに名前が付きます。ズームインすると、重なり合わないように、さらに多くのタイトルが徐々に表示されます。ホバーまたは選択したページとその隣接ページのラベルは常に表示されます。
  • ツリー構造も表示できます。 「ツリー構造」切り替えを有効にすると、ページツリーが破線で追加されるため、階層化されたスペースも、つながりのない点の集まりにはなりません。別のスペースのページを開くと、そのページはスペース名付きで、独自の色で表示されます。
  • すべてのドキュメントの横にローカルグラフを表示。 右側のパネルに、ページと、リンクを 1~3 つたどった範囲内・範囲外、または両方の隣接ページが表示されます。ノードをクリックするとページが開き、展開すると全画面表示になります。

サイドパネルにローカルグラフが表示されたページ

  • 検索構文のフィルター(tag:、in:、kind:、prop:)、最上位フォルダー・ページの種類・タグ・独自のクエリによる色分け、レイアウトの力学は、グラフの設定であり、スペースごとに記憶されます。
  • アクセス権はクエリに適用されます。 開けないページは、ノード、ゴースト、エッジのいずれとしても表示されません。グラフはページインデックスを使ってサーバー上で構築され(5,000 ページで約 150 ms)、描画コードはグラフを開いたときにのみ読み込まれます。
  • エージェントも読み取れます。 MCP ツール get_graph は同じグラフを返し、組み込みアシスタントもこれを使用します。

上限(10,000 ページ、公開サイトではグラフを利用できないこと)については、docs/LIMITATIONS.md をご覧ください。


Obsidian のキャンバスとベース

Obsidian の保管庫には Markdown 以外のファイルもあり、Folio では新たに 2 種類のファイルをページとして開けるようになりました。

ページとして表示された Obsidian キャンバス

  • キャンバス(.canvas)。 テキストカードは Markdown として表示され、ノートカードにはノートの冒頭が表示されます。画像、ウェブページカード、グループ、矢印や色付きの接続も表示でき、パン、ズーム、全体表示に対応しています。アクセスできないページを指すカードには「アクセスできません」と表示されます。「Folio ボードに変換」を選ぶと、編集可能な新しいホワイトボードが 1 回のコミットで作成され、キャンバスはそのまま残ります。
  • ベース(.base)。 スペース内のページを対象とする保存済みクエリです。グループ化、並べ替え、数式、列の集計に対応し、テーブル、カード、リストとして表示できます。「編集」トグルを使うと、そのページのプロパティを変更してセルを直接編集できます。また、ビジュアルエディターではファイルのほかの部分に影響を与えずに、ビュー、フィルター、数式を変更できます。

集計付きのグループ化されたテーブルとして表示された Obsidian ベース

ベースのビジュアルエディター

どちらも名前変更に追従します。ノートを移動すると、それを参照するキャンバスカードやウィキリンクも同じコミットで書き換えられます。ベースは独自の安全な評価器で実行され(eval は使用しません)。kanban ビューと map ビュー、プラグイン関数には対応していません。詳細と制限事項については、docs/LIMITATIONS.md をご覧ください。


アーティファクト:Claude アーティファクトと Cursor キャンバスを公開する

AI エージェントはダッシュボード、計算機、小さなツールを作成しますが、通常はチャット内だけで使え、チャットが消えるとなくなってしまいます。Folio では、それをページにできます。ツリーや検索、Git に表示され、ほかのすべてと同じアクセス権が適用されます。

インタラクティブなアーティファクト:地域フィルター、カード、チャートを備えた売上ダッシュボードが、Wiki のページとして表示されています

  • スクリーンショットではなく、インタラクティブに操作できます。 フィルター、タブ、チャート、フォームはページ上で動作します。ページはサンドボックス化されたフレーム内で実行され、Folio のセッションや API にはアクセスできません。スクリプトとフォントの読み込み元は、限られた CDN(cdnjs、jsDelivr、unpkg、esm.sh、Tailwind、jQuery、Google Fonts)のみです。
  • 状態は保持されます。 window.storage(Claude アーティファクトが使用する API)と localStorage が動作し、閲覧者ごとに保持されます。サインインしているユーザーの場合はデータベースに、ゲストの場合はブラウザーに保存されます。
  • エージェントから公開できます。 MCP ツール publish_artifact は、追加ファイルや元のソース(JSX または TSX)を隣に保持したまま、アーティファクトページを作成または既存のページを置き換えます。Folio に接続した Claude または Cursor で、「このアーティファクトを Folio に公開して」と伝えてください。
  • 手動でインポートすることもできます。 「+」メニューの「アーティファクト…」から、.html、.zip、.svg、.md ファイルへのリンク、コンピューター上のファイル、または貼り付けた HTML を指定できます。ページ上で「ソースを表示」と「ダウンロード」を利用できます。アーティファクトを置き換えても、リンクとツリー内の位置は維持されます。
  • ファイルは Git に保存されます。 アーティファクトは、スペースのリポジトリ内に <name>.artifact/ というフォルダーとして保存されます。そこには index.html、artifact.yaml マニフェスト、ソース、アセットが含まれます。移動、コピー、ゴミ箱、共有リンク、公開サイト、履歴は、ほかのページと同じように使えます。

簡単な手順紹介はこちらです:Claude アーティファクトをチーム Wiki に公開する(1:33)。

Folio は完成したページを表示しますが、React や TSX 自体をビルドするわけではありません。そのため、エージェントはすでに実行可能な HTML を送信する必要があります。また、アーティファクト内から Claude、独自の API、コネクターを呼び出すことはできません。claude.ai または Cursor の共有リンクはダウンロードされません。エージェントに MCP 経由で公開するよう依頼してください。詳しくはdocs/LIMITATIONS.mdをご覧ください。


プロパティと共有タイマー

あらゆる種類のページにプロパティを表示。 ページ上部の細い「プロパティ」行が、ドキュメントだけでなく、データテーブル、フォーム、ボード、ファイルにも表示されるようになりました。ボードのプロパティは、ボードの隣にある小さなサイドカーファイルとして Git に保存され、検索(tag:、prop:)、タグツリー、MCP でも、ほかのプロパティと同じように利用できます。

ページヘッダーで編集されたホワイトボードのプロパティ

ページに紐づくタイマー。 ヘッダーの時計アイコンをクリックすると、カウントダウン(1、3、5、10 分、または任意の時間)が始まります。ページを開いている全員が同時に終了を見て、音で知らせを聞けるため、ワークショップや振り返りに便利です。編集者が操作し、閲覧者は見守ります。

一時停止、+1 分、リセットのコントロールがある、ページヘッダーの実行中タイマー


ドキュメントのプレビュー

PDF、Word、Excel、PowerPoint のファイルもページとして扱えます。ツリーにドロップすると、ダウンロードや別のアプリケーション、サーバーでの変換なしで、Folio 内でそのまま開きます。

Folio 内でプレビューされた PDF

Folio 内でプレビューされた Word ドキュメント

  • PDF はブラウザー内蔵のビューアーで表示されます。サムネイル、ズーム、検索、印刷に対応しています。
  • Word、Excel、PowerPoint はブラウザー内にレンダリングされます。
  • ファイルは、関連ページと同じスペースの Git リポジトリに、同じツリー内で、同じアクセス権のもとに保存されます。
  • ワンクリックで新しいタブに開くか、ダウンロードできます。
  • Folio はファイルを上書きしません。アップロードしたファイルは、バイト単位でそのまま保存されます。
  • 同じページでファイルを新しいバージョンに。 ツリーメニューの「新しいバージョンに置き換え…」、ページヘッダーのボタン、または開いているページにファイルをドラッグすることで置き換えられます。ページのリンク、ツリー内の場所、アクセス権はそのまま維持されます。新しいファイルは別の種類でもかまいません(プレゼンテーションを PDF に変更するなど)。ほかのページからのリンクも書き換えられます。トーストから操作を元に戻せます。
  • すべてのバージョンが残ります。 置き換えるたびに独立したコミットが作成されます。ページの履歴にはファイル名とサイズとともに各バージョンが表示され、どのバージョンでもダウンロード(または PDF のプレビュー)や復元ができます。復元時も既存の内容を書き換えるのではなく、新たなコミットが追加されます。

これらのファイルは閲覧用です。Folio 内では編集できず、検索ではタイトルで見つけられます。


Folio AI

ウィキの隣ではなく、ウィキと連携して動くサイドパネルのアシスタントです。

アシスタントがロードマップに行を追加し、データをもとに回答しています

スクリーンショットでは、アシスタントにロードマップへの取り組み項目の追加と、緊急度の高い項目の回答を依頼しています。アシスタントはテーブルのスキーマを読み取り、行を挿入しました。その行は左側のテーブルに表示されています。そして、データをもとに回答しました。

  • 質問 — 読み取り専用です。アクセス権のあるページを横断して、検索、要約、比較、説明を行います。
  • エージェント — 読み取りと書き込みを行います。権限の範囲内で、ページの下書き、テーブルの更新、ボードの作成、フォームの作成、セクションの再構成を行います。権限を超えることはありません。
  • 実行はサーバー上で継続します。 ブラウザーを閉じても作業は続きます。戻ってきたら、その続きから再開できます。
  • 実行中の処理を確認できます。 ステータス行には、モデルの思考とトークン数が表示されます。長い回答やページの作成中は経過時間も表示され、呼び出しているツールの実際の名前も確認できます。ライブ返信では段落とリンクが維持されます。
  • ほかのユーザーと同じツールを使います。 アシスタントは外部エージェントが MCP 経由で利用するものとまったく同じツールを使用します。別の、機能が劣る実装はありません。また、質問モードでは書き込みツールは非表示にされるだけでなく、サーバー側で無効化されます。

テキストだけでなく、フォームやテーブルも作成できます。 「必須の名前、料理の種類、金曜日に参加するかどうかのはい/いいえを尋ねるランチ投票」と依頼すると、エージェントはフォームと、回答が格納されるテーブルを作成します。手順はフォームエディターの場合と同じです。

エージェントモードの Folio AI がフォームを作成し、チャットの隣のページにフォームが表示されています

アシスタントは本当に役立っていますか?

Folio は、誰にもフォームへの記入を求めることなく、回答の品質に関する3つのシグナルを収集します。

  • 回答への 👍 / 👎。 保存されたアシスタントの回答には、「役に立った」または「役に立たなかった」の評価を付けられます。評価は回答ごとに1つで、変更または削除できます。
  • 簡単なアンケート。 会話で3つ目の回答があるたびに、パネルで「アシスタントは質問を解決しましたか?」と尋ねます。「はい」「部分的に」「いいえ」「今はしない」から選べ、任意でコメントを追加できます。
  • 回答のない質問。 ページに回答がない場合や、アシスタントが回答に確信を持てない場合、質問と不足していた情報を、実際に読んだページへのリンクとともに簡潔に記録し、そのうえで質問した人に率直に回答します。

インスタンス管理者は、すべての情報を1ページで確認できます。アカウントメニューから開く アシスタント分析 (/admin/assistant)には、評価とアンケート結果を含む会話と、もう1つのタブ「回答のない質問」があります。後者には、ドキュメントに不足している内容が一覧表示されます。質問した人自身の言葉が先に、その下にアシスタントによる言い換えが表示され、アシスタントが読んだページへのリンクも確認できます。どちらのタブも、スペース、ユーザー、日付で絞り込めます。スペース管理者が閲覧できるのは、自分が管理するスペースに限られます。そのスペースで行われた会話のみが表示され、表示されるのはその会話のメッセージだけです。管理者は会話を開いて読むことができます。会話ページには、誰がいつ開いたかが一覧表示され、開くたびに監査ログに記録されます。このページはほかの人には表示されません。

アシスタント分析:ページでは回答できなかった質問の一覧。質問した人の言葉、スペース、不足している情報が表示されています

すべてのスペースに自分専用のエージェントを:.agent

すべてのスペースには .agent フォルダーがあります。ここに記述した内容は、そのスペース専用のアシスタントの指示になります。しかも、設定ではなく、通常の Folio ページとして記述します。

  • ページを書いてエージェントを作成。 役割、口調、用語集、従うべきルール、使うべきテンプレート、ユーザーを案内する手順などを記述します。
  • チームごとに異なるエージェント。 サポートスペースにはサポートらしい回答をするエージェントを、エンジニアリングスペースにはリリースプロセスを把握したエージェントを配置します。法務には決して即興で回答しないエージェントを配置できます。同じ Folio でも、エージェントは異なります。
  • ほかのすべてと同様にバージョン管理。 指示は Git に保存されるため、エージェントの動作を誰が変更したかを確認し、変更をレビューして、元に戻すことができます。
  • 管理者が管理。 .agent を表示・編集できるのはスペース管理者だけです。それ以外の人には、より優れたアシスタントが提供されます。

この指示は、Ask モードと Agent モードの両方で、そのスペース内で実行されるすべての処理に適用されます。

自分のキーを使用

Folio は AI を再販したり、価格に上乗せしたりしません。アシスタントは Cursor のキーを使用します。自分のキーを使うことも、管理者がスペースまたはインスタンス全体に設定したキーを使うこともできます。キーの所有者が料金を支払います。

プロバイダー状況
Cursor利用可能 — 各自が自分のキーを接続するか、管理者がスペースまたはインスタンス全体にキーを設定します
その他まだサポートされていません

料金の支払い元。 実行時には、利用可能なキーのうち、最初に見つかったものを使用します。優先順位は、ユーザー自身のキー、スペースのキー、インスタンスのキー、サーバー環境の CURSOR_API_KEY の順です。スペース管理者はスペースメニューの「Folio AI key」からスペースのキーを設定できます。インスタンス管理者はインスタンスのキーを設定し、個人キーを無効にして、全員が共有キーを使うようにできます。共有キーは暗号化して保存され、保存後に再表示されることはありません。変更はすべて監査ログに記録されます。公開サイトの訪問者は自分のキーを持たないため、質問にはスペース、インスタンス、サーバー環境のキーがこの順に使用されます。

キーがなくても、Folio のほかのすべての機能は通常どおり動作します。


エージェント向けに設計

MCP サーバー。 /mcp 経由で 45 個のツールを利用できます。スペースの一覧表示と検索、ページの読み取りと書き込み、フォームの作成、データテーブルの列とビューの編集、キャンバスからボードへの変換、ページのアウトライン・タグ・プロパティ・リンクの読み取り、スペースのタグとプロパティキーの一覧表示、タグの名前変更、ページプロパティの設定、未解決リンクと孤立ページの検索、リンクグラフの読み取り、Obsidian bases のクエリ・作成・編集、ホワイトボードの作成・編集、インタラクティブなアーティファクトの公開、テンプレートの一覧表示とテンプレートからのページ作成、データテーブルのクエリと更新、履歴の読み取りに対応しています。 個人用アクセストークン、またはベンダーのクラウド(claude.ai、Claude Desktop、ChatGPT)で動作するクライアントから OAuth 2.1 を使って接続できます。ChatGPT の詳細調査向けに search と fetch も用意されています。

claude mcp add folio --transport http https://wiki.example.com/mcp \
  --header "Authorization: Bearer folio_pat_…"

すぐに使えるセットアップ。 Claude Code 用のファイル(プラグインとスキル)、Cursor、VS Code、Codex、n8n(インポート可能な 2 つのワークフロー)、Open WebUI、ChatGPT、Claude 向けのファイルを integrations/ に用意しています。プレースホルダー付きの設定、エージェント向けのルール、手順ごとの説明が含まれています。

エージェント向け Markdown。 ページはどれでも、必要に応じて子ページも含めて、クリーンな Markdown を返す 1 つのリンクにできます。スクレイピングも HTML もログイン手続きも不要です。

curl https://wiki.example.com/share/<token>.md

エージェント向けに Markdown としてページを共有

エージェントと人が必要とする形式でエクスポート:Markdown、YAML、PDF、DOCX、またはスペース全体をまとめた zip。

claude.ai または ChatGPT では、カスタムコネクターとして https://wiki.example.com/mcp を追加し、Folio にサインインして、同意画面で read または read + write を許可します。コネクターはユーザーと同じ権限で動作し、書き込み内容はユーザー名で Git に保存されます。手順:docs/MCP.md。

安全性を考慮した設計。 トークンや OAuth の許可によって、所有者を超える権限が付与されることはありません。read トークンでは書き込みできず、管理操作はどちらからも利用できません。詳細:docs/MCP.md。


Confluence からの移行

Folio に Confluence のページまたはツリー全体を指定すると、画像、コード、チェックリスト、パネルをコールアウトに変換しながら、ページを Markdown として取り込みます。ページは Confluence Cloud とオンプレミス環境から取り込めます。Confluence Cloud のホワイトボードは Excalidraw ボードに変換されます。

まずテストインポートを実行してください。すべてのマクロに相当する機能があるわけではありません。 現時点で未対応の項目に、未対応内容を正直に記載しています。


アクセス管理

誰に何が見えるかを一元管理し、ひと目で確認できます。

アクセスマトリクス:ユーザーとスペース

  • スペースごとのロール:管理者、編集者、閲覧者。
  • プライベート、オープン、またはパブリックなスペース。 プライベートスペースはメンバーだけが閲覧できます。インスタンスにオープンなスペースでは、サインインしている全員が読み取り可能になり、編集権限は別途付与する必要があります。パブリックスペースは、インターネット上の誰もがウェブサイトとして閲覧できます。詳しくはスペースをウェブサイトとして公開するをご覧ください。
  • アクセスマトリクス。 縦にユーザー、横にスペースを並べ、各セルにロールを表示します。1つのセルでも、複数のセルでも、一括で変更できます。
  • 管理者でも閲覧者とは限りません。 インスタンス管理者はユーザーとアクセス権を管理しますが、自分がメンバーではないプライベートスペースの内容は閲覧できません。自分自身にアクセス権を付与できますが、その操作は監査ログに記録され、全員が確認できます。
  • 監査ログ。 アクセス権の付与、取り消し、公開範囲の変更はすべて、実行者と日時とともに記録されます。インスタンス管理者はフィルターと CSV エクスポートを利用できる画面を使用できます。詳しくはグループとシングルサインオンをご覧ください。

ページ単位のアクセス権。 ページのアクセス範囲は、スペースより狭く設定できます。すべてのメンバー、自分のみ、または閲覧権限か編集権限を付与した特定のユーザーやグループに限定できます。制限は子ページに継承されます。親ページに制限を設けると、その下のすべてのページも制限され、子ページではさらに範囲を狭めることしかできません。ページのアクセス設定ダイアログでは、ページを制限しているユーザーとページを開けるユーザーを確認できます。また、サイドバーではアクセス制限のあるページにロックマークが表示されます。

単一ページへのアクセス

ユーザーを招待する

  • リンクによる招待では、スペースとロールをあらかじめ設定し、有効期限と使用回数の上限を指定できます。
  • アクセスリクエスト。 閲覧できないスペースを開いたユーザーはアクセスをリクエストできます。管理者にはすぐに通知され、ロールを選択できます。
  • サインインには、メールアドレスとパスワード、または ID プロバイダーを利用できます(詳しくは以下をご覧ください)。新しいユーザーにはアカウントが作成されますが、誰かがアクセス権を付与するまではアクセスできません。ただし、スペースをあらかじめ設定している場合は除きます。
  • アカウントの無効化では、そのユーザーが書いた内容を削除せずに、セッション、個人用トークン、接続済みアプリへのアクセスをすぐに停止できます。

外部との共有

  • アカウントを持たない人向けの共有リンクでは、1つのページまたはサブツリー全体を、閲覧または編集用に共有できます(独自のアクセス制限があるページは除外されます)。共有リンクはいつでも無効化できます。すでにページを開けるサインイン済みの閲覧者は、自分のアカウントで通常のページに移動します(ゲスト表示を維持するには ?as=guest を使用します)。
  • アカウントなしで回答を受け付けるフォーム。

エージェントとスクリプト向け

  • read または write スコープを持つ個人用アクセストークン、または claude.ai、Claude Desktop、ChatGPT からの OAuth 接続(「Connected apps」から削除できます)。トークンの権限は所有者の権限を超えることはなく、トークンでは管理操作を一切利用できません。
  • .agent フォルダーはスペース管理者だけが閲覧できます。

Slack と Microsoft Teams で

  • Folio のリンクを貼り付けると、ページのタイトル、場所、冒頭のテキスト、見出しを含むカードが展開表示されます。カードはリンクを共有したユーザーのアクセス権で作成されます。そのユーザーが閲覧できないページの場合、タイトルは表示されません。セットアップ。

グループとシングルサインオン

ユーザーをグループにまとめ、ID プロバイダーでサインインできるようにし、手作業なしで両者を同期できます。

「Continue with Keycloak」と「Continue with Keycloak (SAML)」のボタンが、メールアドレスとパスワードのフォームの上に表示された Folio のサインインページ

Access ページにあるグループのメンバー一覧。各ユーザーには OIDC または SAML 由来であることが示され、マネージャー用チェックボックスとスペース内のグループのロールが表示されています

親ページによって制限されたページ。アクセスダイアログには、親ページを開けるユーザーだけがこのページを開けると表示されています

  • グループ。 名前付きのユーザー集合(Engineering、Support、Contractors)で、スペース内のロール、またはアクセス制限されたページの権限を付与できます。グループに一度ロールを割り当てれば、ユーザーを追加・削除するだけで、あらゆる場所でアクセス権が変更されます。ユーザーのロールには、そのユーザー自身と所属するグループのうち、最も高いロールが適用されます。インスタンス管理者がグループを作成し、マネージャーがメンバーを編集し、スペース管理者が自身のスペースでグループにロールを付与します。Access ページには Groups タブがあり、グループはマトリックス、メンバーダイアログ、ページアクセス、招待にも表示されます。
  • OpenID Connect または SAML 2.0 によるシングルサインオン。 Keycloak、Authentik、Microsoft Entra ID、Okta、Google Workspace など、複数のプロバイダーを同時に利用できます。/admin/auth または環境変数で設定でき、プロバイダーから送信される情報を表示する「Test connection」機能もあります。サインインページで最初にメールアドレスを入力すると、そのドメインに対応するプロバイダーに転送されます。初回サインイン時に、あらかじめ設定されたスペースへのアクセス権を持つアカウントを作成することも、招待されたユーザーだけがアクセスできるようにすることもできます。
  • 必須にする。 ドメインごとにパスワードでのサインインを無効にできます。インスタンス管理者は、監査対象となる緊急サインインを引き続き利用できます。
  • プロバイダーからのグループ同期。 サインインのたびに、Folio はプロバイダーから報告された Folio グループにユーザーを追加し、報告されなくなったグループからユーザーを削除します。手動で追加したメンバーシップは変更されません。
  • SCIM 2.0。 Okta、Microsoft Entra ID、Keycloak(プラグイン使用)、OneLogin、JumpCloud によって、ユーザーやグループの作成、更新、無効化ができます。ユーザーを無効化すると、すべてのセッションとトークンがただちに終了します。
  • 監査ログとセッション。 インスタンス管理者向けの監査ログ画面では、フィルターを使って CSV にエクスポートできます。すべてのユーザーはサインイン中のデバイスを確認して他のデバイスからサインアウトでき、管理者はユーザーのセッションを終了できます。

各プロバイダーの設定方法はdocs/INSTALL.mdに記載されています。対象外の項目(LDAP、シングルログアウト、暗号化された SAML アサーション)についてはdocs/LIMITATIONS.mdをご覧ください。


スペースをウェブサイトとして公開する

1つの設定で、アカウントを持たない人向けの読み取り専用ウェブサイトとしてスペースを公開できます。スペースメニューを開き、ウェブサイトとして公開を選択して、スペースを公開します。これはコピーではなく、同じスペースです。ページを編集すると、サイトにも変更が反映されます。サインインしているユーザーは、インスタンス内で公開されているほかのスペースと同じように、公開スペースを閲覧できます。よくある用途としては、リポジトリの docs/ フォルダーから作成するドキュメントポータル(IDE を使わない Docs as code を参照)、公開ハンドブック、変更履歴などがあります。

短い手順紹介:訪問者向けの Ask AI とともに、スペースを公開ウェブサイトとして公開する(1:21)。

サイトの表示設定はデータベースではなく、リポジトリに保存されます。スペースメニューを開き、**サイトと PDF の設定…**を選択すると、1つのページでサイトのタイトル、説明、言語、ファビコン、ロゴ、ソーシャル画像、サイトのスタイルシート、PDF のヘッダー、フッター、印刷スタイルを編集できます。すべてスペースのコンテンツのルートにある .folio/ フォルダー(site.json、site.css、export.css、pdf-header.html、pdf-footer.html、assets/)内のファイルとして保存され、保存ごとに1つのコミットが作成されるため、Git からも同じファイルを編集できます。検索エンジン向けに、ページごとの <head>、robots.txt、sitemap.xml が用意されています。公開ダイアログには、「このサイトをインデックスに登録する」切り替えと、プライマリアドレスの設定があります。

アドレス利用条件
https://wiki.example.com/public/<space>スペースを公開すると、すぐに利用できます。設定は不要です。
https://<label>.sites.example.com運用者が PUBLIC_SITES_DOMAIN=sites.example.com を設定し、スペース管理者がラベルを選択した場合に利用できます。ワイルドカード DNS、ワイルドカード証明書、およびこれらのホストを Folio にルーティングするリバースプロキシが必要です。
https://docs.example.com1つのスペース用のカスタムドメインです。Folio のホストを指す CNAME と、そのホストを Folio にルーティングするリバースプロキシ、およびそのドメイン用の証明書が必要です。
  • 訪問者が利用できるもの。 ページツリー、スペース内検索、ドキュメント、データテーブル(リアルタイム、読み取り専用)、画像としてのホワイトボード、フォーム(閲覧のみ)、PDF および Office ファイルを、パンくずリストとスマートフォン向けレイアウトで利用できます。
  • ダウンロードは Markdown、PDF、DOCX 形式に対応し、スペースごとに有効にできます。
  • Folio AI に質問する機能はスペースごとに有効にできます。訪問者は質問でき、アシスタントは Ask モードのみで、そのスペースの公開ページを対象に、スペースまたはインスタンスのキーを使って回答します。内容を変更することはできず、質問にはアドレスごと、サイトごとのレート制限が適用されます。
  • 公開されないもの。 独自のアクセス制限が設定されたページ、.agent フォルダー、テンプレートです。アクセス制限は子ページに継承されるため、ページをロックすると、その下にあるすべてのページもサイトに表示されなくなります。
  • 公開できるユーザー。 ブラウザーからスペース管理者とインスタンス管理者が公開できます(誰がサイトを閲覧できるか、公開場所、ダウンロード、Folio AI、インデックス登録に関する設定は Git ではなくデータベースに保存されます。サイトの外観はリポジトリ内の .folio/ に保存され、スペース管理者が変更します)。公開デモでは Folio Handbook が https://demo.foliowiki.online/public/folio-handbook で公開されています。そこでダイアログを試せます(サブドメイン、カスタムドメイン、Ask は利用できません)。データは毎日リセットされます。
  • 検索エンジン。 各ページには独自のタイトル、説明、Open Graph タグ、canonical リンクが設定されます。また、フロントマターに unlisted: true が設定されたページはサイトマップに含まれません。公開デモはインデックスに登録されません。
  • 未対応の機能。 保存前の PDF プレビューはありません。site.css から外部フォントや画像を読み込むことはできません(.folio/assets/ に配置してください)。レート制限はサーバープロセスごとにカウントされます。

サブドメインとカスタムドメインの設定方法については、運用者向けの docs/INSTALL.md を参照してください。制限事項: docs/LIMITATIONS.md。


実行する

Docker と Git が必要です。それ以外は何も必要ありません。

git clone https://github.com/evergreen-it-dev/folio.git
cd folio
docker compose up -d

初回起動時にアプリケーションがビルドされるため、数分かかります。その後、 http://localhost:4870 を開いて最初のアカウントを作成してください。そのアカウントが 管理者になります。

簡単なウェルカム案内に従って、最初に作成するもの(ドキュメント、 ホワイトボード、データテーブル)を選び、Folio でできることを確認して、 ページを開いた状態で最初のスペースに移動します。既存の Git リポジトリへの接続も 同じ画面からワンクリックで行えます。

ウェルカム画面:最初に何を作成しますか

場所方法
お使いのコンピューターdocker compose up -d
サーバーまたは VPS公開イメージから実行するワンコマンド:deploy/vps、または上記の compose ファイルに --profile https を追加して HTTPS を自動設定
Coolify、Railway、Render、DigitalOcean、Dokploy、CapRover、Easypanel、Portainer、Fly.iodeploy/ にすぐ使えるキットがあります。ワンクリックと PaaS をご覧ください
その他のコンテナプラットフォームDockerfile を使い、PostgreSQL、Redis、永続ボリュームを用意してください。要件 をご覧ください
Vercel、Netlify などのサーバーレスホスティングサポート対象外です。Folio は Git リポジトリをディスク上に保持し、ライブ接続を維持する長時間稼働型サーバーです

Railway ならワンクリックでデプロイできます:Railway にデプロイ

ドメイン、HTTPS、アップデート、バックアップについては、docs/INSTALL.md をご覧ください。

テレメトリーはありません。 自分で実行する Folio は、その使用状況について誰にも何も送信しません。分析ライブラリは読み込まれず、Folio の開発者や第三者への接続も開かれません。例外として、公開デモを運営する人向けのオプトイン機能があります。FOLIO_POSTHOG_KEY に自分の PostHog プロジェクトを設定すると、Folio は匿名イベント(ページの種類、スペースのスラッグ。コンテンツは含まれません)を送信します。このキーがなければ何も起こりません。自分の Sentry プロジェクトへの任意のエラー報告(SENTRY_DSN。「問題を報告」メニュー項目と、すべてのテキストをマスクした最近の操作の任意の記録を含み、SENTRY_REPLAY=0 で無効化できます)も同様です。DSN がなければ、ライブラリも接続もありません。詳細は docs/INSTALL.md と docs/INSTALL.md をご覧ください。


バイブコーディングを隠しません

Folio は AI コーディングエージェントによって書かれています。人間のプロダクトオーナーが何を作るかを決め、ブラウザーで変更を一つずつ試し、リリースするものを決定します。エージェントは作業を計画し、コードとテストを書き、実施した内容をドキュメントにまとめます。

2026 年 8 月 21 日の最初のコミットから、2026 年 9 月 29 日のバージョン 0.1.0 までにかかったのは 39 日で、上流では 400 件を超えるコミットがありました。バージョン 0.2.0 は 2026 年 10 月 14 日、開始から 54 日目に続きました。現在、TypeScript はおよそ 110,000 行、テストはさらに 70,000 行あります。実際のチームで本番稼働しています。

作ったものだけでなく、作り方も公開しています。

ファイル内容
AGENTS.md作業の進め方と、このリポジトリでエージェントが守るルール
docs/HANDOFF.md現在の状況:Folio の構成、決して壊してはならないこと、未解決の課題、そして身をもって学んだ教訓
DEV-PLAN.mdこれまでに作ったものと、その構築順、次に取り組むこと

自分でもエージェントを使って開発するなら、このリポジトリはその手法で作られた、複雑な製品の実例です。ウィキだけが必要なら、これらが邪魔になることはありません。


ドキュメント

開発

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 以降(アシスタントには 22.13 以降)が必要です。CONTRIBUTING.md をご覧ください。また、コントリビューターがエージェントの場合は AGENTS.md もご確認ください。

サポートとセキュリティ

質問やバグの報告については、SUPPORT.md をご覧ください。脆弱性は SECURITY.md の説明に従って、非公開で報告してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。