Claude Code用スキル管理CLI。dotfilesで一元管理されたスキル・MCP設定・カスタムコマンドを、プロジェクトごとに対話的に選択して.claude/フォルダを自動生成します。
# ビルド
cargo build --release
# パスを通す(例)
cp target/release/anvil ~/.local/bin/~/.config/anvil/config.tomlを作成してdotfilesのパスを設定:
[dotfiles]
path = "~/.config/.claude" # スキルが保存されているディレクトリ以下の構成でスキル・MCP・コマンドを配置:
~/.config/.claude/
├── skills/ # スキル(ディレクトリまたは.mdファイル)
│ ├── frontend/
│ │ ├── SKILL.md # スキル本体(必須)
│ │ └── rules/ # ルールファイル(オプション)
│ └── devops.md
├── mcp/ # MCP設定(.jsonファイル)
│ └── serena.json
└── commands/ # カスタムコマンド(.mdファイル)
└── review.md
{
"mcpServers": {
"serena": {
"command": "uvx",
"args": ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server"],
"cwd": "."
}
}
}# 利用可能なスキル・MCP・コマンドを一覧表示
anvil list
# 対話UIでスキルを選択して.claude/を生成
anvil init
# ヘルプ
anvil --helpanvil initを実行すると、以下が生成されます:
project/
├── .claude/
│ ├── settings.json # MCP設定が含まれる
│ ├── commands/
│ │ └── (選択したコマンド).md
│ ├── skills/
│ │ └── skill-name/
│ │ └── SKILL.md # スキル本体のみ
│ └── rules/
│ └── skill-name/ # スキルごとに整理
│ └── *.md
└── CLAUDE.md
対話UIでの操作:
- ↑↓: 項目を移動
- スペース: 選択/解除
- Enter: 確定
# ビルド
cargo build
# テスト
cargo test
# リント
cargo clippy
# フォーマット
cargo fmt