@damphuquy/agent-init 2.3.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +17 -9
  2. package/README.vi.md +17 -9
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +49 -2
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +4 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/scaffolder.d.ts +4 -1
  10. package/dist/scaffolder.d.ts.map +1 -1
  11. package/dist/scaffolder.js +234 -0
  12. package/dist/scaffolder.js.map +1 -1
  13. package/dist/types.d.ts +26 -0
  14. package/dist/types.d.ts.map +1 -1
  15. package/dist/ui.d.ts.map +1 -1
  16. package/dist/ui.js +4 -0
  17. package/dist/ui.js.map +1 -1
  18. package/package.json +1 -1
  19. package/templates/en/.agents/guardrails.md +22 -0
  20. package/templates/en/AGENTS.md +26 -12
  21. package/templates/en/instruction-version.json +5 -4
  22. package/templates/en/process/_seeds/_GUIDE.md +10 -1
  23. package/templates/en/process/_seeds/plan-template.md.seed +6 -5
  24. package/templates/en/process/_seeds/review-template.md.seed +2 -0
  25. package/templates/en/process/_seeds/task-lite.md.seed +88 -0
  26. package/templates/en/process/_seeds/task-template.md.seed +8 -0
  27. package/templates/en/process/development-protocols/orchestration.md +19 -0
  28. package/templates/vi/.agents/guardrails.md +22 -0
  29. package/templates/vi/AGENTS.md +26 -12
  30. package/templates/vi/instruction-version.json +5 -4
  31. package/templates/vi/process/_seeds/_GUIDE.md +10 -1
  32. package/templates/vi/process/_seeds/plan-template.md.seed +6 -5
  33. package/templates/vi/process/_seeds/review-template.md.seed +2 -0
  34. package/templates/vi/process/_seeds/task-lite.md.seed +88 -0
  35. package/templates/vi/process/_seeds/task-template.md.seed +8 -0
  36. package/templates/vi/process/development-protocols/orchestration.md +19 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-instructions (@damphuquy/agent-init)
2
2
 
3
- > **AI Coding Agent Scaffolding & Orchestration System v2.0 (RIPER-5 Framework)**
3
+ > **AI Coding Agent Scaffolding & Orchestration System v3.0 (AI-Native SDLC / RIPER-5 Framework)**
4
4
 
5
5
  <p align="center">
6
6
  <b>English</b> • <a href="README.vi.md">Tiếng Việt</a>
@@ -8,13 +8,13 @@
8
8
 
9
9
  ---
10
10
 
11
- A structured scaffolding framework for AI Coding Agents following the **RIPER-5 Framework v2.0** — cleanly separated into three layers: `AGENTS.md` (project configuration), `.agents/` (agent behavioral controls), and `process/` (task execution and verification workflow).
11
+ A structured scaffolding framework for AI Coding Agents following the **AI-Native SDLC (RIPER-5 Framework v3.0)** — cleanly separated into three layers: `AGENTS.md` (project configuration & single source of truth), `.agents/` (agent behavioral controls), and `process/` (task execution and verification workflow).
12
12
 
13
- Featuring four core **v2.0 Engineering Protocols**:
14
- * **Subagent Orchestration v2.0:** Parallel vertical slicing with zero write collision and reactive wakeup.
15
- * **Implementation Standards v2.0:** Strict typing (zero `any`), domain purity, fail-fast boundary validation, and deterministic teardown.
16
- * **Planning & Slicing Standards v2.0:** INVEST-compliant vertical slices (2–5 per task) with mandatory automated verifiers.
17
- * **Testing Standards & Harness v2.0:** Deterministic test pyramid with frozen clocks, fixture factories, and strict mocking boundaries.
13
+ Featuring four core **v3.0 AI-SDLC Capabilities**:
14
+ * **Adaptive Dual-Track Spec:** Full Track (7 artifacts for Epics & complex features) vs Lite Track (1 consolidated `task-lite.md` artifact for quick tasks & hotfixes, saving 70% token overhead).
15
+ * **Multi-IDE Universal Sync (`sync`):** `AGENTS.md` as the single source of truth, automatically synced to Cursor (`.cursor/rules/`), Claude Code (`CLAUDE.md`), and Windsurf (`.windsurfrules`).
16
+ * **Deterministic Scope Verifier (`verify-gate`):** Automated CLI verification checking `git diff` against approved `<allowed_files>` for Zero Scope Creep.
17
+ * **Native Model Context Protocol (MCP):** Explicit toolchain declarations guiding agents to prioritize MCP database, git, and devtools.
18
18
 
