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

Đang mở
#4,311 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
45/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu từ lệnh specify init hiện có và lần theo đường đi phân giải và lập kế hoạch của lệnh, vì issue không nêu tệp hoặc test nào. So sánh việc lập kế hoạch trong dry-run với một lần khởi tạo thực tế, sau đó bổ sung phạm vi kiểm thử hồi quy cho đầu ra dễ đọc đối với con người và đầu ra JSON, bao gồm một assertion xác nhận không có thao tác ghi nào; hoàn tất khi tất cả các nguồn artifact được liệt kê và các kết quả mở rộng URL đều được thể hiện mà không có thay đổi nào trên hệ thống tệp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
Python
Star
138k
Fork
12.4k
Merge trung bình
3 ngày 6 giờ
Pull request đã merge (30 ngày)
136

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của github/spec-kit

Tất cả issue của github/spec-kit

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.