mcpField
C
cli-forge-scaffold

cli-forge-scaffold

github.com/bytelandtechnology開発036 回インストール27 週間前に更新
リポジトリ

cli-forge-scaffold について

cli-forge-scaffoldは、承認済みのcli-plan.ymlからRust CLIの基本プロジェクトを生成します。CLI設計が確定したプロジェクト向けに、同梱テンプレートを展開し、Cargoのビルド、Lint、フォーマット、テストを実行します。

主な機能

  1. 01承認済みcli-plan.ymlに基づくテンプレート展開
  2. 02Rust CLIの構成と基本ファイルの作成
  3. 03未解決テンプレートプレースホルダーの確認
  4. 04Cargoビルド、Clippy、フォーマット、テストの実行
  5. 05スキャフォールドレシートの生成

活用シーン

  1. 01承認済みCLIプランからのプロジェクト作成
  2. 02一貫したRust CLIの基本構成の初期化
  3. 03引き継ぎ前の生成プロジェクト検証
  4. 04生成結果と延期機能の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bytelandtechnology/cli-forge --skill cli-forge-scaffold

インストール後、Claude Code で/cli-forge-scaffoldを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

planning-brief.md
contracts/
scaffold-receipt.yml.tpl
instructions/
new.md
templates/
Cargo.toml.tpl
cli_test.rs.tpl
context.rs.tpl
dot-gitignore.tpl
help.rs.tpl
lib.rs.tpl
main.rs.tpl
README.md.tpl
SKILL.md.tpl

詳細

cli-forge Scaffold

作業内容がベースラインテンプレートから新しい Rust CLI Skill プロジェクトを作成することであり、詳細な CLI 契約(Plan)がすでに明示的に定義され、承認されている場合は、このステージを使用します。

目的

承認済みの cli-plan.yml と正式なテンプレートを使用して、新しいスキルのベースラインコードベースを生成します。

このステージでは設計上の決定は行わず、Plan ステージで提示された設計図に厳密に従います。

公式参照先

開始条件

#確認項目参照元
1cli-plan.yml が存在し、承認済みであるPlan stage
2skill_name が判明しているPlan stage
3対象プロジェクトのディレクトリが存在しないファイルシステム

必須入力

  • skill_name
  • 承認済みの cli-plan.yml
  • 任意の author、version、rust_edition

ワークフロー

  1. ./instructions/new.md に記載された事前チェックを実行します。スキル名を必須とし、cli-plan.yml を確認し、既存のディレクトリへの上書きを拒否します。
  2. ディレクトリ構造を作成します。
  3. cli-plan.yml と手順ファイルの定義に厳密に従って ./templates/ のテンプレートを展開し、インストールに安全な dot-* リソースのエイリアスを、本来のドット始まりの出力パスに戻します。
  4. 未解決の {{token}} プレースホルダーが残っていないことを確認します。
  5. 生成されたプロジェクトのルートから、必須の検証コマンドを実行します。
    • cargo build
    • cargo clippy -- -D warnings
    • cargo fmt --check
    • cargo test
  6. 生成されたパッケージのレイアウトが、文書化された範囲内に収まっていることを確認します。ベースラインで生成されるファイルに、機能固有のサポートファイルを加えたものが対象です。リポジトリ管理の CI ワークフローとリリーススクリプトは、Publish までは生成プロジェクトの外部に置きます。
  7. ./contracts/scaffold-receipt.yml.tpl のテンプレートを使用して .cli-forge/scaffold-receipt.yml を生成します。

成果物

  • 新しい Rust CLI パッケージのディレクトリ
  • .cli-forge/scaffold-receipt.yml

完了条件

#確認項目
1すべてのテンプレートが展開され、未解決のトークンがない
2cargo build が成功する
3cargo clippy -- -D warnings が成功する
4cargo fmt --check が成功する
5cargo test が成功する
6scaffold-receipt.yml が生成されている

ガードレール

  • このステージでは、同梱された ./templates/ ディレクトリのテンプレートのみを使用します。このスキルパッケージの外部にあるスキャフォールド用テンプレートを参照してはいけません。
  • ./templates/ 内の dot-* リソース名は、インストールに安全なエイリアスとしてのみ扱います。生成物では、本来のドット始まりのファイル名に戻す必要があります。
  • プロジェクト構造や依存関係を独自に決めてはいけません。すべて cli-plan.yml に基づいていなければなりません。
  • スキャフォールドのベースラインで生成されるのは、動作するワンショット CLI のみです。任意機能(repl、stream、daemon)はベースラインには含まれず、ベースラインプロジェクトの検証後に Extend ステージ(../cli-forge-extend/SKILL.md)で追加する必要があります。cli-plan.yml でいずれかの機能が in_scope と指定されている場合は、ベースラインの生成を進め、延期する機能を scaffold-receipt.yml の deferred_capabilities に記録し、次に Extend ステージが必要となる機能をユーザーに伝えます。
  • Cargo の検証手順のいずれかが失敗した場合は、ワークフローを停止し、作業を引き継ぐ前にスキャフォールドされたファイルを修正します。

次のステップ

scaffold-receipt.yml に延期された機能が記載されている場合は、引き継ぐ前に AskUserQuestion を使用して確認してください。延期された機能ごとに、すぐに拡張を実行するかどうかを尋ねてください。ユーザーが承認した場合は、延期された機能ごとに順番に拡張を実行してください。ユーザーが辞退した場合は、代わりに各機能に対する正確な /cli-forge-extend の呼び出し方法を列挙してください(instructions/new.md の「機能の延期」を参照)。それ以外の場合は、 ../cli-forge-validate/SKILL.md に進み、コンプライアンスルール一式を実行してください。

コメント