-
Notifications
You must be signed in to change notification settings - Fork 0
.risundlerc.toml からライブラリのパスを宣言できるようにする #96
Copy link
Copy link
Open
Labels
Kind/FeatureNew functionalityNew functionalityModule: CLI ConfigArgument parsing and config file resolutionArgument parsing and config file resolutionModule: LibraryThe library registration domainThe library registration domainPriority/MediumThe priority is mediumThe priority is medium
Description
Metadata
Metadata
Assignees
Labels
Kind/FeatureNew functionalityNew functionalityModule: CLI ConfigArgument parsing and config file resolutionArgument parsing and config file resolutionModule: LibraryThe library registration domainThe library registration domainPriority/MediumThe priority is mediumThe priority is medium
動機
v1.0 の仕様案 (2026-02) に「v1.1 以降実装予定」として書かれていた構想の掘り起こし。
.risundlerc.tomlからライブラリの ID とパス (config からの相対パス可) を宣言できるようにする。現状のライブラリ登録は$LOCALに住むマシンローカルな状態であり、設定ファイルがリポジトリにコミットされるのと非対称になっている (この非対称が、未登録 keep をエラーでなく警告にする現行設計の理由でもある)。config で宣言できれば、リポジトリ自体が環境の宣言になり clone するだけで使える。想定ユーザー
library/とcontests/を同居させる構成の人。ルートの config に書けば配下のバンドル全部に効く。$LOCALが消えてlibrary addのやり直しになる。config 宣言なら clone だけで自己修復する。CI でのバンドル検証も同様。verification-helper が設定をリポジトリにコミットさせる文化を作っており、「リポジトリがライブラリ構成を宣言する」モデル自体は競プロ界隈に馴染みがある。
実装の見通し
追い風: 「バンドル時に未登録なら黙って登録する」機構には前例が 2 つある (std の初回自動登録・schema 不一致の自動再生成)。config 宣言ライブラリの自動登録は既存パターンの延長で書ける見込み。
要検討事項
$LOCAL/libraries/<id>はグローバルなので、別々のリポジトリが同じ ID を別のパスで宣言すると衝突する。キャッシュをパス基準で持つ、config 宣言をグローバル登録より優先する、衝突時はエラーにする、などの選択肢がある。library updateとの関係。 config 宣言ライブラリも変更検知の対象にするか、更新フローはどうなるか。library list/showにどう見せるか。 グローバル登録と config 宣言を区別して表示するか。library addを促す) に config という選択肢を足すかも含めて見直す。🤖 Generated with Claude Code