@damphuquy/agent-init 2.2.0 → 2.3.0
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.
- package/README.md +17 -2
- package/README.vi.md +17 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/scaffolder.d.ts +5 -1
- package/dist/scaffolder.d.ts.map +1 -1
- package/dist/scaffolder.js +148 -4
- package/dist/scaffolder.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +5 -0
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/templates/en/.agents/behavior.md +9 -0
- package/templates/en/AGENTS.md +3 -0
- package/templates/en/instruction-version.json +69 -0
- package/templates/vi/.agents/behavior.md +9 -0
- package/templates/vi/AGENTS.md +3 -0
- package/templates/vi/instruction-version.json +69 -0
package/README.md
CHANGED
|
@@ -69,11 +69,26 @@ npx @damphuquy/agent-init . --lang en
|
|
|
69
69
|
# Bootstrap into a subfolder/monorepo package
|
|
70
70
|
npx @damphuquy/agent-init ./services/billing --lang vi
|
|
71
71
|
|
|
72
|
-
# Force overwrite existing
|
|
72
|
+
# Force overwrite / Update instruction framework in an existing project
|
|
73
73
|
npx @damphuquy/agent-init . --force
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
### 🔄 Framework Versioning & Upgrades (`instruction-version.json`)
|
|
77
|
+
Every bootstrapped project includes an [`instruction-version.json`](instruction-version.json) manifest at its root:
|
|
78
|
+
* **Version Tracking:** Records the framework version (`version`), RIPER-5 specification (`frameworkVersion`), language (`language`), and installation/update timestamps (`installedAt`, `updatedAt`).
|
|
79
|
+
* **Safe Upgrade Strategy:** Clarifies which files are safe to overwrite (`safeToOverwrite`: `.agents/`, `process/_seeds/`, `process/context/`, `process/development-protocols/`) versus project-specific assets to preserve (`preserveUserFiles`: toolchain commands in `AGENTS.md`, active & backlog tasks in `process/features/`, `process/general-plans/`).
|
|
80
|
+
* **Checking & Upgrading:**
|
|
81
|
+
```bash
|
|
82
|
+
# Check for newer version and upgrade automatically (outputs "nothing changed" if up-to-date)
|
|
83
|
+
npx @damphuquy/agent-init update
|
|
84
|
+
|
|
85
|
+
# Or force overwrite with latest published version
|
|
86
|
+
npx @damphuquy/agent-init@latest . --force
|
|
87
|
+
```
|
|
88
|
+
* **AI Prompt Slash Command `/update`:**
|
|
89
|
+
While working in your project, simply prompt `/update` (or `/upgrade`). The AI Agent inspects `instruction-version.json`, queries the registry: if a newer version is available, it updates instructions and preserves custom project settings; if already on the latest version, it replies `"nothing changed"`.
|
|
90
|
+
|
|
91
|
+
> 💡 **Quick Task Tip**: Once installed, you can trigger automatic task creation directly via prompt pseudo-slash commands (e.g., `/feature <name>`, `/task <name>`, `/hotfix <name>`, `/update`) without manual copying!
|
|
77
92
|
|
|
78
93
|
---
|
|
79
94
|
|
package/README.vi.md
CHANGED
|
@@ -69,11 +69,26 @@ npx @damphuquy/agent-init . --lang en
|
|
|
69
69
|
# Khởi tạo vào một thư mục con trong monorepo
|
|
70
70
|
npx @damphuquy/agent-init ./services/billing --lang vi
|
|
71
71
|
|
|
72
|
-
# Ghi đè
|
|
72
|
+
# Ghi đè / Cập nhật phiên bản mới cho dự án hiện có
|
|
73
73
|
npx @damphuquy/agent-init . --force
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
### 🔄 Quản lý và Cập nhật Phiên bản (`instruction-version.json`)
|
|
77
|
+
Mỗi dự án sau khi khởi tạo đều sở hữu tệp [`instruction-version.json`](instruction-version.json) ở thư mục gốc:
|
|
78
|
+
* **Theo dõi phiên bản:** Lưu trữ phiên bản framework (`version`), chuẩn RIPER-5 (`frameworkVersion`), ngôn ngữ (`language`) và mốc thời gian cài đặt/cập nhật (`installedAt`, `updatedAt`).
|
|
79
|
+
* **Chiến lược cập nhật an toàn:** Định nghĩa rõ danh mục file an toàn để ghi đè cập nhật (`safeToOverwrite` như `.agents/`, `process/_seeds/`, `process/context/`, `process/development-protocols/`) và các file đặc thù dự án luôn được giữ gìn (`preserveUserFiles` như lệnh kiểm thử trong `AGENTS.md`, các task đang chạy trong `process/features/`, `process/general-plans/`).
|
|
80
|
+
* **Lệnh kiểm tra & nâng cấp:**
|
|
81
|
+
```bash
|
|
82
|
+
# Tự động kiểm tra bản mới và nâng cấp (nếu đang ở bản mới nhất thì báo "nothing changed")
|
|
83
|
+
npx @damphuquy/agent-init update
|
|
84
|
+
|
|
85
|
+
# Hoặc ghi đè cưỡng bức bằng bản mới nhất
|
|
86
|
+
npx @damphuquy/agent-init@latest . --force
|
|
87
|
+
```
|
|
88
|
+
* **Lệnh gạch chéo `/update` qua Prompt AI:**
|
|
89
|
+
Khi đang làm việc trong dự án, bạn chỉ cần gõ prompt `/update` (hoặc `/upgrade`). AI Agent sẽ tự động kiểm tra phiên bản mới từ registry: nếu có bản mới thì tự động cập nhật và báo cáo, nếu không có bản mới hơn thì phản hồi `"nothing changed"`.
|
|
90
|
+
|
|
91
|
+
> 💡 **Mẹo Tạo Task Nhanh**: Sau khi cài đặt, bạn có thể kích hoạt tạo task tự động trực tiếp bằng câu lệnh giả lập (pseudo-slash commands) trong prompt (ví dụ: `/feature <tên>`, `/task <tên>`, `/hotfix <tên>`, `/update`) mà không cần sao chép file thủ công!
|
|
77
92
|
|
|
78
93
|
---
|
|
79
94
|
|
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,
|
|
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"}
|
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 } from './scaffolder.js';
|
|
6
|
+
import { scaffold, updateFramework } 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) {
|
|
@@ -19,10 +19,19 @@ export function parseArgs(argv = process.argv.slice(2)) {
|
|
|
19
19
|
let force = false;
|
|
20
20
|
let help = false;
|
|
21
21
|
let version = false;
|
|
22
|
+
let update = false;
|
|
22
23
|
let lang = undefined;
|
|
23
24
|
for (let i = 0; i < argv.length; i++) {
|
|
24
25
|
const item = argv[i];
|
|
25
|
-
if (item === '--
|
|
26
|
+
if (item === 'update' || item === '--update' || item === '-u') {
|
|
27
|
+
update = true;
|
|
28
|
+
const nextItem = argv[i + 1];
|
|
29
|
+
if (nextItem && !nextItem.startsWith('-')) {
|
|
30
|
+
targetDir = nextItem;
|
|
31
|
+
i++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (item === '--force' || item === '-f') {
|
|
26
35
|
force = true;
|
|
27
36
|
}
|
|
28
37
|
else if (item === '--help' || item === '-h') {
|
|
@@ -46,7 +55,7 @@ export function parseArgs(argv = process.argv.slice(2)) {
|
|
|
46
55
|
targetDir = item;
|
|
47
56
|
}
|
|
48
57
|
}
|
|
49
|
-
return { targetDir, force, help, version, lang };
|
|
58
|
+
return { targetDir, force, help, version, update, lang };
|
|
50
59
|
}
|
|
51
60
|
export async function run() {
|
|
52
61
|
const options = parseArgs();
|
|
@@ -59,6 +68,17 @@ export async function run() {
|
|
|
59
68
|
console.log(`${pkgInfo.name} v${pkgInfo.version}`);
|
|
60
69
|
process.exit(0);
|
|
61
70
|
}
|
|
71
|
+
if (options.update) {
|
|
72
|
+
const res = updateFramework({
|
|
73
|
+
targetDir: options.targetDir,
|
|
74
|
+
lang: options.lang,
|
|
75
|
+
force: options.force,
|
|
76
|
+
});
|
|
77
|
+
if (!res.success) {
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
process.exit(0);
|
|
81
|
+
}
|
|
62
82
|
renderBanner(pkgInfo, colors);
|
|
63
83
|
let chosenLang = options.lang;
|
|
64
84
|
if (!chosenLang) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/config.js
CHANGED
|
@@ -7,6 +7,7 @@ export const FILE_GROUPS_EN = [
|
|
|
7
7
|
title: 'Core Agent Manual & Entry Point',
|
|
8
8
|
files: [
|
|
9
9
|
{ path: 'AGENTS.md', desc: 'Master Agent Manual (4 Pillars & RIPER-5 Loop)' },
|
|
10
|
+
{ path: 'instruction-version.json', desc: 'Instruction framework version manifest for updates & compatibility' },
|
|
10
11
|
],
|
|
11
12
|
},
|
|
12
13
|
{
|
|
@@ -70,6 +71,7 @@ export const FILE_GROUPS_VI = [
|
|
|
70
71
|
title: 'Điểm khởi đầu & Cẩm nang Agent (Core Agent Manual)',
|
|
71
72
|
files: [
|
|
72
73
|
{ path: 'AGENTS.md', desc: 'Cẩm nang điều phối Agent (4 Trụ cột & Chu trình RIPER-5)' },
|
|
74
|
+
{ path: 'instruction-version.json', desc: 'Tệp định danh phiên bản quy chuẩn chỉ dẫn phục vụ cập nhật' },
|
|
73
75
|
],
|
|
74
76
|
},
|
|
75
77
|
{
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD;QACE,KAAK,EAAE,iCAAiC;QACxC,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gDAAgD,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffolder.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { ScaffoldOptions, ScaffoldResult, SupportedLanguage } from './types.js';
|
|
1
|
+
import { ScaffoldOptions, ScaffoldResult, SupportedLanguage, UpdateOptions, UpdateResult } from './types.js';
|
|
2
2
|
export declare function resolveTemplatesDir(baseDir?: string, lang?: SupportedLanguage): string;
|
|
3
3
|
export declare function scaffold(options: ScaffoldOptions): ScaffoldResult;
|
|
4
|
+
export declare function parseSemver(v: string): [number, number, number];
|
|
5
|
+
export declare function compareSemver(v1: string, v2: string): number;
|
|
6
|
+
export declare function fetchLatestNpmVersion(pkgName: string): string | null;
|
|
7
|
+
export declare function updateFramework(options?: UpdateOptions): UpdateResult;
|
|
4
8
|
//# sourceMappingURL=scaffolder.d.ts.map
|
package/dist/scaffolder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/scaffolder.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
+
import { execSync } from 'node:child_process';
|
|
4
5
|
import { getFileGroups, getPackageInfo, getPackageRoot } from './config.js';
|
|
5
6
|
import { colors } from './theme.js';
|
|
6
7
|
import { renderBanner, renderBox } from './ui.js';
|
|
@@ -36,7 +37,7 @@ function ensureDirectory(dirPath, dirs) {
|
|
|
36
37
|
}
|
|
37
38
|
dirs.add(dirPath);
|
|
38
39
|
}
|
|
39
|
-
function processFileItem(item, templatesDir, resolvedTarget, force, stats) {
|
|
40
|
+
function processFileItem(item, templatesDir, resolvedTarget, force, stats, lang) {
|
|
40
41
|
const srcPath = path.join(templatesDir, item.path);
|
|
41
42
|
const destPath = path.join(resolvedTarget, item.path);
|
|
42
43
|
const destDir = path.dirname(destPath);
|
|
@@ -51,15 +52,47 @@ function processFileItem(item, templatesDir, resolvedTarget, force, stats) {
|
|
|
51
52
|
stats.skipped++;
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
55
|
+
if (item.path === 'instruction-version.json') {
|
|
56
|
+
try {
|
|
57
|
+
const raw = fs.readFileSync(srcPath, 'utf8');
|
|
58
|
+
const parsed = JSON.parse(raw);
|
|
59
|
+
const pkgInfo = getPackageInfo();
|
|
60
|
+
parsed.version = pkgInfo.version;
|
|
61
|
+
parsed.language = lang;
|
|
62
|
+
const now = new Date().toISOString();
|
|
63
|
+
if (fs.existsSync(destPath)) {
|
|
64
|
+
try {
|
|
65
|
+
const oldDest = JSON.parse(fs.readFileSync(destPath, 'utf8'));
|
|
66
|
+
if (oldDest.installedAt) {
|
|
67
|
+
parsed.installedAt = oldDest.installedAt;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// ignore error reading old file
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
parsed.installedAt = now;
|
|
76
|
+
}
|
|
77
|
+
parsed.updatedAt = now;
|
|
78
|
+
fs.writeFileSync(destPath, JSON.stringify(parsed, null, 2) + '\n', 'utf8');
|
|
79
|
+
console.log(` ${colors.badgeCreated()} ${colors.fg(colors.bold(displayRelPath))}${desc}`);
|
|
80
|
+
stats.created++;
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// fallback to regular copy if anything fails
|
|
85
|
+
}
|
|
86
|
+
}
|
|
54
87
|
fs.copyFileSync(srcPath, destPath);
|
|
55
88
|
console.log(` ${colors.badgeCreated()} ${colors.fg(colors.bold(displayRelPath))}${desc}`);
|
|
56
89
|
stats.created++;
|
|
57
90
|
}
|
|
58
|
-
function processFileGroups(groups, templatesDir, resolvedTarget, force, stats) {
|
|
91
|
+
function processFileGroups(groups, templatesDir, resolvedTarget, force, stats, lang) {
|
|
59
92
|
for (const group of groups) {
|
|
60
93
|
console.log(` ${colors.teal(colors.bold(group.title))}`);
|
|
61
94
|
for (const item of group.files) {
|
|
62
|
-
processFileItem(item, templatesDir, resolvedTarget, force, stats);
|
|
95
|
+
processFileItem(item, templatesDir, resolvedTarget, force, stats, lang);
|
|
63
96
|
}
|
|
64
97
|
console.log();
|
|
65
98
|
}
|
|
@@ -88,6 +121,7 @@ function printNextSteps(targetDir, lang) {
|
|
|
88
121
|
const agentsPath = path.join(relPathPrefix, 'AGENTS.md');
|
|
89
122
|
const seedTaskPath = path.join(relPathPrefix, 'process/_seeds/task-template.md.seed');
|
|
90
123
|
const activePlanPath = path.join(relPathPrefix, 'process/general-plans/active/01-init_PLAN.md');
|
|
124
|
+
const versionPath = path.join(relPathPrefix, 'instruction-version.json');
|
|
91
125
|
if (lang === 'vi') {
|
|
92
126
|
const nextStepLines = [
|
|
93
127
|
`${colors.cyan(colors.bold('1. Cấu hình Lệnh Kiểm Tra:'))}`,
|
|
@@ -99,6 +133,9 @@ function printNextSteps(targetDir, lang) {
|
|
|
99
133
|
'',
|
|
100
134
|
`${colors.cyan(colors.bold('3. Kích Hoạt AI Coding Agent:'))}`,
|
|
101
135
|
` Chỉ định Agent đọc ${colors.green(agentsPath)} và bắt đầu thực thi.`,
|
|
136
|
+
'',
|
|
137
|
+
`${colors.cyan(colors.bold('4. Quản Lý & Cập Nhật Phiên Bản:'))}`,
|
|
138
|
+
` Theo dõi và kiểm tra nâng cấp quy chuẩn chỉ dẫn qua tệp ${colors.green(versionPath)}.`,
|
|
102
139
|
];
|
|
103
140
|
console.log(renderBox(nextStepLines, colors, { title: colors.purple(colors.bold('CÁC BƯỚC TIẾP THEO')) }));
|
|
104
141
|
console.log();
|
|
@@ -114,6 +151,9 @@ function printNextSteps(targetDir, lang) {
|
|
|
114
151
|
'',
|
|
115
152
|
`${colors.cyan(colors.bold('3. Activate AI Coding Agent:'))}`,
|
|
116
153
|
` Direct your agent to read ${colors.green(agentsPath)} and begin execution.`,
|
|
154
|
+
'',
|
|
155
|
+
`${colors.cyan(colors.bold('4. Manage Version & Updates:'))}`,
|
|
156
|
+
` Track and upgrade instruction framework via ${colors.green(versionPath)}.`,
|
|
117
157
|
];
|
|
118
158
|
console.log(renderBox(nextStepLines, colors, { title: colors.purple(colors.bold('NEXT STEPS')) }));
|
|
119
159
|
console.log();
|
|
@@ -143,7 +183,7 @@ export function scaffold(options) {
|
|
|
143
183
|
console.log();
|
|
144
184
|
const fileGroups = getFileGroups(lang);
|
|
145
185
|
const stats = { created: 0, skipped: 0, dirs: new Set() };
|
|
146
|
-
processFileGroups(fileGroups, templatesDir, resolvedTarget, force, stats);
|
|
186
|
+
processFileGroups(fileGroups, templatesDir, resolvedTarget, force, stats, lang);
|
|
147
187
|
printSummary(stats, lang);
|
|
148
188
|
printNextSteps(targetDir, lang);
|
|
149
189
|
return {
|
|
@@ -157,4 +197,108 @@ export function scaffold(options) {
|
|
|
157
197
|
lang,
|
|
158
198
|
};
|
|
159
199
|
}
|
|
200
|
+
export function parseSemver(v) {
|
|
201
|
+
const cleaned = v.replace(/^v/, '').trim();
|
|
202
|
+
const parts = cleaned.split('.').map((p) => parseInt(p, 10) || 0);
|
|
203
|
+
return [parts[0] ?? 0, parts[1] ?? 0, parts[2] ?? 0];
|
|
204
|
+
}
|
|
205
|
+
export function compareSemver(v1, v2) {
|
|
206
|
+
const [maj1, min1, pat1] = parseSemver(v1);
|
|
207
|
+
const [maj2, min2, pat2] = parseSemver(v2);
|
|
208
|
+
if (maj1 !== maj2)
|
|
209
|
+
return maj1 > maj2 ? 1 : -1;
|
|
210
|
+
if (min1 !== min2)
|
|
211
|
+
return min1 > min2 ? 1 : -1;
|
|
212
|
+
if (pat1 !== pat2)
|
|
213
|
+
return pat1 > pat2 ? 1 : -1;
|
|
214
|
+
return 0;
|
|
215
|
+
}
|
|
216
|
+
export function fetchLatestNpmVersion(pkgName) {
|
|
217
|
+
try {
|
|
218
|
+
const stdout = execSync(`npm view ${pkgName} version`, {
|
|
219
|
+
encoding: 'utf8',
|
|
220
|
+
stdio: ['pipe', 'pipe', 'ignore'],
|
|
221
|
+
timeout: 5000,
|
|
222
|
+
});
|
|
223
|
+
const ver = stdout.trim();
|
|
224
|
+
if (ver && /^\d+\.\d+\.\d+/.test(ver)) {
|
|
225
|
+
return ver;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
// Network failure or package not found
|
|
230
|
+
}
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
export function updateFramework(options = {}) {
|
|
234
|
+
const { targetDir = '.', cwd = process.cwd(), force = false, mockLatestVersion, } = options;
|
|
235
|
+
const resolvedTarget = path.resolve(cwd, targetDir);
|
|
236
|
+
const versionPath = path.join(resolvedTarget, 'instruction-version.json');
|
|
237
|
+
if (!fs.existsSync(versionPath)) {
|
|
238
|
+
const msg = `No instruction-version.json found at ${resolvedTarget}. Please initialize first with "npx @damphuquy/agent-init .".`;
|
|
239
|
+
console.error(`\n ${colors.badgeError()} ${colors.red(msg)}\n`);
|
|
240
|
+
return {
|
|
241
|
+
success: false,
|
|
242
|
+
updated: false,
|
|
243
|
+
currentVersion: 'unknown',
|
|
244
|
+
latestVersion: 'unknown',
|
|
245
|
+
message: msg,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
let currentVersion = '0.0.0';
|
|
249
|
+
let targetLang = options.lang ?? 'en';
|
|
250
|
+
try {
|
|
251
|
+
const raw = fs.readFileSync(versionPath, 'utf8');
|
|
252
|
+
const parsed = JSON.parse(raw);
|
|
253
|
+
if (parsed.version)
|
|
254
|
+
currentVersion = parsed.version;
|
|
255
|
+
if (!options.lang && (parsed.language === 'vi' || parsed.language === 'en')) {
|
|
256
|
+
targetLang = parsed.language;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
// ignore parse error
|
|
261
|
+
}
|
|
262
|
+
const pkgInfo = getPackageInfo();
|
|
263
|
+
const latestVersion = mockLatestVersion ?? fetchLatestNpmVersion(pkgInfo.name) ?? pkgInfo.version;
|
|
264
|
+
const cmp = compareSemver(latestVersion, currentVersion);
|
|
265
|
+
if (cmp > 0 || force) {
|
|
266
|
+
const scaffoldRes = scaffold({
|
|
267
|
+
targetDir: resolvedTarget,
|
|
268
|
+
force: true,
|
|
269
|
+
lang: targetLang,
|
|
270
|
+
cwd,
|
|
271
|
+
skipBanner: true,
|
|
272
|
+
});
|
|
273
|
+
if (scaffoldRes.success) {
|
|
274
|
+
const successMsg = targetLang === 'vi'
|
|
275
|
+
? `Đã cập nhật thành công quy chuẩn chỉ dẫn từ v${currentVersion} lên v${latestVersion}.`
|
|
276
|
+
: `Successfully updated instruction framework from v${currentVersion} to v${latestVersion}.`;
|
|
277
|
+
console.log(`\n ${colors.green(colors.bold(successMsg))}\n`);
|
|
278
|
+
return {
|
|
279
|
+
success: true,
|
|
280
|
+
updated: true,
|
|
281
|
+
currentVersion,
|
|
282
|
+
latestVersion,
|
|
283
|
+
message: successMsg,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
success: false,
|
|
288
|
+
updated: false,
|
|
289
|
+
currentVersion,
|
|
290
|
+
latestVersion,
|
|
291
|
+
message: 'Scaffold update failed',
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
const noChangeMsg = 'nothing changed';
|
|
295
|
+
console.log(noChangeMsg);
|
|
296
|
+
return {
|
|
297
|
+
success: true,
|
|
298
|
+
updated: false,
|
|
299
|
+
currentVersion,
|
|
300
|
+
latestVersion,
|
|
301
|
+
message: noChangeMsg,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
160
304
|
//# sourceMappingURL=scaffolder.js.map
|
package/dist/scaffolder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -64,6 +64,7 @@ export interface CliOptions {
|
|
|
64
64
|
readonly force: boolean;
|
|
65
65
|
readonly help: boolean;
|
|
66
66
|
readonly version: boolean;
|
|
67
|
+
readonly update: boolean;
|
|
67
68
|
readonly lang?: SupportedLanguage;
|
|
68
69
|
}
|
|
69
70
|
export interface ScaffoldStats {
|
|
@@ -89,4 +90,18 @@ export interface ScaffoldResult {
|
|
|
89
90
|
readonly targetPath: string;
|
|
90
91
|
readonly lang: SupportedLanguage;
|
|
91
92
|
}
|
|
93
|
+
export interface UpdateOptions {
|
|
94
|
+
readonly targetDir?: string;
|
|
95
|
+
readonly cwd?: string;
|
|
96
|
+
readonly lang?: SupportedLanguage;
|
|
97
|
+
readonly force?: boolean;
|
|
98
|
+
readonly mockLatestVersion?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface UpdateResult {
|
|
101
|
+
readonly success: boolean;
|
|
102
|
+
readonly updated: boolean;
|
|
103
|
+
readonly currentVersion: string;
|
|
104
|
+
readonly latestVersion: string;
|
|
105
|
+
readonly message: string;
|
|
106
|
+
}
|
|
92
107
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AAEzC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,UAAe,GACvB,MAAM,CAwCR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAS5E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC1D;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoCpF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,UAAe,GACvB,MAAM,CAwCR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAS5E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC1D;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoCpF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAoCxE"}
|
package/dist/ui.js
CHANGED
|
@@ -120,12 +120,14 @@ export function showHelp(pkgInfo, colors) {
|
|
|
120
120
|
renderBanner(pkgInfo, colors);
|
|
121
121
|
console.log(colors.purple(colors.bold(' USAGE')));
|
|
122
122
|
console.log(` ${colors.cyan('$')} ${colors.green('npx @damphuquy/agent-init')} ${colors.dim('[target_directory]')} ${colors.yellow('[options]')}`);
|
|
123
|
+
console.log(` ${colors.cyan('$')} ${colors.green('npx @damphuquy/agent-init update')} ${colors.dim('[target_directory]')} ${colors.yellow('[options]')}`);
|
|
123
124
|
console.log(` ${colors.cyan('$')} ${colors.green('node dist/cli.js')} ${colors.dim('[target_directory]')} ${colors.yellow('[options]')}`);
|
|
124
125
|
console.log();
|
|
125
126
|
console.log(colors.purple(colors.bold(' ARGUMENTS')));
|
|
126
127
|
console.log(` ${colors.cyan('target_directory')} Destination path for workspace ${colors.comment('(default: .)')}`);
|
|
127
128
|
console.log();
|
|
128
129
|
console.log(colors.purple(colors.bold(' OPTIONS')));
|
|
130
|
+
console.log(` ${colors.yellow('-u, --update')} Check for newer framework version and update, or output 'nothing changed'`);
|
|
129
131
|
console.log(` ${colors.yellow('-l, --lang <en|vi>')} Template language: 'en' / 'eng' (English) or 'vi' (Tiếng Việt)`);
|
|
130
132
|
console.log(` ${colors.yellow('-f, --force')} Overwrite existing files if already present`);
|
|
131
133
|
console.log(` ${colors.yellow('-h, --help')} Display this help documentation`);
|
|
@@ -141,6 +143,9 @@ export function showHelp(pkgInfo, colors) {
|
|
|
141
143
|
console.log(` ${colors.comment('# Bootstrap directly with English templates:')}`);
|
|
142
144
|
console.log(` ${colors.cyan('$')} npx @damphuquy/agent-init . --lang en`);
|
|
143
145
|
console.log();
|
|
146
|
+
console.log(` ${colors.comment('# Check for newer framework version and update existing project:')}`);
|
|
147
|
+
console.log(` ${colors.cyan('$')} npx @damphuquy/agent-init update .`);
|
|
148
|
+
console.log();
|
|
144
149
|
console.log(` ${colors.comment('# Scaffold into a specific project:')}`);
|
|
145
150
|
console.log(` ${colors.cyan('$')} npx @damphuquy/agent-init ./services/ai-agent --lang vi`);
|
|
146
151
|
console.log();
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -74,9 +74,18 @@ In continuous autonomous execution (DELEGATED / Fast-Track), the agent opens wit
|
|
|
74
74
|
| **`process/general-plans/active/{task-slug}/`** | `/task`<br>`/small-task`<br>`/bug`<br>`/quick-fix` | `small task`, `general changes`, `small changes`, `bug fix`, `quick fix` | Standalone tasks, quick bug fixes, general adjustments (< 5 files). Default mode: **PAIR**. |
|
|
75
75
|
| **`process/general-plans/active/{task-slug}/`** | `/hotfix` | `hotfix`, `emergency fix`, `production bug` | Emergency production fix. Auto-activates **DELEGATED / Fast-Track** mode (auto-certifies G0–G2, pauses only at G3). |
|
|
76
76
|
| *(Scope-derived)* | `/fast-track`<br>`/delegated`<br>`/auto` | `fast-track`, `autonomous`, `auto-advance`, `skip permissions` | Full autonomous execution. Sets `<working_mode>DELEGATED</working_mode>` and runs continuously through all phases. |
|
|
77
|
+
| *(Framework Maintenance)* | `/update`<br>`/upgrade` | `update instructions`, `upgrade framework`, `check updates` | Maintenance protocol: queries remote registry for a newer framework version. If a newer version exists, updates the instructions framework while preserving user configs (`preserveUserFiles`) and updates `instruction-version.json`. If already on the latest version, outputs `"nothing changed"`. |
|
|
77
78
|
|
|
78
79
|
*Fallback Rule:* If no explicit keyword or slash command is found in the prompt, infer from scope (< 5 files or localized fix $\rightarrow$ `general-plans/`; new capability or multi-module impact $\rightarrow$ `features/`).
|
|
79
80
|
|
|
81
|
+
### Framework Update Protocol (`/update`):
|
|
82
|
+
When the prompt begins with `/update` or `/upgrade` (or user asks to update instructions/framework):
|
|
83
|
+
1. **Inspect Local Version:** Read `instruction-version.json` at workspace root to inspect current `version`, `language`, and `updateStrategy`.
|
|
84
|
+
2. **Query Latest Version:** Query the registry (e.g. `npm view @damphuquy/agent-init version` or execute `npx @damphuquy/agent-init update`).
|
|
85
|
+
3. **Conditional Update:**
|
|
86
|
+
- **If newer version found:** Execute framework update (e.g. `npx @damphuquy/agent-init update` or `npx @damphuquy/agent-init@latest . --force`), preserving project-specific files defined in `preserveUserFiles` (`AGENTS.md#validation_commands`, active tasks). Update `instruction-version.json` timestamp and version. Report upgrade details.
|
|
87
|
+
- **If no newer version (already up to date):** Respond directly with `"nothing changed"` (e.g. `nothing changed: instruction framework is already at the latest version vX.Y.Z`) and make no file changes.
|
|
88
|
+
|
|
80
89
|
### Automated Scaffolding & Activation Steps:
|
|
81
90
|
1. **Derive Slug:** Generate a concise, kebab-case `{task-slug}` from the prompt (e.g., `CHG-001-change-password`, `AUTH-002-rate-limiting`, or `{TICKET-ID}-{slug}`).
|
|
82
91
|
2. **Create Directory:** Create `process/features/active/{task-slug}` or `process/general-plans/active/{task-slug}`.
|
package/templates/en/AGENTS.md
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
This file ONLY contains what is unique to this project: toolchain commands,
|
|
12
12
|
architecture guardrail calibration, and path references.
|
|
13
|
+
Framework versioning and update procedures are managed via [`instruction-version.json`](instruction-version.json).
|
|
13
14
|
</overview>
|
|
14
15
|
|
|
15
16
|
---
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
|
|
22
23
|
| File | What it governs |
|
|
23
24
|
|------|----------------|
|
|
25
|
+
| [`instruction-version.json`](instruction-version.json) | Framework version manifest, compatibility, and update strategy |
|
|
24
26
|
| [`.agents/behavior.md`](.agents/behavior.md) | Mode declaration, session startup, context priority |
|
|
25
27
|
| [`.agents/guardrails.md`](.agents/guardrails.md) | Retry budget, escalation triggers, completion gate |
|
|
26
28
|
| [`.agents/conventions/naming.md`](.agents/conventions/naming.md) | Naming and structural hygiene |
|
|
@@ -41,6 +43,7 @@
|
|
|
41
43
|
- Commands `/task`, `/small-task`, `/bug` or keywords `small task`, `general changes`, `small changes`: routes to `process/general-plans/active/{task-slug}/task.md` (PAIR mode).
|
|
42
44
|
- Command `/hotfix`: routes to `process/general-plans/active/{task-slug}/task.md` and runs in DELEGATED mode.
|
|
43
45
|
- Commands `/fast-track`, `/delegated`: executes autonomously through all phases.
|
|
46
|
+
- Command `/update`: checks for a new framework version (via `instruction-version.json` and registry); updates instructions if a newer version exists, or outputs "nothing changed" if already on the latest version.
|
|
44
47
|
The Agent creates the directory, hydrates `<goal>` and `<acceptance_criteria>` from the prompt, and initiates the RESEARCH phase immediately.</rule>
|
|
45
48
|
<rule>Define changes via Goal, Current Behavior, Expected Behavior, Invariants, and `<out_of_scope>`.</rule>
|
|
46
49
|
<rule>Acceptance Criteria (AC) must be unambiguous, verifiable markdown checkboxes (`- [ ]`).</rule>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"name": "@damphuquy/agent-init",
|
|
4
|
+
"version": "2.2.0",
|
|
5
|
+
"framework": "RIPER-5",
|
|
6
|
+
"frameworkVersion": "2.0.0",
|
|
7
|
+
"language": "en",
|
|
8
|
+
"description": "Instruction and governance template manifest for AI coding agents and operational workspace.",
|
|
9
|
+
"installedAt": "2026-09-08T00:00:00.000Z",
|
|
10
|
+
"updatedAt": "2026-09-08T00:00:00.000Z",
|
|
11
|
+
"manifest": {
|
|
12
|
+
"core": [
|
|
13
|
+
"AGENTS.md",
|
|
14
|
+
"instruction-version.json"
|
|
15
|
+
],
|
|
16
|
+
"controlLayer": [
|
|
17
|
+
".agents/README.md",
|
|
18
|
+
".agents/behavior.md",
|
|
19
|
+
".agents/guardrails.md",
|
|
20
|
+
".agents/conventions/naming.md"
|
|
21
|
+
],
|
|
22
|
+
"seeds": [
|
|
23
|
+
"process/_seeds/_GUIDE.md",
|
|
24
|
+
"process/_seeds/task-template.md.seed",
|
|
25
|
+
"process/_seeds/context-group.md.seed",
|
|
26
|
+
"process/_seeds/decision-template.md.seed",
|
|
27
|
+
"process/_seeds/plan-template.md.seed",
|
|
28
|
+
"process/_seeds/state-template.md.seed",
|
|
29
|
+
"process/_seeds/review-template.md.seed",
|
|
30
|
+
"process/_seeds/handoff-template.md.seed",
|
|
31
|
+
"process/_seeds/cancellation-template.md.seed",
|
|
32
|
+
"process/_seeds/pause-template.md.seed",
|
|
33
|
+
"process/_seeds/results-template.tsv.seed",
|
|
34
|
+
"process/_seeds/program-template.md.seed"
|
|
35
|
+
],
|
|
36
|
+
"context": [
|
|
37
|
+
"process/context/all-context.md",
|
|
38
|
+
"process/context/planning/all-planning.md",
|
|
39
|
+
"process/context/tests/all-tests.md"
|
|
40
|
+
],
|
|
41
|
+
"protocols": [
|
|
42
|
+
"process/development-protocols/all-development-protocols.md",
|
|
43
|
+
"process/development-protocols/orchestration.md",
|
|
44
|
+
"process/development-protocols/implementation-standards.md"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"updateStrategy": {
|
|
48
|
+
"slashCommand": "/update",
|
|
49
|
+
"checkCommand": "npm view @damphuquy/agent-init version",
|
|
50
|
+
"updateCommand": "npx @damphuquy/agent-init update",
|
|
51
|
+
"forceUpdateCommand": "npx @damphuquy/agent-init@latest . --force",
|
|
52
|
+
"preserveUserFiles": [
|
|
53
|
+
"AGENTS.md#validation_commands",
|
|
54
|
+
"process/features/**",
|
|
55
|
+
"process/general-plans/**"
|
|
56
|
+
],
|
|
57
|
+
"safeToOverwrite": [
|
|
58
|
+
".agents/**",
|
|
59
|
+
"process/_seeds/**",
|
|
60
|
+
"process/context/**",
|
|
61
|
+
"process/development-protocols/**",
|
|
62
|
+
"instruction-version.json"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"repository": {
|
|
66
|
+
"type": "git",
|
|
67
|
+
"url": "https://github.com/DamPhuQuy/agent-instructions"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -74,9 +74,18 @@ Trong chế độ chạy liên tục (DELEGATED / Fast-Track), Agent mở đầu
|
|
|
74
74
|
| **`process/general-plans/active/{task-slug}/`** | `/task`<br>`/small-task`<br>`/bug`<br>`/quick-fix` | `small task`, `general changes`, `small changes`, `bug fix`, `quick fix` (hoặc: `task nhỏ`, `thay đổi chung`, `thay đổi nhỏ`, `sửa lỗi`) | Tác vụ độc lập, sửa bug nhanh, thay đổi nhỏ (< 5 files). Chế độ mặc định: **PAIR**. |
|
|
75
75
|
| **`process/general-plans/active/{task-slug}/`** | `/hotfix` | `hotfix`, `khẩn cấp`, `emergency fix` | Sửa lỗi khẩn cấp production. Tự động kích hoạt chế độ **DELEGATED / Fast-Track** (vượt tự động G0–G2, dừng ở G3). |
|
|
76
76
|
| *(Theo phạm vi)* | `/fast-track`<br>`/delegated`<br>`/auto` | `fast-track`, `autonomous`, `tự động chạy`, `skip permissions` | Chạy tự trị hoàn toàn. Tự động đặt `<working_mode>DELEGATED</working_mode>` và thực thi liên tục qua toàn bộ chu trình. |
|
|
77
|
+
| *(Bảo trì Framework)* | `/update`<br>`/upgrade` | `update instructions`, `cập nhật instruction`, `nâng cấp framework`, `kiểm tra bản mới` | Giao thức bảo trì: kiểm tra phiên bản framework mới nhất từ registry. Nếu phát hiện version mới hơn, cập nhật bộ quy chuẩn chỉ dẫn (bảo toàn tệp cấu hình dự án `preserveUserFiles`) và cập nhật `instruction-version.json`. Nếu đang ở bản mới nhất, thông báo `"nothing changed"`. |
|
|
77
78
|
|
|
78
79
|
*Quy tắc suy luận dự phòng (Fallback):* Nếu prompt không chứa từ khóa hay slash command rõ ràng, Agent tự động ước lượng quy mô công việc (< 5 files hoặc sửa lỗi cục bộ $\rightarrow$ `general-plans/`; tính năng mới hoặc ảnh hưởng diện rộng $\rightarrow$ `features/`).
|
|
79
80
|
|
|
81
|
+
### Giao Thức Cập Nhật Framework (`/update`):
|
|
82
|
+
Khi prompt bắt đầu bằng lệnh `/update` hoặc `/upgrade` (hoặc người dùng yêu cầu cập nhật instruction/framework):
|
|
83
|
+
1. **Đọc phiên bản hiện hành:** Đọc tệp `instruction-version.json` tại thư mục gốc của dự án để lấy `version`, `language`, và `updateStrategy`.
|
|
84
|
+
2. **Tra cứu phiên bản mới:** Kiểm tra phiên bản mới nhất trên registry (`npm view @damphuquy/agent-init version` hoặc chạy lệnh `npx @damphuquy/agent-init update`).
|
|
85
|
+
3. **Xử lý có điều kiện:**
|
|
86
|
+
- **Nếu có phiên bản mới hơn:** Chạy lệnh cập nhật (ví dụ: `npx @damphuquy/agent-init update` hoặc `npx @damphuquy/agent-init@latest . --force`), bảo toàn các tệp dự án theo danh mục `preserveUserFiles` trong `instruction-version.json` (như lệnh test trong `AGENTS.md`, các task đang làm). Cập nhật `version` và `updatedAt` trong `instruction-version.json`. Báo cáo tóm tắt nâng cấp từ bản cũ lên bản mới.
|
|
87
|
+
- **Nếu không có bản mới hơn (đang là mới nhất):** Phản hồi trực tiếp `"nothing changed"` (ví dụ: `nothing changed: quy chuẩn chỉ dẫn đang ở phiên bản mới nhất vX.Y.Z`) và tuyệt đối không sửa đổi file nào.
|
|
88
|
+
|
|
80
89
|
### Quy Trình Khởi Tạo & Kích Hoạt Tự Động:
|
|
81
90
|
1. **Đặt tên slug:** Đặt `{task-slug}` ngắn gọn, chuẩn kebab-case dựa theo yêu cầu (ví dụ: `CHG-001-change-password`, `AUTH-002-rate-limiting`, hoặc `{TICKET-ID}-{slug}`).
|
|
82
91
|
2. **Tạo thư mục:** Tạo thư mục `process/features/active/{task-slug}` hoặc `process/general-plans/active/{task-slug}`.
|
package/templates/vi/AGENTS.md
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
Tệp này CHỈ chứa những gì đặc thù của dự án: lệnh kiểm thử/build,
|
|
12
12
|
hiệu chỉnh ranh giới kiến trúc và tham chiếu đường dẫn.
|
|
13
|
+
Phiên bản framework và quy trình cập nhật chỉ dẫn được quản lý qua [`instruction-version.json`](instruction-version.json).
|
|
13
14
|
</overview>
|
|
14
15
|
|
|
15
16
|
---
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
|
|
22
23
|
| Tệp | Phạm vi quản lý |
|
|
23
24
|
|-----|----------------|
|
|
25
|
+
| [`instruction-version.json`](instruction-version.json) | Định danh phiên bản framework, tính tương thích và chiến lược cập nhật |
|
|
24
26
|
| [`.agents/behavior.md`](.agents/behavior.md) | Khai báo chế độ (Mode), khởi động session, thứ tự ưu tiên ngữ cảnh |
|
|
25
27
|
| [`.agents/guardrails.md`](.agents/guardrails.md) | Ngân sách thử lại (Retry budget), điều kiện kích hoạt dừng khẩn cấp, cổng hoàn thành |
|
|
26
28
|
| [`.agents/conventions/naming.md`](.agents/conventions/naming.md) | Quy chuẩn đặt tên và vệ sinh cấu trúc mã nguồn |
|
|
@@ -41,6 +43,7 @@
|
|
|
41
43
|
- Cú pháp `/task`, `/small-task`, `/bug` hoặc các từ khóa `small task`, `general changes`, `small changes`: định tuyến vào `process/general-plans/active/{task-slug}/task.md` (chế độ PAIR).
|
|
42
44
|
- Cú pháp `/hotfix`: định tuyến vào `process/general-plans/active/{task-slug}/task.md` và chạy chế độ DELEGATED.
|
|
43
45
|
- Cú pháp `/fast-track`, `/delegated`: chạy tự trị liên tục qua toàn bộ chu trình.
|
|
46
|
+
- Cú pháp `/update`: kiểm tra phiên bản mới của quy chuẩn chỉ dẫn (qua `instruction-version.json` và registry); nếu có phiên bản mới thì thực hiện cập nhật và bảo toàn cấu hình dự án, nếu không có phiên bản mới hơn thì thông báo "nothing changed".
|
|
44
47
|
Agent tự tạo thư mục, điền mục tiêu & tiêu chí AC từ prompt vào `task.md` và bắt đầu ngay pha RESEARCH.</rule>
|
|
45
48
|
<rule>Định nghĩa thay đổi thông qua Mục tiêu (Goal), Hành vi hiện tại (Current Behavior), Hành vi kỳ vọng (Expected Behavior), Bất biến (Invariants) và Ngoài phạm vi (`<out_of_scope>`).</rule>
|
|
46
49
|
<rule>Tiêu chí nghiệm thu (Acceptance Criteria - AC) phải rõ ràng, kiểm chứng được dưới dạng checkbox markdown (`- [ ]`).</rule>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"name": "@damphuquy/agent-init",
|
|
4
|
+
"version": "2.2.0",
|
|
5
|
+
"framework": "RIPER-5",
|
|
6
|
+
"frameworkVersion": "2.0.0",
|
|
7
|
+
"language": "vi",
|
|
8
|
+
"description": "Tệp định danh và kiểm soát phiên bản quy chuẩn chỉ dẫn (instructions) cho AI Coding Agents và Workspace.",
|
|
9
|
+
"installedAt": "2026-09-08T00:00:00.000Z",
|
|
10
|
+
"updatedAt": "2026-09-08T00:00:00.000Z",
|
|
11
|
+
"manifest": {
|
|
12
|
+
"core": [
|
|
13
|
+
"AGENTS.md",
|
|
14
|
+
"instruction-version.json"
|
|
15
|
+
],
|
|
16
|
+
"controlLayer": [
|
|
17
|
+
".agents/README.md",
|
|
18
|
+
".agents/behavior.md",
|
|
19
|
+
".agents/guardrails.md",
|
|
20
|
+
".agents/conventions/naming.md"
|
|
21
|
+
],
|
|
22
|
+
"seeds": [
|
|
23
|
+
"process/_seeds/_GUIDE.md",
|
|
24
|
+
"process/_seeds/task-template.md.seed",
|
|
25
|
+
"process/_seeds/context-group.md.seed",
|
|
26
|
+
"process/_seeds/decision-template.md.seed",
|
|
27
|
+
"process/_seeds/plan-template.md.seed",
|
|
28
|
+
"process/_seeds/state-template.md.seed",
|
|
29
|
+
"process/_seeds/review-template.md.seed",
|
|
30
|
+
"process/_seeds/handoff-template.md.seed",
|
|
31
|
+
"process/_seeds/cancellation-template.md.seed",
|
|
32
|
+
"process/_seeds/pause-template.md.seed",
|
|
33
|
+
"process/_seeds/results-template.tsv.seed",
|
|
34
|
+
"process/_seeds/program-template.md.seed"
|
|
35
|
+
],
|
|
36
|
+
"context": [
|
|
37
|
+
"process/context/all-context.md",
|
|
38
|
+
"process/context/planning/all-planning.md",
|
|
39
|
+
"process/context/tests/all-tests.md"
|
|
40
|
+
],
|
|
41
|
+
"protocols": [
|
|
42
|
+
"process/development-protocols/all-development-protocols.md",
|
|
43
|
+
"process/development-protocols/orchestration.md",
|
|
44
|
+
"process/development-protocols/implementation-standards.md"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"updateStrategy": {
|
|
48
|
+
"slashCommand": "/update",
|
|
49
|
+
"checkCommand": "npm view @damphuquy/agent-init version",
|
|
50
|
+
"updateCommand": "npx @damphuquy/agent-init update --lang vi",
|
|
51
|
+
"forceUpdateCommand": "npx @damphuquy/agent-init@latest . --lang vi --force",
|
|
52
|
+
"preserveUserFiles": [
|
|
53
|
+
"AGENTS.md#validation_commands",
|
|
54
|
+
"process/features/**",
|
|
55
|
+
"process/general-plans/**"
|
|
56
|
+
],
|
|
57
|
+
"safeToOverwrite": [
|
|
58
|
+
".agents/**",
|
|
59
|
+
"process/_seeds/**",
|
|
60
|
+
"process/context/**",
|
|
61
|
+
"process/development-protocols/**",
|
|
62
|
+
"instruction-version.json"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"repository": {
|
|
66
|
+
"type": "git",
|
|
67
|
+
"url": "https://github.com/DamPhuQuy/agent-instructions"
|
|
68
|
+
}
|
|
69
|
+
}
|