19
19
  ```bash
20
20
  # Bootstrap immediately into your project (takes 30 seconds)
@@ -28,9 +28,10 @@ npx @damphuquy/agent-init .
28
28
  Designed for minimal overhead, practical focus, and zero fluff:
29
29
 
30
30
  ### 1. For Daily Development (Start Here)
31
- * **[01 · Hands-on Walkthrough from A–Z](docs/en/01-getting-started.md)**: **The core guide to get started in 10–15 minutes**. Step-by-step instructions with **2 practical examples** (Task 1 Strict Track $\rightarrow$ Handoff $\rightarrow$ Task 2 Fast-Track with knowledge inheritance), prompt templates, and quality gate sign-offs.
32
- * **[02 · Daily Cheat Sheet](docs/en/02-cheat-sheet.md)**: Copy-paste prompt templates for each phase, quality gates summary (Gates G0–G3), subagent delegation prompts, and v2.0 protocol matrix.
31
+ * **[01 · Hands-on Walkthrough from A–Z](docs/en/01-getting-started.md)**: **The core guide to get started in 10–15 minutes**. Step-by-step instructions with **2 practical examples** (Walkthrough 1 Lite Track 5-min fix $\rightarrow$ Walkthrough 2 Full RIPER-5 Track feature engineering with Cross-Harness Review), prompt templates, and quality gate sign-offs.
32
+ * **[02 · Daily Cheat Sheet](docs/en/02-cheat-sheet.md)**: Copy-paste prompt templates for each phase, quality gates summary (DoR, Gates G0–G3), CLI commands (`sync`, `verify-gate`), and v3.0.0 protocol matrix.
33
33
  * **[03 · Advanced Workflows & Production Edge Cases](docs/en/03-advanced-workflows.md)**: Complex real-world scenarios: Epics in `process/features/`, multi-developer concurrency, git rebase conflicts, P0 emergency hotfixes, secret scanning, model switching, complex test harnesses, and task parking (`paused.md`).
34
+ * **[Tutorial Version Manifest](docs/tutorial-version.json)**: Manifest tracking tutorial compatibility with template versions.
34
35
 
35
36
  ### 2. In-Depth Reference (For Tech Leads & Maintainers)
36
37
  * **[3-Layer Architecture & Context Router (v2.0)](docs/en/reference/architecture.md)**: Deep dive into the 3-layer decoupled architecture, the 11-seed catalog, and the v2.0 Engineering Protocols.
@@ -69,6 +70,13 @@ npx @damphuquy/agent-init . --lang en
69
70
  # Bootstrap into a subfolder/monorepo package
70
71
  npx @damphuquy/agent-init ./services/billing --lang vi
71
72
 
73
+ # Synchronize AGENTS.md rules to Cursor (.cursor/rules), Claude Code (CLAUDE.md), and Windsurf
74
+ npx @damphuquy/agent-init sync .
75
+
76
+ # Verify Gate G2 (whitelisted files defined) or Gate G3 (zero unauthorized file changes)
77
+ npx @damphuquy/agent-init verify-gate G2
78
+ npx @damphuquy/agent-init verify-gate G3
79
+
72
80
  # Force overwrite / Update instruction framework in an existing project
73
81
  npx @damphuquy/agent-init . --force
74
82
  ```
package/README.vi.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-instructions (@damphuquy/agent-init)
2
2
 
3
- > **Hệ thống điều phối và khởi tạo AI Coding Agent v2.0 theo chuẩn RIPER-5**
3
+ > **Hệ thống điều phối và khởi tạo AI Coding Agent v3.0 (AI-Native SDLC / RIPER-5 Framework)**
4
4
 
5
5
  <p align="center">
6
6
  <a href="README.md">English</a> • <b>Tiếng Việt</b>
@@ -8,13 +8,13 @@
8
8
 
9
9
  ---
10
10
 
11
- Hệ thống mẫu (scaffold) điều phối AI Coding Agent theo chuẩn **RIPER-5 Framework v2.0** — phân tách thành ba layer rõ ràng: `AGENTS.md` (cấu hình dự án), `.agents/` (quy chuẩn hành vi của Agent), và `process/` (quy trình thực thi task và kiểm thử).
11
+ Hệ thống mẫu (scaffold) điều phối AI Coding Agent theo chuẩn **AI-Native SDLC (RIPER-5 Framework v3.0)** — phân tách thành ba layer rõ ràng: `AGENTS.md` (cấu hình dự án & nguồn sự thật duy nhất), `.agents/` (quy chuẩn hành vi của Agent), và `process/` (quy trình thực thi task và kiểm thử).
12
12
 
