create-starter について
create-starterは、6種類のStarter Seriesテンプレートを生成し、リリース、デプロイ、CIセキュリティ、エージェント指示ファイルを監査します。Starter Seriesのプロジェクトを管理する開発者や、既存リポジトリにCI/CDの仕組みを導入する開発者向けです。
主な機能
- 016種類のテンプレート生成
- 02リリースと公開状況の監査
- 03CIセキュリティ基準の確認
- 04エージェント指示ファイルの確認
- 05ローンチ証跡レポートの生成
活用シーン
- 01Starter Seriesテンプレートからのプロジェクト作成
- 02リリースとデプロイ準備状況の確認
- 03リポジトリのCIセキュリティ設定の点検
- 04既存リポジトリへのStarter CI/CDコンポーネント追加
MCP 対応
テンプレート一覧、プロジェクト作成、監査、レポート生成、CI/CDコンポーネント変更のためのstdioツールを9つ提供します。同じバイナリはCLIモードにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
create-starter
Starter Series プロジェクトをスキャフォールドして監査します。MCP サーバー、Claude Code スキル、CLI を 1 つのパッケージにまとめています。
Human-Controlled AI Systems の一部です。スキャフォールディングは簡単な作業です。リリース、CD、CI のセキュリティ衛生が既知の基準を満たしていることを確認する監査プリミティブ(audit、audit-cd、audit-security)が、リリース済みリポジトリの信頼性を保ちます。人が手作業で再確認するのではなく、マージのたびにチェックします。
韓国語のドキュメントは docs/ko/README.md で管理されています。ルートの README は英語のみです。
セキュリティチェックでは、ローカルのワークフロー定義と、参照されている starter-series/.github のポリシー(コンポジットアクションや呼び出されるスクリプトを含む)を検査します。エビデンスにはソースパスとコンテンツハッシュが含まれます。読み取れない、またはサポートされていない再利用可能なワークフローは、未検証として報告されます。このチェックの対象は設定であり、最新の Actions の実行結果やライブの脆弱性スキャンではありません。
現在実装済み
- CLI — パッケージ名とバイナリ名は
starter-seriesです。npx starter-series my-package --template npm-packageを実行すると、Zod で検証された入力、成功時のアトミックなリネーム、再試行とタイムアウト、50 MB のダウンロード上限を備えた公開テンプレート 6 種類のいずれかをスキャフォールディングします。 - MCP サーバー — stdio ツールは 9 種類です:
list_templates、create_project、audit_release、audit_cd、audit_security、audit_instructions、generate_launch_proof_report、seed_security_guidance、add_component。1 つのバイナリが argv に応じてモードを選択します(位置引数あり -> CLI、なし -> MCP stdio)。 - Claude Desktop 拡張機能 — 各リリースで
.mcpbバンドルを提供します。Claude Desktop の設定ウィンドウにドラッグしてインストールします。 - Claude Code プラグイン + スキル —
/plugin install create-starter@starter-seriesを実行すると、MCP サーバーと会話型のcreateスキルをまとめて導入できます。 - MCP Registry メタデータ —
io.github.starter-series/create-starter。レジストリへの登録は、スコープなしの npm パッケージが公開され、tarball の検証が済んでいることを条件とします。 audit_release— 対応するスターター、バージョンと最後のタグとの差異、マージ済み PR に対する CHANGELOG の差異(git log <tag>..HEAD)、公開ワークフローの種類(release-please / publish-on-tag / auto-release)を検出します。audit_cd— npm、PyPI、Open VSX、VS Marketplace、AMO、GitHub Releases を調査し、公開先ごとの公開状況の差異(in-sync / needs-publish / local-stale / not-found / unsupported)を確認します。audit_security— 9 項目をチェックします:CI のコア要素 8 種類(ピン留めチェック付きの gitleaks、CodeQL、依存関係の監査、ライセンスチェック、--ignore-scripts、Dependabot のグループ化、シークレットスキャンのヒント、claude-code-security-review Action)と、任意のリポジトリ作成者向けclaude-security-guidance.mdです。コアチェック 8 項目が HARDENED 判定の条件となります。このリポジトリはコアチェック 8 項目すべてに合格しています。audit_instructions/audit-instructions— エージェント向け指示ファイル(AGENTS.md、CLAUDE.md、GEMINI.md、Copilot の指示)を確認し、同一ファイル内の完全一致する重複、ファイル間の対象範囲の重複、キーワードに基づくリスクに関する注意を検出します。重複や対象範囲の重複に関する検出結果は要確認です。キーワードによるリスクの概要はあくまで参考情報であり、安全性や意味のずれを網羅的に検出するものではありません。proof-report/generate_launch_proof_report— リリース、CD、セキュリティ、指示の監査をまとめて実行し、クライアント向けのLaunch Proof Reportを生成します。これは収益化できる引き継ぎ機能です。まず証拠を示し、「認定済み」とは主張しません。リポジトリが実際にローンチ可能な状態でない限り、終了コードは 1 です。add_component— 監査ループにおける修正機能です。スキャフォールディングし直すことなく、スターターの CI/CD レイヤー(ci / security / dependabot / maintenance / all)を 既存の リポジトリに追加します。デフォルトはドライランで、ファイルごとの計画(create / identical / skip-exists / overwrite)を表示します。強制指定がない場合、変更済みの git ツリーがあると処理を拒否します。アプリケーションコードやシークレットを含む CD ワークフローには一切触れません。ドライランの計画は、スターターとの差異レポートとしても使えます。- 卒業ガイド —
docs/graduation-from-vibe-coding.md(+ 韓国語版)。リリース、CD、セキュリティの監査機能を使い、Lovable/Bolt/v0 のエクスポートから GitHub Actions と実際のデプロイ先へ移行するための 5 段階の手順です。
今後の予定
audit_cdに Chrome Web Store、EAS、Railway、Fly、GHCR のサポートを追加します。これらの公開先では認証が必要、または公開読み取り API がないため、現在はunsupportedとして報告されます。
設計意図
- 1つのバイナリ、2つのインターフェース。 CLI と MCP の stdio は、同じスキャフォールディングエンジンを共有します。どちらのインターフェースが応答するかは argv で決まります。「人間から呼び出す場合」と「エージェントから呼び出す場合」で、同じ処理のロジックを重複させません。
- 失敗時はアトミック。 展開は兄弟ディレクトリの
.<name>-incomplete-<rand>で行い、成功した場合にのみ最終パスへリネームします。ネットワークの失敗、アーカイブの破損、書き込みの途中失敗があっても、中途半端にスキャフォールディングされたディレクトリは残りません。 - 監査を第一級の機能に。 テンプレートにはセキュリティのベースライン(SHA を固定した gitleaks、CodeQL、グループ化された Dependabot、
--ignore-scripts、claude-code-security-review)が含まれます。監査コマンドは、下流のリポジトリが現在もその基準を満たしているかを確認します。これにより、ベースラインは一度きりのスキャフォールディングではなく、継続的なゲートになります。 - 自分たちでも実践。 このリポジトリは
audit_securityのコアチェックを 8/8 件通過します(HARDENED)。9 件目は任意のclaude-security-guidance.mdです。他のリポジトリを監査するツール自体が自らの基準を満たせないなら、その基準は実質的なものではありません。 - サンドボックスの外では読み取り専用。 ダウンロードには上限があります(50 MB、タイムアウト 30 秒、再試行 3 回)。相対出力パスで cwd の外へ出ることはできません。絶対パスは、ユーザーが明示的に指定した場合にのみ受け付けます。
git initの失敗は記録されますが、処理は続行されます。
対象外
audit_cdでの全ベンダー対応。 公開読み取り API のないデプロイ先は、確信を持って誤った状態を報告するのではなく、unsupportedのままにします。- アプリコードの書き換え。 卒業フローでは、一致するスターターから CI/CD を移行します。アプリケーションコードには手を加えません。
- 汎用プロジェクトジェネレーター。 テンプレートは、公開されている 6 つの Starter Series テンプレートです。新しいスタックは
create_projectのフラグではなく、新しいスターターとして追加します。 - 指示の意味的なずれや AI の安全性の強制。
audit_instructionsは、完全一致する重複や表層的な重複の確認、キーワードのリマインダーに役立つレビュー支援ツールです。意味的類似性エンジン、ランタイムのガードレール、レッドチーム用ハーネス、網羅的な安全性・セキュリティリンターではありません。
クイックスタート — CLI
npx starter-series my-package --template npm-package
# Or build from a create-starter checkout:
npm ci
npm run build
node dist/index.js my-package --template npm-package
starter-series — scaffold a project from the Starter Series.
Usage
starter-series <name> --template <id> [options]
starter-series audit [path]
starter-series audit-cd [path]
starter-series audit-security [path]
starter-series check [path] [--instructions]
starter-series audit-instructions [path]
starter-series proof-report [path] [--output <file>] [--stdout]
starter-series seed-security-guidance [path] [--force]
starter-series add-component [path] [--component <g>] [--starter <id>] [--apply] [--force]
starter-series --list
starter-series --help
Options
-t, --template <id> Template ID (see --list)
-d, --description <text> One-line project description
-o, --output-dir <path> Output directory (default: ./<name>)
--no-git Skip "git init" after scaffold
--output <file> proof-report output (default: <path>/launch-proof-report.md)
--stdout print proof-report Markdown; with --output, also writes the file
--component <group> add-component group: ci, security, dependabot, maintenance, all
--starter <id> add-component source starter override
--apply Write the add-component plan (default is dry-run)
--force Overwrite differing component files or guidance
--list List templates and exit
-h, --help Show help and exit
-v, --version Print version and exit
Environment
CREATE_STARTER_DEBUG=1 Emit verbose stderr logs
利用可能なテンプレート
| ID | スタック |
|---|---|
mcp-server | TypeScript + @modelcontextprotocol/sdk + Zod |
mcp-server-python | Python + FastMCP |
npm-package | Jest + ESLint + OIDC による公開 |
browser-extension | Chrome/Firefox MV3 |
vscode-extension | VS Marketplace + Open VSX |
docker-deploy | 任意の言語 + GHCR + SSH |
ここに記載された 6 つの公開テンプレートのみが、生成およびコンポーネントのダウンロードに利用できます。以前のテンプレートを基にした既存のプロジェクトは、引き続き監査できます。
最新の正式な一覧を表示するには、starter-series --list(CLI)を実行するか、list_templates(MCP)を呼び出してください。
Lovable/Bolt/v0 からの卒業
バイブコーディングプラットフォームで動作するアプリがすでにあり、GitHub Actions と独自のデプロイ先へ移行したい場合は、docs/graduation-from-vibe-coding.md(한국어)をご覧ください。5 つのステップで audit、audit-cd、audit-security を使ってリポジトリを診断し、アプリコードを書き換えずに、一致するスターターから CI/CD を移行します。
ソースからインストール
git clone https://github.com/starter-series/create-starter
cd create-starter
npm install
npm run build
Node.js ≥22 が必要です。
Claude Desktop へのワンクリックインストール
Releases ページから最新の .mcpb バンドルをダウンロードし、Claude Desktop の設定ウィンドウにドラッグしてください。Claude Desktop がバンドル内の dist/ と node_modules/ を展開し、create-starter を MCP サーバーとして登録します。npm も、設定ファイルも、絶対パスも必要ありません。
.mcpb(MCP Bundle、以前の.dxt)は、MCP サーバー向けの Anthropic のパッケージ化された拡張機能形式です。Desktop Extensionsをご覧ください。
バンドルをローカルで再ビルドするには:
npm ci
npm run bundle:mcpb # produces create-starter-<version>.mcpb
MCP サーバーとして使用する
ビルド済みバイナリを MCP クライアント(Claude Desktop、Cursor など)に登録します。
{
"mcpServers": {
"create-starter": {
"command": "node",
"args": ["/absolute/path/to/create-starter/dist/index.js"]
}
}
}
次に、エージェントに 「create-starter を使って、my-bot という名前の新しい discord bot を作成してください。」 と依頼します。必要に応じてエージェントが list_templates を呼び出し、その後 create_project を呼び出します。
バイナリは追加の引数なしで呼び出されると MCP stdio で動作し、位置引数またはフラグが渡されると CLI モードに切り替わります。どちらのモードも同じスキャフォールディングエンジンを使用します。
Claude Code プラグインとして使用する
このプラグインには MCP サーバーと create スキルの両方が含まれており、1 回のインストールでまとめて設定されます。
Claude Code REPL から実行します。
/plugin marketplace add starter-series/create-starter
/plugin install create-starter@starter-series
次に Claude に 「my-bot という名前の新しい discord bot を作成して」 と依頼すると、create-starter:create スキルが会話を MCP ツールへ誘導します。
ローカル開発の場合(マーケットプレイスを経由しない場合):
claude --plugin-dir /path/to/create-starter
git クローンを指定すると、セッション開始時に skills/create/SKILL.md または dist/index.js への編集が反映されます。
MCP Registry 経由で使用する
レジストリへの公開後、このサーバーは Official MCP Registry の名前空間を使用します。
io.github.starter-series/create-starter
レジストリの検出機能を統合した MCP 対応クライアントでは、手動でパスを設定せずに名前でインストールできます。レジストリのエントリーは npm パッケージ starter-series を参照するため、レジストリへの登録手順は npm パッケージの公開と検証が完了してから実行する必要があります。
所有権は GitHub OIDC(名前空間 io.github.starter-series/*)と npm tarball の検査(package.json#mcpName)によって確認されます。公開手順については .github/workflows/publish-mcp-registry.yml を参照してください。
npm リリースの設定(2026-05-20 以降の許可されたアクションの手順を含む信頼されたパブリッシャーの登録)については、docs/RELEASING.md を参照してください。
ツール
スキャフォールディング:
list_templates— テンプレートの一覧全体を JSON で返します。create_project— 引数:template(必須) — 上記の一覧にあるテンプレート ID。name(必須) —^[A-Za-z0-9][A-Za-z0-9_-]*$に一致するプロジェクト名。description(任意) — 1 行の説明。output_dir(任意) — MCP サーバーの cwd を基準とした./<name>がデフォルトです。相対パスは cwd 内に収める必要があります。絶対パスはユーザーの明示的な意図として受け付けられます。init_git(任意、デフォルトはtrue) — スキャフォールディング後にgit initを実行します。
監査(いずれも path 引数は任意で、デフォルトは MCP サーバーの cwd。すべて読み取り専用):
audit_release— リリース準備状況の診断。CLI での対応コマンド:starter-series audit [path]。audit_cd— 公開先ごとの公開内容のずれを調査します。CLI での対応コマンド:starter-series audit-cd [path]。audit_security— CI の基本的なセキュリティ衛生チェック。CLI での対応コマンド:starter-series audit-security [path]。audit_instructions— エージェントへの指示の重複と適用範囲の重なりを確認し、注意喚起を目的としたキーワードリスクの概要を示します。CLI での対応コマンド:starter-series audit-instructions [path]。generate_launch_proof_report— リリース、CD、セキュリティ、指示レビューの各監査結果をまとめた、Markdown 形式のローンチ引き継ぎレポートを生成します。CLI での対応コマンド:starter-series proof-report [path] [--output <file>] [--stdout]。seed_security_guidance— スターターを考慮したclaude-security-guidance.mdの草案を生成します。CLI での対応コマンド:starter-series seed-security-guidance [path] [--force]。add_component— 既存のリポジトリにスターター向けの CI/CD コンポーネントを追加する提案を作成するか、ドライラン計画として適用します。CLI での対応コマンド:starter-series add-component [path] [--component <g>] [--starter <id>] [--apply] [--force]。
安全性と信頼性
- ファイルシステムに触れる前にプロジェクト名を正規表現で検証します。作業ディレクトリの外に出る相対出力パスは拒否されます。
- ダウンロードには30秒のタイムアウト、3回の指数バックオフ再試行、50 MBのサイズ上限が適用されます。
- 展開は兄弟ディレクトリの
.<name>-incomplete-<rand>内で行われます。失敗した場合(ネットワーク、アーカイブの破損、展開エラーなど)、一時ディレクトリは削除されます。すべて成功した場合にのみ、アトミックなrenameによって最終パスが作成されます。 git initの失敗は標準エラーに記録されますが、スキャフォールドの処理は失敗しません。.gitディレクトリがなくてもプロジェクトを使用できます。
サプライチェーンセキュリティを事前に設定済み
すべての Starter Series テンプレートには、オプトイン不要で audit_security が確認する9つのチェックが含まれています。
| チェック | 検出する内容 |
|---|---|
| gitleaks(SHA256固定の手動インストール) | コードや履歴にコミットされたシークレット |
| CodeQL(毎週およびPR) | JS/TS/Pythonの静的解析 |
依存関係の監査(npm audit --audit-level=moderate / pip-audit) | 推移的依存関係に含まれる既知のCVE |
| ライセンスチェック | GPL/AGPLの混入 |
すべての npm/pnpm/yarn install での --ignore-scripts | 悪意のあるpostinstallスクリプト |
| Dependabotのグループ化された更新 | 個別更新によるロックファイルの競合多発 |
| GitHubのシークレットスキャンとプッシュ保護 | プッシュ時に漏えいしたトークン |
PRでの anthropics/claude-code-security-review Action | AIによる差分レビュー |
claude-security-guidance.md (作成が必要なのはこれだけです) | Anthropicのセッション内 Claude Code Security Guidance Plugin(2026-05-26リリース)が使用する、組織固有のルール |
これは、2026-04-21のnpmサプライチェーンインシデント時にVercelが使用していたスタックです。同社は、同じ事前設定済みチェックに加え、Socket/npm/GitHubとの連携によって侵害を未然に防ぎました。Starter Seriesでは、すべてのスターターにこれらのチェックが事前設定されています。
ライセンス
MIT © heznpc
インストラクションのチェック
starter-series check --instructions [path]
starter-series check --instructions [path] --json
starter-series check --instructions [path] --update-state
--instructions を指定せずに check を実行すると、既存のリリース、CD、セキュリティ、インストラクションの監査が実行されます。audit-instructions は引き続き互換性のあるエイリアスです。MCP クライアントは引き続き audit_instructions(path?, update_state?) を使用します。ライブラリのエントリーポイントは auditInstructions(path?, { updateState? }) のままです。
1回のスキャンで、AGENTS/CLAUDE/GEMINI、オーバーライド、Copilot のインストラクション、Cursor のルール、Claude のルール/スキル、.agents のルール/スキル/ワークフローを確認します。このチェックでは、インポートとシンボリックリンクのエイリアス、逐語的なミラー、ローカルオーバーライド、完全一致する重複、ファイル間の重複範囲を報告します。明示的に設定されていない場合、リンクとファイル名から正規のソースを推定します。意味的な類似性は検出しません。インストラクションのソースファイルが書き換えられることはありません。
任意の .starter-series/instructions.json で正規のソースを選択し、所有者の判断を記録できます。JSON レポートから正確な id、evidenceHash、paths をコピーして、判断の id、evidenceHash、scope に設定します。その後、所有者の理由、身元、承認日を明示的に指定してください。
{
"schemaVersion": 1,
"canonical": "AGENTS.md",
"decisions": []
}
各判断には reason、approvedBy、approvedAt(YYYY-MM-DD)、および reviewAfter、expiresAt(YYYY-MM-DD)、reviewReason のうち少なくとも1つが必要です。判断が受け入れるのは、完全に一致する検出結果とスコープのみです。根拠の変更、有効期限切れ、またはレビュー期限到来により、その判断は古いものとして扱われます。承認がチェッカーによって生成されることはありません。受け入れ済みの検出結果も引き続き表示されます。このファイルは所有者の承認を記録するものであり、認証の仕組みではありません。
チェックはデフォルトで読み取り専用です。--update-state(または MCP の update_state: true)を明示的に指定すると、新規/変更/既知/解決済みの差分比較に使用する .starter-series/instructions-state.json が保存されます。状態には識別情報と根拠ハッシュが含まれ、インストラクションのテキストは含まれません。チームで共有のベースラインが必要な場合にのみ、これをコミットしてください。不正なメタデータがあるとチェックは失敗します。終了コードは、問題なし/助言または受け入れ済みの検出結果では0、対応待ち/レビュー期限切れの検出結果では1、使用方法または運用上のエラーでは2のままです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。