@einja/dev-cli
v0.1.21
Published
Einja CLI - .claude設定とテンプレート同期をnpxでインストール
Downloads
1,826
Readme
@einja/dev-cli
Claude Code用の.claude設定ディレクトリをnpxでインストールできるCLI。
クイックスタート
npx @einja/dev-cli initインストール
# npx(推奨)
npx @einja/dev-cli init
# グローバルインストール
npm install -g @einja/dev-cli
@einja/dev-cli initコマンド
init
.claudeディレクトリをセットアップします。
npx @einja/dev-cli initオプション:
| オプション | 説明 |
|-----------|------|
| -f, --force | 上書き確認をスキップ |
| --dry-run | 実行内容をプレビュー |
| --no-backup | バックアップを作成しない |
自動追加されるnpm scripts:
init 実行時に package.json の scripts に以下が自動追加されます:
{
"scripts": {
"task:loop": "npx @einja/dev-cli task:loop",
"einja:sync": "npx @einja/dev-cli sync"
}
}これにより、以下のコマンドが使用可能になります:
pnpm task:loop 123- タスクループ実行pnpm einja:sync- テンプレート同期
sync
テンプレートから更新を同期します。
# 全カテゴリを同期
npx @einja/dev-cli sync
# 特定カテゴリのみ同期
npx @einja/dev-cli sync --only commands,agents
npx @einja/dev-cli sync --only hooksオプション:
| オプション | 説明 |
|-----------|------|
| -o, --only <categories> | 同期するカテゴリをカンマ区切りで指定 |
| -d, --dry-run | 実際の変更を行わず、差分のみ表示 |
| -f, --force | ローカル変更を無視してテンプレートで上書き |
| -y, --yes | 確認プロンプトをスキップ |
| --no-backup | 変更前にバックアップを作成しない |
同期可能なカテゴリ:
commands- Claude Code コマンドagents- エージェント定義skills- スキル定義hooks- Git Hooksdocs- ステアリングドキュメントenv- 環境設定ファイル(.envrc)
マーカーによる部分同期:
ファイルには、同期動作を制御するマーカーがあります:
@einja:managed- 常にテンプレート版で上書き(共通ルール)@einja:seed- 初回のみ追加、以降はローカル編集を保持(プロジェクト固有設定)@einja:excluded- テンプレートのみに存在し、syncでコピーされない(テンプレート専用設定)
詳細は マーカー仕様書 を参照してください。
JSONマージ設定:
.einja-sync.jsonにjsonPathsを設定することで、JSONファイルのマージ動作を制御できます:
{
"version": "1.0.0",
"lastSync": "2024-01-11T00:00:00Z",
"templateVersion": "1.0.0",
"files": {},
"jsonPaths": {
"managed": {
"package.json": ["scripts.dev", "scripts.build", "scripts.lint"]
},
"seed": {
"package.json": ["scripts.custom"]
}
}
}- managed パス: 常にテンプレート値で上書き
- seed パス: ローカルに存在しない場合のみテンプレート値をコピー
- その他: ローカル優先(ユーザー追加分を保持)
注意: jsonPaths設定はcreate-einja-app addコマンドと共通です。
task:loop
GitHub Issueのタスクを自動実行します(Claude Code経由)。
# pnpm scripts経由(推奨)
pnpm task:loop 123
pnpm task:loop 123 --max-group 1.3
# npx直接実行
npx @einja/dev-cli task:loop 123オプション:
| オプション | 説明 |
|-----------|------|
| -m, --max-group <number> | 最大タスクグループ番号 |
| -b, --branch <name> | ベースブランチ |
前提条件:
ghCLI がインストール済み(GitHub Issue操作に必要)- Vibe-Kanbanが起動している(
npx vibe-kanban)
配布内容
Einja ATDDワークフロー構成(Next.js、Vibe-Kanban統合)を配布します。
.claude/
├── settings.json
├── agents/
│ ├── specs/ # 仕様書生成 (3)
│ ├── task/ # タスク実行 (6)
│ └── einja/frontend/ # フロントエンド (3)
├── commands/
│ ├── spec-create.md
│ ├── task-exec.md
│ └── einja-*/ # Einja固有コマンド
├── skills/
│ └── einja-*/ # コーディング規約、設計ガイド
└── hooks/ # Git Hooks (9個)
├── biome-format.sh
├── typecheck.sh
└── ...
docs/
├── templates/ # ドキュメントテンプレート
└── steering/ # プロジェクト基本方針含まれるMCPサーバー設定:
- codex, context7, playwright, serena, github, vibe_kanban
カスタマイズ
settings.local.json
プロジェクト固有の設定はsettings.local.jsonに記述します。
{
"permissions": {
"allow": ["Bash(custom-script:*)"]
}
}CLAUDE.md
プロジェクトルートにCLAUDE.mdを作成してプロジェクト固有の指示を追加できます。
開発
# ビルド
pnpm build
# テスト
pnpm test
# 型チェック
pnpm typecheck前提となるコマンド
サブエージェント(task-qa、task-commit、task-reviewer等)が以下のコマンドの存在を前提としています。
| コマンド | 使用者 | 用途 |
|---------|--------|------|
| prepush | task-commit | コミット前の品質チェック |
| test | task-qa, task-reviewer | ユニットテスト実行 |
| lint | task-qa, task-reviewer | Biome lintチェック |
| typecheck | task-qa, task-reviewer | TypeScript型チェック |
| build | task-qa, task-reviewer | ビルド確認 |
| dev | CLAUDE.md | 開発サーバー起動 |
| dev:bg | CLAUDE.md | バックグラウンド開発サーバー |
推奨: これらのコマンドがすべて含まれる create-einja-app でプロジェクトを作成してください。
npx create-einja-app my-project要件
- Node.js >= 20.0.0
ライセンス
MIT