13
- Tích hợp 4 **Giao thức Kỹ thuật v2.0** cốt lõi:
14
- * **Điều phối Subagent v2.0:** Chia lát cắt song song, không xung đột ghi (zero write collision) và đánh thức phản ứng.
15
- * **Quy chuẩn Hiện thực nguồn v2.0:** Kiểm soát kiểu nghiêm ngặt (không `any`), domain thuần khiết, fail-fast tại ranh giới dọn dẹp tài nguyên xác định.
16
- * **Quy chuẩn Lập kế hoạch & Cắt lát v2.0:** Lát cắt dọc theo chuẩn INVEST (2–5 slice/task) với lệnh kiểm chứng tự động bắt buộc.
17
- * **Quy chuẩn Kiểm thử & Test Harness v2.0:** Kim tự tháp kiểm thử xác định với đóng băng thời gian (frozen clocks), fixture factories mock có kiểm soát.
13
+ Tích hợp 4 năng lực **AI-SDLC v3.0** cốt lõi:
14
+ * **Cơ chế Định tuyến Đôi (Adaptive Dual-Track Spec):** Full Track (7 artifacts cho Epic & tính năng phức tạp) và Lite Track (1 artifact `task-lite.md` cho sửa lỗi, micro-task, tiết kiệm hơn 70% chi phí token).
15
+ * **Đồng bộ Đa IDE Toàn diện (`sync`):** Giữ `AGENTS.md` làm Single Source of Truth, tự động ánh xạ sang Cursor (`.cursor/rules/`), Claude Code (`CLAUDE.md`), Windsurf (`.windsurfrules`).
16
+ * **Kiểm soát Phạm vi Xác định (`verify-gate`):** Lệnh CLI tự động kiểm tra `git diff` đối chiếu với danh sách `<allowed_files>` được duyệt nhằm triệt tiêu hoàn toàn code trôi dạt (Zero Scope Creep).
17
+ * **Tích hợp Sâu Model Context Protocol (MCP):** Khai báo tường minh toolchain hướng dẫn agent ưu tiên gọi các công cụ MCP database, git,browser devtools.
18
18
 
19
19
  ```bash
20
20
  # Khởi tạo ngay vào project của bạn (chỉ mất 30 giây)
@@ -28,9 +28,10 @@ npx @damphuquy/agent-init .
28
28
  Tài liệu được thiết kế tối giản, tập trung vào thực hành, không lý thuyết rườm rà:
29
29
 
30
30
  ### 1. Dành cho công việc hằng ngày (Bắt đầu tại đây)
31
- * 📘 **[01 · Hướng dẫn Thực chiến từ A–Z](docs/vi/01-getting-started.md)**: **Tài liệu cốt lõi để bắt đầu trong 10–15 phút**. Hướng dẫn từng bước với **2 ví dụ thực tế liên hoàn** (Task 1 Strict Track $\rightarrow$ Bàn giao $\rightarrow$ Task 2 Fast-Track kế thừa tri thức), prompt mẫu và cách duyệt qua các cổng.
32
- * ⚡ **[02 · Sổ tay Tra cứu Nhanh (Cheat Sheet)](docs/vi/02-cheat-sheet.md)**: Bảng copy-paste prompt mẫu cho từng giai đoạn, bảng 4 cổng kiểm soát (Gates G0–G3), prompt ủy quyền subagent và ma trận giao thức v2.0.
31
+ * 📘 **[01 · Hướng dẫn Thực chiến từ A–Z](docs/vi/01-getting-started.md)**: **Tài liệu cốt lõi để bắt đầu trong 10–15 phút**. Hướng dẫn từng bước với **2 ví dụ thực tế liên hoàn** ( dụ 1 Làn Tinh Gọn sửa bug 5 phút $\rightarrow$ dụ 2 Làn Chuẩn Mực phát triển tính năng với thẩm định độc lập Cross-Harness), prompt mẫu và cách duyệt qua các cổng.
32
+ * ⚡ **[02 · Sổ tay Tra cứu Nhanh (Cheat Sheet)](docs/vi/02-cheat-sheet.md)**: Bảng copy-paste prompt mẫu cho từng giai đoạn, bảng 5 cổng kiểm soát (DoR, Gates G0–G3), lệnh CLI (`sync`, `verify-gate`), và ma trận giao thức v3.0.0.
33
33
  * 🚀 **[03 · Quy trình Nâng cao & Tình huống Thực chiến](docs/vi/03-advanced-workflows.md)**: Các kịch bản production phức tạp: Epic trong `process/features/`, đa lập trình viên đồng thời, xử lý xung đột rebase, hotfix P0 khẩn cấp, quét secret bảo mật, đổi model chat, và đóng băng task dài hạn (`paused.md`).
34
+ * 📋 **[Đăng ký Phiên bản Tutorial](docs/tutorial-version.json)**: Tệp manifest theo dõi tính tương thích giữa tutorial và phiên bản templates.
34
35
 
35
36
  ### 2. Tài liệu Chuyên sâu & Tham khảo (Dành cho Lead / Maintainer)
36
37
  * 🏛️ **[Kiến trúc 3 Tầng & Cơ chế Context Router (v2.0)](docs/vi/reference/architecture.md)**: Giải thích sâu về thiết kế tách rời 3 layer, danh mục 11 seed template và 4 Giao thức Kỹ thuật v2.0.
@@ -69,6 +70,13 @@ npx @damphuquy/agent-init . --lang en
69
70
  # Khởi tạo vào một thư mục con trong monorepo
70
71
  npx @damphuquy/agent-init ./services/billing --lang vi
71
72
 
73
+ # Đồng bộ quy chuẩn từ AGENTS.md sang Cursor (.cursor/rules), Claude Code (CLAUDE.md), và Windsurf
74
+ npx @damphuquy/agent-init sync .
75
+
76
+ # Kiểm tra Cổng Gate G2 (danh sách tệp hợp lệ) hoặc Gate G3 (không sửa file ngoài phạm vi)
77
+ npx @damphuquy/agent-init verify-gate G2
78
+ npx @damphuquy/agent-init verify-gate G3
79
+
72
80
  # Ghi đè / Cập nhật phiên bản mới cho dự án hiện có
73
81
  npx @damphuquy/agent-init . --force
74
82
  ```
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAK9E;AAED,wBAAgB,SAAS,CACvB,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,UAAU,CAsCZ;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzC;AAED,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,aAAa,GAAE,MAAwB,GACtC,OAAO,CAST"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAK9E;AAED,wBAAgB,SAAS,CACvB,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,UAAU,CA6DZ;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAkEzC;AAED,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,aAAa,GAAE,MAAwB,GACtC,OAAO,CAST"}
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import process from 'node:process';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { getPackageInfo } from './config.js';
6
- import { scaffold, updateFramework } from './scaffolder.js';
6
+ import { scaffold, updateFramework, syncIdeConfigs, verifyGate } from './scaffolder.js';
7
7
  import { colors } from './theme.js';
