TL;DR
- プロジェクトの構造・進捗・意思決定をJSON/Markdownで書き出し、AIチャットに添付するCLIツールを作った
- 4つの数学的公理(中心-周囲、拡張-縮約、σ蓄積、生成)に基づく構造化フレームワーク
- データは完全ローカル保存。サーバー送信なし
- TypeScript 1,110行。GitHub: fc0web/rei-lang
課題:AIに「今の状態」を正確に伝えるのが面倒
Claude や ChatGPT に仕事を手伝ってもらうとき、毎回こういうやり取りが発生します:
「今こういうプロジェクトをやっていて、設計は終わって、実装が4割くらい進んでいて、テストはまだで、先週のレビューでMVCに決まって…」
これを毎回手で書くのは非効率です。しかも書くたびに微妙に情報が抜けたり、前回と矛盾したりする。
解決策:構造化されたコンテキストファイルを生成する
Rei CLI は、プロジェクトの構造を 定型フォーマット で管理し、AIに添付できるファイルとして書き出します。
# 1. プロジェクト構造を作る
rei init project "プロダクトリリース" --periphery "設計,実装,テスト" --will "MVP完成"
# 2. 進捗を記録する
rei sigma update "プロダクトリリース" +100 "設計完了" --node "設計"
rei sigma update "プロダクトリリース" +40 "実装進行中" --node "実装"
# 3. 意思決定を記録する
rei memory "プロダクトリリース" "アーキテクチャレビュー完了、MVC採用決定"
# 4. AIチャット用ファイルを出力
rei export "プロダクトリリース" --format json
出力される .rei-context.json:
{
"_rei_context": "Rei Structure (0₀式): project — \"プロダクトリリース\"\nProgress: σ = 47%\nField: engineering | Flow: sequential\nWill: MVP完成",
"structure": {
"type": "project",
"center": "プロダクトリリース",
"periphery": [
{ "name": "設計", "progress": 100, "status": "done" },
{ "name": "実装", "progress": 40, "status": "active" },
{ "name": "テスト", "progress": 0, "status": "pending" }
],
"overall_progress": 47,
"field": "engineering",
"will": "MVP完成",
"flow": "sequential"
},
"memory": [
"[2026-02-17] アーキテクチャレビュー完了、MVC採用決定"
],
"sigma": {
"current": 47,
"recent_changes": [
{ "note": "設計完了", "delta": 100 },
{ "note": "実装進行中", "delta": 40 }
]
},
"prompt_hint": "Please help with this project. Currently active: 実装(40%)"
}
このファイルをClaudeやChatGPTに添付するだけで、AIはプロジェクトの全体像を把握できます。
背景にある4つの公理
Rei CLIの構造は、Rei言語(0₀式)の四公理体系に基づいています。
| 公理 | 名前 | 意味 | CLIでの対応 |
|---|---|---|---|
| A1 | Center-Periphery(中心-周囲) | すべての構造に中心と周囲がある | rei init |
| A2 | Extension-Reduction(拡張-縮約) | 構造は拡大・縮小する |
rei extend / rei reduce
|
| A3 | Sigma-Accumulation(σ蓄積) | 進捗は数値で蓄積される | rei sigma update |
| A4 | Genesis(生成) | 構造は種(シード)から生まれる | rei init --seed |
A1:Center-Periphery — なぜ「中心と周囲」か
プロジェクトには必ず「核となるもの」と「それを取り巻く要素」があります。
設計
|
テスト — MVP — 実装
|
デプロイ
これは木構造でもフラットリストでもなく、中心から放射状に広がる構造です。Reiではこれを A1(Center-Periphery)として数学的に定義しています。
A3:Sigma-Accumulation — 進捗は「蓄積」する
一般的なタスク管理は「完了/未完了」の二値ですが、現実の進捗はグラデーションです。
Reiでは各ノードに σ(シグマ)値 を持たせ、0〜100%で蓄積を追跡します。全体の σ は各ノードの平均として自動計算されます。
$ rei sigma update "MVP" +50 "基本機能実装" --node "実装"
✓ σ updated: +50 → 50%
Node: 実装 → 50% [active]
██████████ 100% 設計 [done]
█████░░░░░ 50% 実装 [active]
░░░░░░░░░░ 0% テスト [pending]
六属性(Six Attributes)
各構造は6つの属性を持ちます:
| 属性 | 日本語 | 役割 |
|---|---|---|
| field | 場 | ドメイン(engineering, research, etc.) |
| flow | 流 | フローパターン(sequential, parallel, cyclical, adaptive) |
| memory | 記憶 | 蓄積された意思決定・文脈 |
| layer | 層 | 深度レベル |
| relation | 関係 | 他構造との接続 |
| will | 意志 | ゴール・意図 |
これにより、単なる「タスクリスト」ではなく、プロジェクトの文脈と意図まで含む構造化データになります。
設計思想:ローカルファースト
Rei CLI は以下の原則で設計しています:
-
データはローカルPCのみに保存(
.rei/ディレクトリ) - サーバー送信なし。テレメトリなし。クラウド同期なし
-
Git管理可能 —
.rei/をリポジトリに含めればチーム共有もできる - AI添付に特化 — 出力形式はJSONとMarkdownの2種類
コマンド一覧
rei init <type> <n> --periphery "a,b,c" # 構造を作成
rei sigma update <n> +N "note" --node "x" # 進捗更新
rei sigma history <n> # σ履歴表示
rei export <n> --format json|md|both # AI添付ファイル出力
rei list # 一覧表示
rei view <n> # 詳細表示
rei extend <n> --add "x,y" # 周囲ノード追加
rei reduce <n> --remove "x" # 周囲ノード削除
rei memory <n> "note" # 記憶追加
インストール & 試し方
git clone https://github.com/fc0web/rei-lang.git
cd rei-lang/packages/cli
npm install
npm run build
# 動作確認
node dist/index.js init project "テスト" --periphery "調査,実装,検証"
node dist/index.js sigma update "テスト" +100 "調査完了" --node "調査"
node dist/index.js export "テスト" --format both
出力された .rei-context.json や .rei-context.md を、そのままClaude/ChatGPTの会話に添付して試してみてください。
技術スタック
- TypeScript — 1,110行(型安全)
- Commander.js — CLI引数パース
- Chalk 4 — ターミナル色出力
- Pure Node.js fs — 依存最小
今後の展望
| 時期 | 内容 |
|---|---|
| 現在 | CLI プロトタイプ(今ここ) |
| Q2 2026 | デスクトップGUI(Electron/Tauri) |
| 将来 | npm公開、コミュニティ形成 |
リンク
- GitHub: fc0web/rei-lang
- CLI: packages/cli
- 理論背景: Rei言語(0₀式) — D-FUMT(Dimensional Fujimoto Universal Mathematical Theory)
フィードバックや質問があれば、ぜひコメントまたはGitHub Issuesでお願いします。