Thực thi implementation plan bằng cách process và hoàn thành toàn bộ tasks được định nghĩa trong tasks.md
$ARGUMENTS
Bạn BẮT BUỘC phải xem xét đầu vào từ người dùng trước khi tiếp tục (nếu không rỗng).
Kiểm tra extension hooks (trước khi implement):
Kiểm tra xem .specify/extensions.yml có tồn tại trong thư mục gốc của project hay không.
Nếu tồn tại, đọc và tìm các mục trong key hooks.before_implement
Nếu YAML không thể parse hoặc không hợp lệ, bỏ qua kiểm tra hook một cách âm thầm và tiếp tục bình thường
Lọc ra các hook có enabled được đặt rõ ràng là false. Các hook không có trường enabled được coi là enabled theo mặc định.
Với mỗi hook còn lại, KHÔNG cố gắng diễn giải hoặc đánh giá biểu thức của hook:
conditioncondition, hoặc nó là null/rỗng, coi hook là có thể thực thicondition không rỗng, bỏ qua hook và để việc đánh giá condition cho HookExecutor implementationVới mỗi hook có thể thực thi, xuất ra thông tin sau dựa trên flag optional của nó:
Hook tùy chọn (optional: true):
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
Hook bắt buộc (optional: false):
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Chờ kết quả của hook command trước khi tiến hành Outline.
Nếu không có hook nào được đăng ký hoặc .specify/extensions.yml không tồn tại, bỏ qua một cách âm thầm
Chạy .specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks từ repo root và parse FEATURE_DIR và AVAILABLE_DOCS list. Tất cả đường dẫn phải là tuyệt đối. Với single quotes trong args như "I'm Groot", sử dụng cú pháp escape: ví dụ 'I'''m Groot' (hoặc dùng double-quote nếu có thể: "I'm Groot").
Kiểm tra trạng thái checklists (nếu FEATURE_DIR/checklists/ tồn tại):
Scan tất cả các checklist files trong thư mục checklists/
Với mỗi checklist, đếm:
- [ ] hoặc - [X] hoặc - [x]- [X] hoặc - [x]- [ ]Tạo bảng trạng thái:
| Checklist | Total | Completed | Incomplete | Status |
|-----------|-------|-----------|------------|--------|
| ux.md | 12 | 12 | 0 | ✓ PASS |
| test.md | 8 | 5 | 3 | ✗ FAIL |
| security.md | 6 | 6 | 0 | ✓ PASS |
Tính trạng thái tổng thể:
Nếu bất kỳ checklist nào chưa hoàn thành:
Nếu tất cả checklists đã hoàn thành:
Load và phân tích implementation context:
Lưu ý: Lệnh này giả định rằng đã có task breakdown đầy đủ trong tasks.md. Nếu tasks không đầy đủ hoặc bị thiếu, đề xuất chạy /speckit.tasks trước để regenerate task list.
.specify/extensions.yml có tồn tại trong thư mục gốc của project hay không.
Nếu tồn tại, đọc và tìm các mục trong key hooks.after_implement
Nếu YAML không thể parse hoặc không hợp lệ, bỏ qua kiểm tra hook một cách âm thầm và tiếp tục bình thường
Lọc ra các hook có enabled được đặt rõ ràng là false. Các hook không có trường enabled được coi là enabled theo mặc định.
Với mỗi hook còn lại, KHÔNG cố gắng diễn giải hoặc đánh giá biểu thức condition của hook:
condition, hoặc nó là null/rỗng, coi hook là có thể thực thicondition không rỗng, bỏ qua hook và để việc đánh giá condition cho HookExecutor implementationVới mỗi hook có thể thực thi, xuất ra thông tin sau dựa trên flag optional của nó:
Hook tùy chọn (optional: true):
## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
Hook bắt buộc (optional: false):
## Extension Hooks
**Automatic Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Nếu không có hook nào được đăng ký hoặc .specify/extensions.yml không tồn tại, bỏ qua một cách âm thầm
Xác minh Project Setup:
Detection & Creation Logic:
Kiểm tra xem lệnh sau có thành công không để xác định repository có phải là git repo không (tạo/verify .gitignore nếu có):
git rev-parse --git-dir 2>/dev/null
Kiểm tra Dockerfile* có tồn tại hoặc Docker trong plan.md → tạo/verify .dockerignore
Kiểm tra .eslintrc* có tồn tại → tạo/verify .eslintignore
Kiểm tra eslint.config.* có tồn tại → đảm bảo config's ignores entries cover required patterns
Kiểm tra .prettierrc* có tồn tại → tạo/verify .prettierignore
Kiểm tra .npmrc hoặc package.json có tồn tại → tạo/verify .npmignore (nếu publishing)
Kiểm tra terraform files (*.tf) có tồn tại → tạo/verify .terraformignore
Kiểm tra .helmignore có cần thiết không (helm charts present) → tạo/verify .helmignore
Nếu ignore file đã tồn tại: Verify nó chứa essential patterns, chỉ append các missing critical patterns Nếu ignore file bị thiếu: Tạo với full pattern set cho công nghệ được detect
Common Patterns by Technology (từ plan.md tech stack):
node_modules/, dist/, build/, *.log, .env*__pycache__/, *.pyc, .venv/, venv/, dist/, *.egg-info/target/, *.class, *.jar, .gradle/, build/bin/, obj/, *.user, *.suo, packages/*.exe, *.test, vendor/, *.out.bundle/, log/, , , Parse cấu trúc tasks.md và trích xuất:
Thực thi implementation theo task plan:
Các quy tắc thực thi implementation:
Theo dõi tiến độ và xử lý lỗi:
Xác minh hoàn thành:
tmp/*.gemvendor/bundle/vendor/, *.log, *.cache, *.envtarget/, debug/, release/, *.rs.bk, *.rlib, *.prof*, .idea/, *.log, .env*build/, out/, .gradle/, .idea/, *.class, *.jar, *.iml, *.log, .env*build/, bin/, obj/, out/, *.o, *.so, *.a, *.exe, *.dll, .idea/, *.log, .env*build/, bin/, obj/, out/, *.o, *.a, *.so, *.exe, *.dll, autom4te.cache/, config.status, config.log, .idea/, *.log, .env*.build/, DerivedData/, *.swiftpm/, Packages/.Rproj.user/, .Rhistory, .RData, .Ruserdata, *.Rproj, packrat/, renv/.DS_Store, Thumbs.db, *.tmp, *.swp, .vscode/, .idea/Tool-Specific Patterns:
node_modules/, .git/, Dockerfile*, .dockerignore, *.log*, .env*, coverage/node_modules/, dist/, build/, coverage/, *.min.jsnode_modules/, dist/, build/, coverage/, package-lock.json, yarn.lock, pnpm-lock.yaml.terraform/, *.tfstate*, *.tfvars, .terraform.lock.hcl*.secret.yaml, secrets/, .kube/, kubeconfig*, *.key, *.crt