8
8
  import { promptLanguage, renderBanner, showHelp } from './ui.js';
9
9
  export function normalizeLanguage(value) {
@@ -20,6 +20,9 @@ export function parseArgs(argv = process.argv.slice(2)) {
20
20
  let help = false;
21
21
  let version = false;
22
22
  let update = false;
23
+ let sync = false;
24
+ let verifyGateOpt = undefined;
25
+ let taskFile = undefined;
23
26
  let lang = undefined;
24
27
  for (let i = 0; i < argv.length; i++) {
25
28
  const item = argv[i];
@@ -31,6 +34,29 @@ export function parseArgs(argv = process.argv.slice(2)) {
31
34
  i++;
32
35
  }
33
36
  }
37
+ else if (item === 'sync' || item === '--sync') {
38
+ sync = true;
39
+ const nextItem = argv[i + 1];
40
+ if (nextItem && !nextItem.startsWith('-')) {
41
+ targetDir = nextItem;
42
+ i++;
43
+ }
44
+ }
45
+ else if (item === 'verify-gate' || item === 'check-gate' || item === '--verify-gate') {
46
+ const nextItem = argv[i + 1];
47
+ if (nextItem && (nextItem.toUpperCase() === 'G2' || nextItem.toUpperCase() === 'G3')) {
48
+ verifyGateOpt = nextItem.toUpperCase();
49
+ i++;
50
+ const fileItem = argv[i + 1];
51
+ if (fileItem && !fileItem.startsWith('-')) {
52
+ taskFile = fileItem;
53
+ i++;
54
+ }
55
+ }
56
+ else {
57
+ verifyGateOpt = 'G3';
58
+ }
59
+ }
34
60
  else if (item === '--force' || item === '-f') {
35
61
  force = true;
36
62
  }
@@ -55,7 +81,7 @@ export function parseArgs(argv = process.argv.slice(2)) {
55
81
  targetDir = item;
56
82
  }
57
83
  }
58
- return { targetDir, force, help, version, update, lang };
84
+ return { targetDir, force, help, version, update, sync, verifyGate: verifyGateOpt, taskFile, lang };
59
85
  }
60
86
  export async function run() {
61
87
  const options = parseArgs();
@@ -79,6 +105,27 @@ export async function run() {
79
105
  }
80
106
  process.exit(0);
81
107
  }
