1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIチャットに「プロジェクト構造」を渡す — Rei CLI で構造化コンテキストを生成する

1
Last updated at Posted at 2026-02-17

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でお願いします。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?