[Feature]: Add `specify init --dry-run` preview

オープン
#4,311 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python
領域
cli

調査の方向性

既存の specify init コマンドから始め、issue ではファイルやテストが指定されていないため、その解決および計画の経路を追跡してください。dry-run の計画と実際の初期化を比較し、その後、人間が読みやすい出力と JSON 出力の回帰カバレッジを追加してください。書き込みが行われないことのアサーションも含めます。すべての一覧化されたアーティファクトソースと URL 拡張の結果が、ファイルシステムを変更せずに網羅されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Context

This issue supersedes #1035, which requested specify init . --dry-run and was automatically closed for inactivity rather than resolved.

specify init can merge into an existing directory with --force, potentially changing generated project artifacts. Users need a reliable way to inspect the exact initialization plan before allowing writes.

Proposal

Add:

specify init --dry-run

The dry-run must use the same resolution and planning path as a real initialization, but perform no project filesystem mutations. It should preview the outcome for the requested directory and the selected integration, script type, preset, and extensions.

Expected output

For every planned artifact, report:

  • action: create, overwrite, preserve, skip, or conflict;
  • project-relative path;
  • provenance: core, integration, preset, workflow, or extension.

Provide a human-readable summary and --json output for CI/tooling.

Acceptance criteria

  • specify init --dry-run never creates, modifies, deletes, or registers project files.
  • Its plan matches a subsequent real specify init invocation with the same options.
  • Existing-directory conflicts are reported without needing --force.
  • The preview accounts for core assets, integrations, presets, bundled/local extensions, and the bundled workflow.
  • URL extensions are not installed during preview; any unresolved/download-required result is reported explicitly.
  • Human-readable and JSON output have regression coverage, including a no-write assertion.

Non-goals

  • Running coding-agent commands or workflows.
  • Replacing the existing specify workflow run --dry-run behavior.
主要言語
Python
スター
138k
フォーク
12.4k
平均マージ
3日 6時間
マージ済み PR(30日)
136

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/spec-kit のほかの issue

github/spec-kit の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。