108
+ if (options.sync) {
109
+ const res = syncIdeConfigs({
110
+ targetDir: options.targetDir,
111
+ force: options.force,
112
+ });
113
+ if (!res.success) {
114
+ process.exit(1);
115
+ }
116
+ process.exit(0);
117
+ }
118
+ if (options.verifyGate) {
119
+ const res = verifyGate({
120
+ gate: options.verifyGate,
121
+ taskFile: options.taskFile,
122
+ targetDir: options.targetDir,
123
+ });
124
+ if (!res.success) {
125
+ process.exit(1);
126
+ }
127
+ process.exit(0);
128
+ }
82
129
  renderBanner(pkgInfo, colors);
83
130
  let chosenLang = options.lang;
84
131
  if (!chosenLang) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAI,GAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,SAAS,GAAG,GAAG,CAAC;IACpB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,aAAa,GAA4B,SAAS,CAAC;IACvD,IAAI,QAAQ,GAAuB,SAAS,CAAC;IAC7C,IAAI,IAAI,GAAkC,SAAS,CAAC;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9D,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,SAAS,GAAG,QAAQ,CAAC;gBACrB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,SAAS,GAAG,QAAQ,CAAC;gBACrB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrF,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAiB,CAAC;gBACtD,CAAC,EAAE,CAAC;gBACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,QAAQ,GAAG,QAAQ,CAAC;oBACpB,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC/C,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,eAAe,CAAC;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,cAAc,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,UAAU,CAAC;YACrB,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAK,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAC3C,aAAa,GAAW,OAAO,IAAI,CAAC,GAAG;IAEvC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,KAAK,GAAG,EAAE,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EA+D9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EA+D9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAAmB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,IAAI,GAAE,iBAAwB,GAAG,SAAS,SAAS,EAAE,CAElF;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED,wBAAgB,cAAc,CAAC,cAAc,GAAE,MAAyB,GAAG,WAAW,CAgBrF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAgE9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAgE9C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAAmB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,IAAI,GAAE,iBAAwB,GAAG,SAAS,SAAS,EAAE,CAElF;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED,wBAAgB,cAAc,CAAC,cAAc,GAAE,MAAyB,GAAG,WAAW,CAgBrF"}
