-
-
Notifications
You must be signed in to change notification settings - Fork 0
B. Configuration
Li+config.md は、Li+のユーザー設定ファイルです。ワークスペース直下に配置し、ユーザーが直接編集します。
アダプター / 設定の同期手続きは Li+update.md に分離されており、本ファイルは設定値の保持のみを担います。同期フローの詳細は C. Update を参照します。
このページは 設定リファレンス です。Quickstart は D. Installation を参照します。
GitHub Personal Access Token。Li+リポジトリへのアクセスと、作業リポジトリの操作に使用します。
作業対象のリポジトリを URL 形式(例: https://github.com/myname/myrepo)で指定します。複数の作業リポジトリがある場合は USER_REPO1、USER_REPO2、USER_REPO3、… と任意の数だけ番号を付けて並列に指定できます(上限なし)。
-
LI_PLUS_REPOと同じ値を指定した場合:ローカル clone でgit checkout mainを実行 - 別リポジトリを指定した場合:そのリポジトリをワークスペースへ clone
受容する host 形式:
| 形式 | 例 | 動作 |
|---|---|---|
| HTTPS URL | https://github.com/owner/repo |
primary。gh CLI integration 完全対応 |
| HTTP URL | http://... |
accept(自前 git server 等。security tradeoff は user 責任)。gh CLI 不可 |
| git+ssh | git@github.com:owner/repo.git |
accept。内部で HTTPS 形式に normalize して gh CLI 利用 |
| local path |
/path/to/repo または ~/repo
|
accept。clone skip + path 直接認識(gh CLI 不可) |
file:// |
file:///path/to/repo |
accept。git clone 可(gh CLI 不可) |
gh CLI integration が必要な機能(issue / PR / release / webhook intake)は github.com / gitlab.com 等の既知 host を URL 形式で指定する必要があります。それ以外は git-only mode で warn が出ます。
Li+ 本体リポジトリを URL 形式で指定します。デフォルト値は https://github.com/Liplus-Project/liplus-language です。
Li+ファイル(rules/**/*.md、skills/**/SKILL.md、Li+update.md 等)の取得先として使用されます。フォークや組織内プライベートコピーを使う場合はここを変更します。受容する host 形式は USER_REPOn と同じです。
Li+リポジトリからLi+ファイルを取得する方法を指定します。
| 値 | 動作 |
|---|---|
api |
GitHub APIで直接Li+ファイルを取得(軽量。trigger-based re-readなどの継続機能は保証しない) |
clone |
リポジトリをローカルにclone/checkoutして取得(継続利用推奨) |
取得するLi+のバージョンチャンネルを指定します。
| 値 | 動作 |
|---|---|
latest |
Latestリリースのタグを使用(安定版のみ) |
release |
Pre-release含む最新リリースのタグを使用 |
tag |
GitHub Release 未作成の tag も含む最新 git tag を使用(git ls-remote --tags --sort=-creatordate で解決、clone mode 第一対応) |
包含関係: tag ⊇ release ⊇ latest。
tag は CD や手動で tag を切っただけで GitHub Release を未作成の段階の挙動を workspace で検証したい場合に使います。api mode 向け拡張は現時点では対象外です。
LI_PLUS_MODE=clone の場合、AI は起動時に現在 checkout 中のタグと、この設定から解決した対象タグを比較します。
差分があれば、対象タグへ更新するか現行タグのまま続行するかを人間に確認してから進みます。
各リポジトリごとに AI の自律度を切り替えます。USER_REPO1 の自律度は USER_REPO1_EXE_MODE、LI_PLUS_REPO の自律度は LI_PLUS_REPO_EXE_MODE のように、リポジトリ key 名へ _EXE_MODE を付けて指定します。未設定の場合、セッション開始時に AI が対話で設定します(手入力不要)。
| 値 | 動作 |
|---|---|
trigger |
人間主導。人間がトリガーを引いたらAIがPRレビューまで一直線に実行する(issue作成・クローズはAI) |
semi_auto |
半自動。着手タイミングはAIが決める。AIが毎PRでセルフレビューを行い、patchはAIが直接マージ、minor / major は人間確認のうえAIがマージする |
auto |
AI自律。issue選択・着手・PRレビューをAIが行う |
リリースはどのモードでも人間の確認が必要です。
配布先workspaceで、人間との対話に使う基本言語です。未設定の場合、セッション開始時にAIが対話で設定します(手入力不要)。
| 値 | 動作 |
|---|---|
| 未設定 | セッション開始時にAIが現在の対話を基準に聞き、Li+config.mdへ書き戻す |
ja / en / fr など |
そのworkspaceで人間へ返す既定言語として使う。issue/discussion/PRコメントのような会話返信もこちらが既定 |
注意:
- ここで決めるのは配布先workspaceの対話言語です
- liplus-language リポジトリ内部の日本語運用ルールは変更しません
配布先workspaceで、成果物(issue / PR / commit body、保存する要求仕様など)に使うプロジェクト言語です。未設定の場合、セッション開始時にAIが対話で設定します(手入力不要)。
| 値 | 動作 |
|---|---|
| 未設定 | セッション開始時にAIが聞き、Li+config.mdへ書き戻す |
ja / en / fr など |
そのworkspaceの durable artifact の既定言語として使う |
注意:
- 人間が現在の返答や特定の成果物に別言語を明示した場合、その指示が優先されます
- 指示のスコープが終わった後は、この値が既定値として再び使われます
webhook 通知がセッションへ届く方法を指定します。mcp__github-webhook-mcp を MCP channel として常時接続している環境では channel に設定することで、毎ターンのポーリングリマインダーをスキップできます。mcp_hook を選ぶと、Claude Code の type: "mcp_tool" UserPromptSubmit hook で MCP ツールを直接呼び出すため、tool_use / tool_result の往復が不要になります。
| 値 | 動作 |
|---|---|
未設定 / poll
|
毎ターン開始時に on-user-prompt hook がポーリングリマインダーを出力する(既定、後方互換) |
channel |
MCP channel がリアルタイムにイベントを配信するため、hook のポーリングリマインダーをスキップする |
mcp_hook |
UserPromptSubmit の type: "mcp_tool" hook が mcp__github-webhook-mcp__get_pending_status を直接呼び出し、結果を prompt context に注入する。bash hook のポーリングリマインダーはスキップされる(github-webhook-mcp >= v0.11.3 が前提) |
注意:
- 値を切り替えても webhook 通知の前景判定ルールは変わりません。transport(呼び出し主体)が変わるだけです
- この設定は on-user-prompt hook が実行時に Li+config.md から読み取ります。bootstrap での追加アクションは不要です
-
mcp_toolの hook entry はadapter/claude/hooks-settings.mdの default テンプレートに含まれており、bootstrap によって.claude/settings.jsonに自動配置されます。手動追加は不要になりました(旧仕様では opt-in に手動編集が必要でした) - 配信が実際に AI 文脈へ届く前提条件:
-
mcp__github-webhook-mcpが MCP サーバーとして接続済みであること(CLI なら~/.claude.json/.mcp.json/claude mcp add、Desktop ならclaude_desktop_config.json) -
github-webhook-mcp >= v0.11.3であること(get_pending_statusの戻り値を Claude Code UserPromptSubmit hook decision JSON shape にラップする bridge 側の対応が必要。それ以前のバージョンでは hook 戻り値が AI 文脈に注入されない)
-
- MCP サーバー未接続の場合、Claude Code の
mcp_toolresolver が毎ターンnot connectedテキストを context に出します。挙動上の害はありませんが、webhook 通知を使わないユーザーは設定ノイズとして見えます
-
.claude/settings.json= Li+ 所有。bootstrap がadapter/claude/hooks-settings.mdの literal を render し、内容差分があれば上書きします(compare-and-overwrite。同一なら sensitive-file プロンプトも出ません) -
.claude/settings.local.json= ユーザー所有。Li+ は一切触りません。permissions/env/theme/ 独自 hook / 追加 MCP entry はここに置きます。Claude Code が runtime で両ファイルを merge します -
既存 workspace の移行注意: 既に
.claude/settings.jsonに user-added キー(permissions / env / theme / 独自 hook / 追加 mcp_tool entry)を入れている環境は、本仕様適用前にsettings.local.jsonへ移してください。compare-and-overwrite が差分を検出すると Li+ template で上書きされ、user-added キーが失われます
mcp__github-webhook-mcp が利用できない時に、前景スレッドが lightweight webhook 通知を読むための任意設定です。
| 値 | 動作 |
|---|---|
| 未設定 | ローカル fallback を強制しない。bundled helper は既定候補を見つけた時だけ使う |
| 絶対パス | そのディレクトリを webhook state dir として使う |
| ワークスペース相対パス |
workspace_root から解決して webhook state dir として使う |
想定ディレクトリは github-webhook-mcp の状態保存先で、events.json、trigger-events/、codex-runs/ を含みます。
注意:
- local fallback helper は
LI_PLUS_MODE=cloneでliplus-language/clone が手元にある場合にだけ使えます - shared instruction へ機械固有の絶対パスを直接書いてはいけません。必要なパスはこの設定値へ寄せます
アダプター / 設定の更新同期手続きの詳細は C. Update を参照します。
-
GH_TOKENはチャットに出力されません - gh CLI をどう呼ぶかはホストによって変わります。Linux ホストでは hook が
~/.local/bin/ghへ自動インストールしますが、このディレクトリがセッションを跨いで PATH に載っている保証は無いため、フルパス(~/.local/bin/gh)で実行します。macOS(brew install gh)と Windows の Git-Bash / MSYS2 / Cygwin(winget install --id GitHub.cli)は自動インストールの対象外で、導入済みを前提条件として扱うため、PATH 上のghをそのまま呼びます。ホスト分岐の正本は 6. Adapter の on-session-start.sh 節(━━━ gh install ━━━マーカー)です -
LI_PLUS_MODE=cloneの場合、初回セッションはcloneのため時間がかかります。2回目以降はfetch & checkoutのみです -
LI_PLUS_MODE=cloneの場合、既存 clone が対象タグとずれていれば、AI は起動時に人間へ更新可否を確認します -
LI_PLUS_WEBHOOK_STATE_DIRを使う場合、LI_PLUS_MODE=cloneを推奨します。apiモードでは bundled helper の利用を前提にできません
この Wiki は、Li+ に基づく開発・運用を支えるための情報整理空間です。
数字で始まるページは、 Li+プログラムの各レイヤーの仕様を定義するページです。
- 要求(何を満たすか)と仕様(どう振る舞うか)を一体として記述する
- 実装前に作成または更新する
- issue群から採用された要件を集約する
これらのページは 安定性と一貫性を重視して管理されます。
アルファベットで始まるページは、 Li+の構想・設定・導入手順などの参照用ページです。
- 設計思想・背景
- 設定リファレンス・インストール手順
これらのページは 必要に応じて更新・拡張されます。
リポジトリ内の rules/**/*.md(L1–L4 の常時ロード分、subdir 含む)、skills/**/SKILL.md(トリガー起動分)、adapter/claude/CLAUDE.md、adapter/claude/hooks-settings.md、adapter/claude/hooks/*.sh、adapter/codex/AGENTS.md、およびルート直下の Li+config.md、Li+update.md は、
AIやランタイムが直接読む実行用プログラム / 定義ファイルです。
-
docs/は人間向けの仕様書・要求仕様・手順書 -
rules/,skills/および adapter / update は実行時に読み込まれる本体
両者は対応しているが、役割は同じではない。
Home | 1. Model | 2. Evolution | 3. Task | 4. Operations | A. Concept
要求仕様書 (1-6)
参考文書 (A-L)
- A. Concept
- B. Configuration
- C. Update
- D. Installation
- DiDD(対話駆動開発)
- E. Li+ language
- F. Behavior-First
- G. Sheepdog Engineering
- H. Roles and Evaluation
- K. Source File Format
- L. Hop Count Instrument
判断構造
- Decision Structure
- layer reorg rationale
- github app user-to-server token expiration
- sheepdog engineering concept
- prerelease tag recovery procedure
- release flip drift patterns
- Li+ long-term vision (feedback only)
- Master role as client-architect
- current architecture as concession
- Li+ license Apache-2.0 rationale
- Character_Instance evolution history
- prompt as emotion vector controller
- agentic-search five-phase refactor
- Character_Instance output-styles migration
- Li+ lightening L1 gate override
- subagent state-machine label mechanism
- LSP integration out of scope
- Character_Instance opt-in and surface scope
- parallel-subagent-eval three-axis decomposition
- parallel-subagent-eval cost acceptance
- parallel-subagent-eval model floor
- release version rule always-on relocation
- bootstrap walkthrough skip and gh install relocation
- wiki sync sidebar integrity check
- decision structure rename rationale
- decision structure industry positioning
- subtractive structural beauty framing
- Li+ authorship is collaborative
- Li+ design intent vs current limit
- Li+ history is empirical
- Master verification at runtime not spec
- rules cache fetch address table
- dialogue-evaluator scoring redesign
- Li+ always-on footprint is load-bearing
- DiDD umbrella naming
- milestone subsystem removal
- L1 brake 2 root-criteria evaluator
- Hook-driven gate trigger
- ゲート適用漏れは強制より先に測る
- dynamic-workflows non-adoption
- ACE context-engineering non-adoption
- memory GraphRAG SQLite exploration
- Li+ context-rot tension
- Li+ structure as retrieval surface
- 常時ロード分の重複を削る向き
- Li+ evaluation criterion
- Li+ self-evolution lineage
- Li+ judgment-learning telos
- Sheepdog Engineering publish intent
- Implementation always delegated
- brake evaluator baseline integrity
- brake1 single-round cap
- brake1 の再実行可否は監査内容で決める
- brake 指摘の裁定を再開した著者が持つ
- brake1 の発火条件を基準で閉じる
- skill の発火条件は description 内に置く
- subagent parallel-width cap
- brake1 operational-copy target-conditional
- brake1 findings は親を経由する
- brake 2 の DEVIATION を人間が上書きする
- wiki sync code-notation strip
- wiki sync drift-targeted mirror
- decision structure writer surface activation
- decision structure state-form edge binding
- Neuron Graph RAG integrated prototype
- issue 完了条件フィールドの射程
- body 節と description の被覆ずれの解き方
- グラフエンジニアリング非採用
- Li+ の配布形式は GitHub 直配布
- 配布される source に config の解決値を書かない
- ルールは基準を持ち、来歴は git に置く
- 人間と AI の関係条項を absolute.md に置く
- 来歴を預けた retrieval 面が実際に答えるか
- 存在側の欠陥は空欄ラベルの可視性に届かない
- brake 2 の判定対象は変更の内容
- エージェント定義の判定基準を sentinel 区画で所有