@liha-cli/lcr
v0.1.3
Published
Liha CodeReview 向けのローカル CLI です。 `git diff` からコミットメッセージを生成し、必要に応じてコミットまで実行します。
Readme
@liha-cli/lcr
Liha CodeReview 向けのローカル CLI です。git diff からコミットメッセージを生成し、必要に応じてコミットまで実行します。
コマンド
lcr initlcr commit [options]lcr budgetlcr helplcr versionlcr reset
lcr init
初期設定を行います。
- コミット言語を選択:
ja/en - 匿名モード設定を保存
保存先:
~/.liha/lcr/config.yaml<repo>/.liha/lcr/cli.yaml
lcr commit
差分からコミットメッセージ候補を生成し、選択後に git commit を実行します。
挙動:
- 差分は
staged優先(git diff --staged) - staged が空なら
unstaged(git diff) - どちらも空なら終了
docs/git-commit-rules.mdがあれば優先利用- 実行後に
git pushの確認を表示(デフォルト:No)
オプション:
-s, --split: 分割コミットモード-n, --candidates <number>: 候補数(1〜3、デフォルト2)--plan: 案の表示のみ(コミットしない)--yes: 確認プロンプトを最小化
lcr budget
CLI commit 利用可能トークンを表示します。
表示内容:
- 残量(%付き)
- リセット日時
※ 出力は .liha/lcr/cli.yaml の locale(ja / en)に従ってフォーマットされます。
lcr reset
現在リポジトリの ./.liha/lcr/cli.yaml を削除します。~/.liha/lcr/config.yaml は削除しません。
設定ファイル
グローバル設定
~/.liha/lcr/config.yaml
主な項目:
mode(現在は匿名運用)anonymousIdcreatedAtupdatedAt
リポジトリ設定
.liha/lcr/cli.yamllocale: ja | en
.liha/lcr/config.yamllimits.inputMaxBytes(入力上限)
API
使用 API:
POST /v1/cli/auth/token(短命トークン発行)POST /v1/lcr/commit/generate(コミット案生成)GET /v1/lcr/commit/budget(利用可能トークン取得)
認証:
- CLI は匿名 ID を保持し、短命トークンを取得して API を呼びます。
- 期限切れ時は自動再取得します。
API ベースURL
https://codereview.api.liha.devに固定
ルール解決順
docs/git-commit-rules.md(repo)- CLI 内蔵ルール
- 最終フォールバック
制限事項
- 分割コミットはファイル単位(hunk単位分割なし)
--split実行時はグループごとに stage を再構成してコミット- API 失敗時はローカルフォールバック候補を生成
開発時の実行例
pnpm --dir packages/lcr-cli install
pnpm --dir packages/lcr-cli dev init
pnpm --dir packages/lcr-cli dev commit
pnpm --dir packages/lcr-cli dev commit --candidates 3
pnpm --dir packages/lcr-cli dev commit --plan
pnpm --dir packages/lcr-cli dev commit -s
pnpm --dir packages/lcr-cli dev commit -s --plan
pnpm --dir packages/lcr-cli dev budget