package/dist/config.js CHANGED
@@ -25,7 +25,8 @@ export const FILE_GROUPS_EN = [
25
25
  { path: 'process/README.md', desc: 'Operational Workspace Control Center' },
26
26
  { path: 'process/.editorconfig', desc: 'Consistent editor and format rules for process artifacts' },
27
27
  { path: 'process/_seeds/_GUIDE.md', desc: 'Seed archetypes usage & lifecycle guide' },
28
- { path: 'process/_seeds/task-template.md.seed', desc: 'Task master contract & RIPER-5 execution plan' },
28
+ { path: 'process/_seeds/task-template.md.seed', desc: 'Task master contract & RIPER-5 execution plan (Full Track: 7 artifacts)' },
29
+ { path: 'process/_seeds/task-lite.md.seed', desc: 'Consolidated single-file task contract (Lite Track: 1 artifact)' },
29
30
  { path: 'process/_seeds/context-group.md.seed', desc: 'Research phase artifact blueprint' },
30
31
  { path: 'process/_seeds/decision-template.md.seed', desc: 'Innovate phase artifact & Gate 1 memory' },
31
32
  { path: 'process/_seeds/plan-template.md.seed', desc: 'Plan phase artifact & execution contract (Gate 2)' },
@@ -89,7 +90,8 @@ export const FILE_GROUPS_VI = [
89
90
  { path: 'process/README.md', desc: 'Trung tâm điều phối & vận hành workspace' },
90
91
  { path: 'process/.editorconfig', desc: 'Quy chuẩn định dạng đồng nhất cho artifact' },
91
92
  { path: 'process/_seeds/_GUIDE.md', desc: 'Hướng dẫn sử dụng & vòng đời các tệp mẫu seed' },
92
- { path: 'process/_seeds/task-template.md.seed', desc: 'Hợp đồng master & kế hoạch thực thi RIPER-5' },
93
+ { path: 'process/_seeds/task-template.md.seed', desc: 'Hợp đồng master & kế hoạch thực thi RIPER-5 (Full Track: 7 artifacts)' },
94
+ { path: 'process/_seeds/task-lite.md.seed', desc: 'Hợp đồng task tinh gọn 1 artifact duy nhất (Lite Track: 1 artifact)' },
93
95
  { path: 'process/_seeds/context-group.md.seed', desc: 'Bản thiết kế artifact giai đoạn Khảo sát (Research)' },
94
96
  { path: 'process/_seeds/decision-template.md.seed', desc: 'Artifact giai đoạn Đề xuất (Innovate) & lưu vết Gate 1' },
95
97
  { path: 'process/_seeds/plan-template.md.seed', desc: 'Artifact giai đoạn Kế hoạch (Plan) & hợp đồng Gate 2' },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { ScaffoldOptions, ScaffoldResult, SupportedLanguage, UpdateOptions, UpdateResult } from './types.js';
1
+ import { ScaffoldOptions, ScaffoldResult, SupportedLanguage, UpdateOptions, UpdateResult, SyncOptions, SyncResult, VerifyGateOptions, VerifyGateResult } from './types.js';
2
2
  export declare function resolveTemplatesDir(baseDir?: string, lang?: SupportedLanguage): string;
3
3
  export declare function scaffold(options: ScaffoldOptions): ScaffoldResult;
4
4
  export declare function parseSemver(v: string): [number, number, number];
5
5
  export declare function compareSemver(v1: string, v2: string): number;
6
6
  export declare function fetchLatestNpmVersion(pkgName: string): string | null;
7
7
  export declare function updateFramework(options?: UpdateOptions): UpdateResult;
8
+ export declare function syncIdeConfigs(options?: SyncOptions): SyncResult;
9
+ export declare function parseAllowedFiles(taskContent: string): string[];
10
+ export declare function verifyGate(options: VerifyGateOptions): VerifyGateResult;
8
11
  //# sourceMappingURL=scaffolder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,eAAe,EACf,cAAc,EAEd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,MAAoD,EAC7D,IAAI,GAAE,iBAAwB,GAC7B,MAAM,CAMR;AAgMD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAoDjE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAI/D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAepE;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAiFzE"}
1
+ {"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,eAAe,EACf,cAAc,EAEd,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,MAAoD,EAC7D,IAAI,GAAE,iBAAwB,GAC7B,MAAM,CAMR;AAgMD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAoDjE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAI/D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAepE;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CAiFzE;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,WAAgB,GAAG,UAAU,CAoFpE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAa/D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAyJvE"}
@@ -301,4 +301,238 @@ export function updateFramework(options = {}) {
301
301
  message: noChangeMsg,
302
302
  };
303
303
  }
304
+ export function syncIdeConfigs(options = {}) {
305
+ const { targetDir = '.', cwd = process.cwd(), force = false } = options;
306
+ const resolvedTarget = path.resolve(cwd, targetDir);
307
+ const agentsPath = path.join(resolvedTarget, 'AGENTS.md');
308
+ if (!fs.existsSync(agentsPath)) {
309
+ const msg = `No AGENTS.md found in ${resolvedTarget}. Please initialize the project first using "npx @damphuquy/agent-init .".`;
310
+ console.error(`\n ${colors.badgeError()} ${colors.red(msg)}\n`);
311
+ return {
312
+ success: false,
313
+ syncedFiles: [],
314
+ message: msg,
315
+ };
316
+ }
317
+ const syncedFiles = [];
318
+ // 1. CLAUDE.md
319
+ const claudePath = path.join(resolvedTarget, 'CLAUDE.md');
320
+ const claudeContent = `# Claude Code Instructions
321
+
322
+ > This repository uses the standardized **AGENTS.md** specification (Linux Foundation Agentic AI Foundation).
323
+
324
+ Always adhere to the operational workflows, validation commands, and guardrails defined in:
325
+ - [\`AGENTS.md\`](./AGENTS.md) — Toolchain validation harness & RIPER-5 phase constraints
326
+ - [\`.agents/behavior.md\`](./.agents/behavior.md) — Mode declarations & information priority
327
+ - [\`.agents/guardrails.md\`](./.agents/guardrails.md) — Retry budget (≤ 3) & escalation triggers
328
+ - [\`process/README.md\`](./process/README.md) — Operational workspace control
329
+ `;
330
+ if (!fs.existsSync(claudePath) || force) {
331
+ fs.writeFileSync(claudePath, claudeContent, 'utf8');
332
+ syncedFiles.push('CLAUDE.md');
333
+ }
334
+ // 2. .cursor/rules/agent-instructions.mdc
335
+ const cursorDir = path.join(resolvedTarget, '.cursor', 'rules');
336
+ if (!fs.existsSync(cursorDir)) {
337
+ fs.mkdirSync(cursorDir, { recursive: true });
338
+ }
339
+ const cursorMdcPath = path.join(cursorDir, 'agent-instructions.mdc');
340
+ const cursorContent = `---
341
+ description: Master AI Agent rules, validation harness, and RIPER-5 workflow
342
+ globs: *
343
+ alwaysApply: true
344
+ ---
345
+
346
+ # AI Coding Agent Instructions
347
+
348
+ This repository operates under the **RIPER-5 AI SDLC** framework.
349
+ The master single source of truth is [\`AGENTS.md\`](../../AGENTS.md).
350
+
351
+ Core Rules:
352
+ 1. **Scope Contract:** Strictly verify and obey \`<allowed_files>\` before editing. Never touch forbidden files.
353
+ 2. **Deterministic Harness:** Always run validation commands declared in \`AGENTS.md\` after each change slice.
354
+ 3. **Defense-in-Depth:** Follow the retry budget (≤ 3 attempts per failure signature) in \`.agents/guardrails.md\`.
355
+ `;
356
+ if (!fs.existsSync(cursorMdcPath) || force) {
357
+ fs.writeFileSync(cursorMdcPath, cursorContent, 'utf8');
358
+ syncedFiles.push('.cursor/rules/agent-instructions.mdc');
359
+ }
360
+ // 3. .windsurfrules
361
+ const windsurfPath = path.join(resolvedTarget, '.windsurfrules');
362
+ const windsurfContent = `# Windsurf AI Agent Guidelines
363
+
364
+ This project follows the **AGENTS.md** standard.
365
+ Refer directly to [\`AGENTS.md\`](./AGENTS.md) and [\`.agents/behavior.md\`](./.agents/behavior.md) for toolchain verification commands and execution protocols.
366
+ `;
367
+ if (!fs.existsSync(windsurfPath) || force) {
368
+ fs.writeFileSync(windsurfPath, windsurfContent, 'utf8');
369
+ syncedFiles.push('.windsurfrules');
370
+ }
371
+ console.log(`\n ${colors.teal(colors.bold('MULTI-IDE UNIVERSAL SYNC'))}`);
372
+ for (const f of syncedFiles) {
373
+ console.log(` ${colors.badgeCreated()} ${colors.green(f)}`);
374
+ }
375
+ console.log(` ${colors.dim('Single Source of Truth maintained in:')} ${colors.cyan('AGENTS.md')}\n`);
376
+ return {
377
+ success: true,
378
+ syncedFiles,
379
+ message: `Synchronized ${syncedFiles.length} IDE configuration file(s).`,
380
+ };
381
+ }
382
+ export function parseAllowedFiles(taskContent) {
383
+ const allowedMatch = taskContent.match(/<allowed_files>([\s\S]*?)<\/allowed_files>/i);
384
+ if (!allowedMatch)
385
+ return [];
386
+ const inner = allowedMatch[1];
387
+ const fileMatches = inner.matchAll(/<file>([\s\S]*?)<\/file>/gi);
388
+ const files = [];
389
+ for (const m of fileMatches) {
390
+ const raw = m[1].trim();
391
+ if (raw && !raw.startsWith('[') && !raw.startsWith('<!--')) {
392
+ files.push(raw.replace(/^\.\//, ''));
393
+ }
394
+ }
395
+ return files;
396
+ }
397
+ export function verifyGate(options) {
398
+ const { gate, taskFile, targetDir = '.', cwd = process.cwd() } = options;
399
+ const resolvedTarget = path.resolve(cwd, targetDir);
400
+ let targetTaskPath = taskFile ? path.resolve(resolvedTarget, taskFile) : '';
401
+ if (!targetTaskPath || !fs.existsSync(targetTaskPath)) {
402
+ const searchPatterns = [
403
+ path.join(resolvedTarget, 'process', 'features', 'active'),
404
+ path.join(resolvedTarget, 'process', 'general-plans', 'active'),
405
+ ];
406
+ for (const p of searchPatterns) {
407
+ if (fs.existsSync(p)) {
408
+ const subdirs = fs.readdirSync(p, { withFileTypes: true });
409
+ for (const d of subdirs) {
410
+ if (d.isDirectory()) {
411
+ const candidate1 = path.join(p, d.name, 'plan.md');
412
+ const candidate2 = path.join(p, d.name, 'task-lite.md');
413
+ const candidate3 = path.join(p, d.name, 'task.md');
414
+ if (fs.existsSync(candidate1)) {
415
+ targetTaskPath = candidate1;
416
+ break;
417
+ }
418
+ if (fs.existsSync(candidate2)) {
419
+ targetTaskPath = candidate2;
420
+ break;
421
+ }
422
+ if (fs.existsSync(candidate3)) {
423
+ targetTaskPath = candidate3;
424
+ break;
425
+ }
426
+ }
427
+ }
428
+ if (targetTaskPath)
429
+ break;
430
+ }
431
+ }
432
+ }
433
+ if (!targetTaskPath || !fs.existsSync(targetTaskPath)) {
434
+ const msg = `No active task or plan file found to verify Gate ${gate}.`;
435
+ console.error(`\n ${colors.badgeError()} ${colors.red(msg)}\n`);
436
+ return {
437
+ success: false,
438
+ gate,
439
+ allowedFiles: [],
440
+ violatedFiles: [],
441
+ message: msg,
442
+ };
443
+ }
444
+ const taskContent = fs.readFileSync(targetTaskPath, 'utf8');
445
+ const allowedFiles = parseAllowedFiles(taskContent);
446
+ if (gate === 'G2') {
447
+ if (allowedFiles.length === 0) {
448
+ const msg = `Gate G2 FAILED: No files whitelisted in <allowed_files> within ${path.basename(targetTaskPath)}.`;
449
+ console.error(`\n ${colors.badgeError()} ${colors.red(msg)}\n`);
450
+ return {
451
+ success: false,
452
+ gate: 'G2',
453
+ allowedFiles: [],
454
+ violatedFiles: [],
455
+ message: msg,
456
+ };
457
+ }
458
+ const msg = `Gate G2 PASSED: ${allowedFiles.length} file(s) whitelisted in <allowed_files>.`;
459
+ console.log(`\n ${colors.green(colors.bold(msg))}`);
460
+ for (const f of allowedFiles) {
461
+ console.log(` ${colors.dim('•')} ${colors.cyan(f)}`);
462
+ }
463
+ console.log();
464
+ return {
465
+ success: true,
466
+ gate: 'G2',
467
+ allowedFiles,
468
+ violatedFiles: [],
469
+ message: msg,
470
+ };
471
+ }
472
+ // gate === 'G3'
473
+ const violatedFiles = [];
474
+ try {
475
+ const gitStatus = execSync('git status --porcelain', {
476
+ cwd: resolvedTarget,
477
+ encoding: 'utf8',
478
+ stdio: ['pipe', 'pipe', 'ignore'],
479
+ });
480
+ const lines = gitStatus.split('\n');
481
+ for (const line of lines) {
482
+ const trimmed = line.trim();
483
+ if (!trimmed)
484
+ continue;
485
+ const filePathPart = trimmed.slice(2).trim();
486
+ const actualFile = filePathPart.includes('->')
487
+ ? filePathPart.split('->')[1].trim()
488
+ : filePathPart;
489
+ const normalizedPath = actualFile.replace(/^\.\//, '');
490
+ if (normalizedPath.startsWith('process/') ||
491
+ normalizedPath.startsWith('.agents/') ||
492
+ normalizedPath === 'instruction-version.json' ||
493
+ normalizedPath === 'CLAUDE.md' ||
494
+ normalizedPath === '.windsurfrules' ||
495
+ normalizedPath.startsWith('.cursor/')) {
496
+ continue;
497
+ }
498
+ const isAllowed = allowedFiles.some(af => {
499
+ if (af.endsWith('/**')) {
500
+ const prefix = af.slice(0, -3);
501
+ return normalizedPath.startsWith(prefix);
502
+ }
503
+ return af === normalizedPath || normalizedPath.endsWith(af);
504
+ });
505
+ if (!isAllowed) {
506
+ violatedFiles.push(normalizedPath);
507
+ }
508
+ }
509
+ }
510
+ catch {
511
+ // Git not available or not a repository
512
+ }
513
+ if (violatedFiles.length > 0) {
514
+ const msg = `Gate G3 FAILED: ${violatedFiles.length} file(s) modified outside <allowed_files>.`;
515
+ console.error(`\n ${colors.badgeError()} ${colors.red(colors.bold(msg))}`);
516
+ for (const vf of violatedFiles) {
517
+ console.error(` ${colors.red('✖ Out-of-scope modification:')} ${vf}`);
518
+ }
519
+ console.error();
520
+ return {
521
+ success: false,
522
+ gate: 'G3',
523
+ allowedFiles,
524
+ violatedFiles,
525
+ message: msg,
526
+ };
527
+ }
528
+ const msg = `Gate G3 PASSED: Zero unauthorized file modifications.`;
529
+ console.log(`\n ${colors.green(colors.bold(msg))}\n`);
530
+ return {
531
+ success: true,
532
+ gate: 'G3',
533
+ allowedFiles,
534
+ violatedFiles: [],
535
+ message: msg,
536
+ };
537
+ }
304
538
  //# sourceMappingURL=scaffolder.js.map