@damphuquy/agent-init 1.3.0 → 1.4.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.
- package/README.md +8 -2
- package/README.vi.md +8 -2
- package/dist/cli.d.ts +4 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +49 -5
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +71 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/scaffolder.d.ts +2 -1
- package/dist/scaffolder.d.ts.map +1 -1
- package/dist/scaffolder.js +64 -12
- package/dist/scaffolder.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts +3 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +71 -6
- package/dist/ui.js.map +1 -1
- package/package.json +2 -2
- package/templates/en/process/.editorconfig +15 -0
- package/templates/{process → en/process}/README.md +10 -2
- package/templates/{process → en/process}/_seeds/_GUIDE.md +37 -8
- package/templates/en/process/_seeds/cancellation-template.md.seed +79 -0
- package/templates/en/process/_seeds/results-template.tsv.seed +5 -0
- package/templates/{process → en/process}/context/all-context.md +6 -0
- package/templates/en/process/context/tests/all-tests.md +56 -0
- package/templates/vi/.agents/README.md +29 -0
- package/templates/vi/.agents/behavior.md +72 -0
- package/templates/vi/.agents/conventions/naming.md +55 -0
- package/templates/vi/.agents/guardrails.md +113 -0
- package/templates/vi/AGENTS.md +133 -0
- package/templates/vi/process/.editorconfig +15 -0
- package/templates/vi/process/README.md +150 -0
- package/templates/vi/process/_seeds/_GUIDE.md +170 -0
- package/templates/vi/process/_seeds/cancellation-template.md.seed +79 -0
- package/templates/vi/process/_seeds/context-group.md.seed +154 -0
- package/templates/vi/process/_seeds/decision-template.md.seed +143 -0
- package/templates/vi/process/_seeds/handoff-template.md.seed +79 -0
- package/templates/vi/process/_seeds/plan-template.md.seed +135 -0
- package/templates/vi/process/_seeds/program-template.md.seed +56 -0
- package/templates/vi/process/_seeds/results-template.tsv.seed +5 -0
- package/templates/vi/process/_seeds/review-template.md.seed +149 -0
- package/templates/vi/process/_seeds/state-template.md.seed +149 -0
- package/templates/vi/process/_seeds/task-template.md.seed +196 -0
- package/templates/vi/process/context/all-context.md +53 -0
- package/templates/vi/process/context/planning/all-planning.md +31 -0
- package/templates/vi/process/context/tests/all-tests.md +56 -0
- package/templates/vi/process/development-protocols/all-development-protocols.md +27 -0
- package/templates/vi/process/development-protocols/implementation-standards.md +28 -0
- package/templates/vi/process/development-protocols/orchestration.md +24 -0
- package/templates/vi/process/features/active/.gitkeep +0 -0
- package/templates/vi/process/features/backlog/.gitkeep +0 -0
- package/templates/vi/process/features/completed/.gitkeep +0 -0
- package/templates/vi/process/general-plans/active/.gitkeep +0 -0
- package/templates/vi/process/general-plans/backlog/.gitkeep +0 -0
- package/templates/vi/process/general-plans/completed/.gitkeep +0 -0
- /package/templates/{.agents → en/.agents}/README.md +0 -0
- /package/templates/{.agents → en/.agents}/behavior.md +0 -0
- /package/templates/{.agents → en/.agents}/conventions/naming.md +0 -0
- /package/templates/{.agents → en/.agents}/guardrails.md +0 -0
- /package/templates/{AGENTS.md → en/AGENTS.md} +0 -0
- /package/templates/{process → en/process}/_seeds/context-group.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/decision-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/handoff-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/plan-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/program-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/review-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/state-template.md.seed +0 -0
- /package/templates/{process → en/process}/_seeds/task-template.md.seed +0 -0
- /package/templates/{process → en/process}/context/planning/all-planning.md +0 -0
- /package/templates/{process → en/process}/development-protocols/all-development-protocols.md +0 -0
- /package/templates/{process → en/process}/development-protocols/implementation-standards.md +0 -0
- /package/templates/{process → en/process}/development-protocols/orchestration.md +0 -0
- /package/templates/{process → en/process}/features/active/.gitkeep +0 -0
- /package/templates/{process → en/process}/features/backlog/.gitkeep +0 -0
- /package/templates/{process → en/process}/features/completed/.gitkeep +0 -0
- /package/templates/{process → en/process}/general-plans/active/.gitkeep +0 -0
- /package/templates/{process → en/process}/general-plans/backlog/.gitkeep +0 -0
- /package/templates/{process → en/process}/general-plans/completed/.gitkeep +0 -0
package/README.md
CHANGED
|
@@ -50,11 +50,17 @@ Designed for minimal overhead, practical focus, and zero fluff:
|
|
|
50
50
|
## 📦 NPX CLI Commands
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
# Bootstrap in current directory
|
|
53
|
+
# Bootstrap in current directory (interactive prompt: choose English or Tiếng Việt)
|
|
54
54
|
npx @damphuquy/agent-init .
|
|
55
55
|
|
|
56
|
+
# Bootstrap directly with Vietnamese templates
|
|
57
|
+
npx @damphuquy/agent-init . --lang vi
|
|
58
|
+
|
|
59
|
+
# Bootstrap directly with English templates
|
|
60
|
+
npx @damphuquy/agent-init . --lang en
|
|
61
|
+
|
|
56
62
|
# Bootstrap into a subfolder/monorepo package
|
|
57
|
-
npx @damphuquy/agent-init ./services/billing
|
|
63
|
+
npx @damphuquy/agent-init ./services/billing --lang vi
|
|
58
64
|
|
|
59
65
|
# Force overwrite existing scaffold files
|
|
60
66
|
npx @damphuquy/agent-init . --force
|
package/README.vi.md
CHANGED
|
@@ -50,11 +50,17 @@ Tài liệu được thiết kế tối giản, tập trung vào thực hành, k
|
|
|
50
50
|
## 📦 Các Lệnh NPX CLI Tiện ích
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
# Khởi tạo tại thư mục hiện tại
|
|
53
|
+
# Khởi tạo tại thư mục hiện tại (tự động hỏi chọn templates English hoặc Tiếng Việt)
|
|
54
54
|
npx @damphuquy/agent-init .
|
|
55
55
|
|
|
56
|
+
# Khởi tạo trực tiếp với bộ templates Tiếng Việt
|
|
57
|
+
npx @damphuquy/agent-init . --lang vi
|
|
58
|
+
|
|
59
|
+
# Khởi tạo trực tiếp với bộ templates Tiếng Anh
|
|
60
|
+
npx @damphuquy/agent-init . --lang en
|
|
61
|
+
|
|
56
62
|
# Khởi tạo vào một thư mục con trong monorepo
|
|
57
|
-
npx @damphuquy/agent-init ./services/billing
|
|
63
|
+
npx @damphuquy/agent-init ./services/billing --lang vi
|
|
58
64
|
|
|
59
65
|
# Ghi đè file nếu đã tồn tại
|
|
60
66
|
npx @damphuquy/agent-init . --force
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { CliOptions } from './types.js';
|
|
2
|
+
import { CliOptions, SupportedLanguage } from './types.js';
|
|
3
|
+
export declare function normalizeLanguage(value: string): SupportedLanguage | undefined;
|
|
3
4
|
export declare function parseArgs(argv?: readonly string[]): CliOptions;
|
|
4
|
-
export declare function run(): void
|
|
5
|
+
export declare function run(): Promise<void>;
|
|
6
|
+
export declare function isEntrypoint(argv1?: string | undefined, importMetaUrl?: string): boolean;
|
|
5
7
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
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,CA8BZ;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BzC;AAED,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,aAAa,GAAE,MAAwB,GACtC,OAAO,CAST"}
|
package/dist/cli.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import path from 'node:path';
|
|
2
3
|
import process from 'node:process';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
3
5
|
import { getPackageInfo } from './config.js';
|
|
4
6
|
import { scaffold } from './scaffolder.js';
|
|
5
7
|
import { colors } from './theme.js';
|
|
6
|
-
import { showHelp } from './ui.js';
|
|
8
|
+
import { promptLanguage, renderBanner, showHelp } from './ui.js';
|
|
9
|
+
export function normalizeLanguage(value) {
|
|
10
|
+
const v = value.trim().toLowerCase();
|
|
11
|
+
if (v === 'en' || v === 'eng' || v === 'english')
|
|
12
|
+
return 'en';
|
|
13
|
+
if (v === 'vi' || v === 'vie' || v === 'vietnamese' || v === 'tiengviet' || v === 'tiếngviệt')
|
|
14
|
+
return 'vi';
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
7
17
|
export function parseArgs(argv = process.argv.slice(2)) {
|
|
8
18
|
let targetDir = '.';
|
|
9
19
|
let force = false;
|
|
10
20
|
let help = false;
|
|
11
21
|
let version = false;
|
|
12
|
-
|
|
22
|
+
let lang = undefined;
|
|
23
|
+
for (let i = 0; i < argv.length; i++) {
|
|
24
|
+
const item = argv[i];
|
|
13
25
|
if (item === '--force' || item === '-f') {
|
|
14
26
|
force = true;
|
|
15
27
|
}
|
|
@@ -19,13 +31,24 @@ export function parseArgs(argv = process.argv.slice(2)) {
|
|
|
19
31
|
else if (item === '--version' || item === '-v') {
|
|
20
32
|
version = true;
|
|
21
33
|
}
|
|
34
|
+
else if (item === '--lang' || item === '-l') {
|
|
35
|
+
const nextItem = argv[i + 1];
|
|
36
|
+
if (nextItem && !nextItem.startsWith('-')) {
|
|
37
|
+
lang = normalizeLanguage(nextItem);
|
|
38
|
+
i++;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else if (item.startsWith('--lang=')) {
|
|
42
|
+
const val = item.slice('--lang='.length);
|
|
43
|
+
lang = normalizeLanguage(val);
|
|
44
|
+
}
|
|
22
45
|
else if (!item.startsWith('-')) {
|
|
23
46
|
targetDir = item;
|
|
24
47
|
}
|
|
25
48
|
}
|
|
26
|
-
return { targetDir, force, help, version };
|
|
49
|
+
return { targetDir, force, help, version, lang };
|
|
27
50
|
}
|
|
28
|
-
export function run() {
|
|
51
|
+
export async function run() {
|
|
29
52
|
const options = parseArgs();
|
|
30
53
|
const pkgInfo = getPackageInfo();
|
|
31
54
|
if (options.help) {
|
|
@@ -36,13 +59,34 @@ export function run() {
|
|
|
36
59
|
console.log(`${pkgInfo.name} v${pkgInfo.version}`);
|
|
37
60
|
process.exit(0);
|
|
38
61
|
}
|
|
62
|
+
renderBanner(pkgInfo, colors);
|
|
63
|
+
let chosenLang = options.lang;
|
|
64
|
+
if (!chosenLang) {
|
|
65
|
+
chosenLang = await promptLanguage(colors);
|
|
66
|
+
}
|
|
39
67
|
const result = scaffold({
|
|
40
68
|
targetDir: options.targetDir,
|
|
41
69
|
force: options.force,
|
|
70
|
+
lang: chosenLang,
|
|
71
|
+
skipBanner: true,
|
|
42
72
|
});
|
|
43
73
|
if (!result.success) {
|
|
44
74
|
process.exit(1);
|
|
45
75
|
}
|
|
46
76
|
}
|
|
47
|
-
|
|
77
|
+
export function isEntrypoint(argv1 = process.argv[1], importMetaUrl = import.meta.url) {
|
|
78
|
+
try {
|
|
79
|
+
if (!argv1)
|
|
80
|
+
return false;
|
|
81
|
+
const currentFile = fileURLToPath(importMetaUrl);
|
|
82
|
+
const invokedFile = path.resolve(argv1);
|
|
83
|
+
return currentFile === invokedFile || invokedFile.endsWith('bin/bootstrap.js') || invokedFile.endsWith('agent-init');
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (isEntrypoint()) {
|
|
90
|
+
void run();
|
|
91
|
+
}
|
|
48
92
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { FileGroup, PackageInfo } from './types.js';
|
|
1
|
+
import { FileGroup, PackageInfo, SupportedLanguage } from './types.js';
|
|
2
|
+
export declare const FILE_GROUPS_EN: readonly FileGroup[];
|
|
3
|
+
export declare const FILE_GROUPS_VI: readonly FileGroup[];
|
|
2
4
|
export declare const FILE_GROUPS: readonly FileGroup[];
|
|
5
|
+
export declare function getFileGroups(lang?: SupportedLanguage): readonly FileGroup[];
|
|
3
6
|
export declare function getPackageRoot(): string;
|
|
4
7
|
export declare function getPackageInfo(packageRootDir?: string): PackageInfo;
|
|
5
8
|
//# sourceMappingURL=config.d.ts.map
|
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,MAAM,YAAY,CAAC;
|
|
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,EA6D9C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EA6D9C,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
|
@@ -2,7 +2,7 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import process from 'node:process';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
export const
|
|
5
|
+
export const FILE_GROUPS_EN = [
|
|
6
6
|
{
|
|
7
7
|
title: 'Core Agent Manual & Entry Point',
|
|
8
8
|
files: [
|
|
@@ -22,6 +22,7 @@ export const FILE_GROUPS = [
|
|
|
22
22
|
title: 'Operational Workspace Control & Seeds (_seeds/)',
|
|
23
23
|
files: [
|
|
24
24
|
{ path: 'process/README.md', desc: 'Operational Workspace Control Center' },
|
|
25
|
+
{ path: 'process/.editorconfig', desc: 'Consistent editor and format rules for process artifacts' },
|
|
25
26
|
{ path: 'process/_seeds/_GUIDE.md', desc: 'Seed archetypes usage & lifecycle guide' },
|
|
26
27
|
{ path: 'process/_seeds/task-template.md.seed', desc: 'Task master contract & RIPER-5 execution plan' },
|
|
27
28
|
{ path: 'process/_seeds/context-group.md.seed', desc: 'Research phase artifact blueprint' },
|
|
@@ -30,6 +31,8 @@ export const FILE_GROUPS = [
|
|
|
30
31
|
{ path: 'process/_seeds/state-template.md.seed', desc: 'Execute loop persistent memory' },
|
|
31
32
|
{ path: 'process/_seeds/review-template.md.seed', desc: 'Review phase artifact & Gate 3' },
|
|
32
33
|
{ path: 'process/_seeds/handoff-template.md.seed', desc: 'Final projection (intentionally short)' },
|
|
34
|
+
{ path: 'process/_seeds/cancellation-template.md.seed', desc: 'Knowledge-preserving task cancellation record' },
|
|
35
|
+
{ path: 'process/_seeds/results-template.tsv.seed', desc: 'Benchmark & quantitative metrics evaluation registry' },
|
|
33
36
|
{ path: 'process/_seeds/program-template.md.seed', desc: 'Multi-phase umbrella epic blueprint' },
|
|
34
37
|
],
|
|
35
38
|
},
|
|
@@ -38,6 +41,7 @@ export const FILE_GROUPS = [
|
|
|
38
41
|
files: [
|
|
39
42
|
{ path: 'process/context/all-context.md', desc: 'Root context & knowledge routing registry' },
|
|
40
43
|
{ path: 'process/context/planning/all-planning.md', desc: 'INVEST criteria & vertical slicing standards' },
|
|
44
|
+
{ path: 'process/context/tests/all-tests.md', desc: 'Test pyramid, isolation policies, and harness strategy' },
|
|
41
45
|
],
|
|
42
46
|
},
|
|
43
47
|
{
|
|
@@ -60,6 +64,72 @@ export const FILE_GROUPS = [
|
|
|
60
64
|
],
|
|
61
65
|
},
|
|
62
66
|
];
|
|
67
|
+
export const FILE_GROUPS_VI = [
|
|
68
|
+
{
|
|
69
|
+
title: 'Điểm khởi đầu & Cẩm nang Agent (Core Agent Manual)',
|
|
70
|
+
files: [
|
|
71
|
+
{ path: 'AGENTS.md', desc: 'Cẩm nang điều phối Agent (4 Trụ cột & Chu trình RIPER-5)' },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
title: 'Tầng Điều khiển Agent (.agents/)',
|
|
76
|
+
files: [
|
|
77
|
+
{ path: '.agents/README.md', desc: 'Mục lục tầng điều khiển & tuyên bố ranh giới' },
|
|
78
|
+
{ path: '.agents/behavior.md', desc: 'Khai báo mode, khởi động session, nạp ngữ cảnh' },
|
|
79
|
+
{ path: '.agents/guardrails.md', desc: 'Ngân sách thử lại, dừng khẩn cấp, cổng hoàn thành' },
|
|
80
|
+
{ path: '.agents/conventions/naming.md', desc: 'Quy chuẩn đặt tên & vệ sinh mã nguồn' },
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
title: 'Trung tâm Vận hành & Mẫu chuẩn (_seeds/)',
|
|
85
|
+
files: [
|
|
86
|
+
{ path: 'process/README.md', desc: 'Trung tâm điều phối & vận hành workspace' },
|
|
87
|
+
{ path: 'process/.editorconfig', desc: 'Quy chuẩn định dạng đồng nhất cho artifact' },
|
|
88
|
+
{ path: 'process/_seeds/_GUIDE.md', desc: 'Hướng dẫn sử dụng & vòng đời các tệp mẫu seed' },
|
|
89
|
+
{ path: 'process/_seeds/task-template.md.seed', desc: 'Hợp đồng master & kế hoạch thực thi RIPER-5' },
|
|
90
|
+
{ path: 'process/_seeds/context-group.md.seed', desc: 'Bản thiết kế artifact giai đoạn Khảo sát (Research)' },
|
|
91
|
+
{ path: 'process/_seeds/decision-template.md.seed', desc: 'Artifact giai đoạn Đề xuất (Innovate) & lưu vết Gate 1' },
|
|
92
|
+
{ path: 'process/_seeds/plan-template.md.seed', desc: 'Artifact giai đoạn Kế hoạch (Plan) & hợp đồng Gate 2' },
|
|
93
|
+
{ path: 'process/_seeds/state-template.md.seed', desc: 'Bộ nhớ bền vững trong vòng lặp thực thi (Execute)' },
|
|
94
|
+
{ path: 'process/_seeds/review-template.md.seed', desc: 'Artifact giai đoạn Nghiệm thu (Review) & Gate 3' },
|
|
95
|
+
{ path: 'process/_seeds/handoff-template.md.seed', desc: 'Tóm tắt bàn giao cuối cùng (ngắn gọn)' },
|
|
96
|
+
{ path: 'process/_seeds/cancellation-template.md.seed', desc: 'Biên bản hủy task & lưu giữ tri thức' },
|
|
97
|
+
{ path: 'process/_seeds/results-template.tsv.seed', desc: 'Bảng theo dõi số liệu benchmark & định lượng' },
|
|
98
|
+
{ path: 'process/_seeds/program-template.md.seed', desc: 'Bản thiết kế chương trình lớn nhiều giai đoạn' },
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
title: 'Định tuyến Ngữ cảnh & Quy chuẩn Kế hoạch (context/)',
|
|
103
|
+
files: [
|
|
104
|
+
{ path: 'process/context/all-context.md', desc: 'Router định tuyến ngữ cảnh & tri thức gốc' },
|
|
105
|
+
{ path: 'process/context/planning/all-planning.md', desc: 'Tiêu chuẩn INVEST & quy tắc cắt lát dọc' },
|
|
106
|
+
{ path: 'process/context/tests/all-tests.md', desc: 'Kim tự tháp test, chính sách cách ly & chiến lược harness' },
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: 'Giao thức Kỹ thuật & Khung thực thi (development-protocols/)',
|
|
111
|
+
files: [
|
|
112
|
+
{ path: 'process/development-protocols/all-development-protocols.md', desc: 'Mục lục giao thức phát triển' },
|
|
113
|
+
{ path: 'process/development-protocols/orchestration.md', desc: 'Quy tắc phân công & cách ly subagent' },
|
|
114
|
+
{ path: 'process/development-protocols/implementation-standards.md', desc: 'Chuẩn kiểu dữ liệu nghiêm ngặt & domain thuần khiết' },
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
title: 'Đường ống Vòng đời & Thư mục Task (process/)',
|
|
119
|
+
files: [
|
|
120
|
+
{ path: 'process/features/active/.gitkeep', desc: 'Pipeline task tính năng đang làm' },
|
|
121
|
+
{ path: 'process/features/backlog/.gitkeep', desc: 'Pipeline tồn đọng & ghi chú tính năng' },
|
|
122
|
+
{ path: 'process/features/completed/.gitkeep', desc: 'Kho lưu trữ tính năng đã hoàn thành' },
|
|
123
|
+
{ path: 'process/general-plans/active/.gitkeep', desc: 'Pipeline kế hoạch chung đang làm' },
|
|
124
|
+
{ path: 'process/general-plans/backlog/.gitkeep', desc: 'Pipeline tồn đọng kế hoạch chung' },
|
|
125
|
+
{ path: 'process/general-plans/completed/.gitkeep', desc: 'Kho lưu trữ kế hoạch chung đã hoàn thành' },
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
export const FILE_GROUPS = FILE_GROUPS_EN;
|
|
130
|
+
export function getFileGroups(lang = 'en') {
|
|
131
|
+
return lang === 'vi' ? FILE_GROUPS_VI : FILE_GROUPS_EN;
|
|
132
|
+
}
|
|
63
133
|
export function getPackageRoot() {
|
|
64
134
|
try {
|
|
65
135
|
const currentFilePath = fileURLToPath(import.meta.url);
|
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,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/scaffolder.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { ScaffoldOptions, ScaffoldResult } from './types.js';
|
|
1
|
+
import { ScaffoldOptions, ScaffoldResult, SupportedLanguage } from './types.js';
|
|
2
|
+
export declare function resolveTemplatesDir(baseDir?: string, lang?: SupportedLanguage): string;
|
|
2
3
|
export declare function scaffold(options: ScaffoldOptions): ScaffoldResult;
|
|
3
4
|
//# 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":"AAMA,OAAO,EAAuB,eAAe,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scaffolder.d.ts","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAuB,eAAe,EAAE,cAAc,EAAiB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,MAAoD,EAC7D,IAAI,GAAE,iBAAwB,GAC7B,MAAM,CAMR;AAmJD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAoDjE"}
|
package/dist/scaffolder.js
CHANGED
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
-
import {
|
|
4
|
+
import { getFileGroups, getPackageInfo, getPackageRoot } from './config.js';
|
|
5
5
|
import { colors } from './theme.js';
|
|
6
6
|
import { renderBanner, renderBox } from './ui.js';
|
|
7
|
-
function
|
|
7
|
+
export function resolveTemplatesDir(baseDir = path.resolve(getPackageRoot(), 'templates'), lang = 'en') {
|
|
8
|
+
const langDir = path.resolve(baseDir, lang);
|
|
9
|
+
if (fs.existsSync(langDir)) {
|
|
10
|
+
return langDir;
|
|
11
|
+
}
|
|
12
|
+
return baseDir;
|
|
13
|
+
}
|
|
14
|
+
function printConfiguration(displayTarget, force, lang) {
|
|
15
|
+
if (lang === 'vi') {
|
|
16
|
+
console.log(colors.purple(colors.bold(' CẤU HÌNH KHỞI TẠO')));
|
|
17
|
+
console.log(` ${colors.dim('Thư mục đích :')} ${colors.cyan(colors.bold(displayTarget))}`);
|
|
18
|
+
console.log(` ${colors.dim('Chế độ ghi đè :')} ${force
|
|
19
|
+
? colors.red(colors.bold('Bật (--force)'))
|
|
20
|
+
: colors.green('Tắt (Giữ nguyên tệp hiện có)')}`);
|
|
21
|
+
console.log(` ${colors.dim('Ngôn ngữ mẫu :')} ${colors.yellow(colors.bold('Tiếng Việt (vi)'))}`);
|
|
22
|
+
console.log();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
8
25
|
console.log(colors.purple(colors.bold(' CONFIGURATION')));
|
|
9
26
|
console.log(` ${colors.dim('Target Directory :')} ${colors.cyan(colors.bold(displayTarget))}`);
|
|
10
27
|
console.log(` ${colors.dim('Overwrite Mode :')} ${force
|
|
11
28
|
? colors.red(colors.bold('Enabled (--force)'))
|
|
12
29
|
: colors.green('Disabled (Preserve existing)')}`);
|
|
30
|
+
console.log(` ${colors.dim('Template Language:')} ${colors.yellow(colors.bold('English (en)'))}`);
|
|
13
31
|
console.log();
|
|
14
32
|
}
|
|
15
33
|
function ensureDirectory(dirPath, dirs) {
|
|
@@ -46,7 +64,17 @@ function processFileGroups(groups, templatesDir, resolvedTarget, force, stats) {
|
|
|
46
64
|
console.log();
|
|
47
65
|
}
|
|
48
66
|
}
|
|
49
|
-
function printSummary(stats) {
|
|
67
|
+
function printSummary(stats, lang) {
|
|
68
|
+
if (lang === 'vi') {
|
|
69
|
+
const summaryLines = [
|
|
70
|
+
` ${colors.dim('Tệp đã tạo :')} ${colors.green(colors.bold(String(stats.created)))}`,
|
|
71
|
+
` ${colors.dim('Tệp bỏ qua :')} ${colors.yellow(colors.bold(String(stats.skipped)))}`,
|
|
72
|
+
` ${colors.dim('Thư mục thiết lập:')} ${colors.blue(colors.bold(String(stats.dirs.size)))}`,
|
|
73
|
+
];
|
|
74
|
+
console.log(renderBox(summaryLines, colors, { title: colors.teal(colors.bold('TỔNG KẾT KHỞI TẠO')) }));
|
|
75
|
+
console.log();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
50
78
|
const summaryLines = [
|
|
51
79
|
` ${colors.dim('Files Created :')} ${colors.green(colors.bold(String(stats.created)))}`,
|
|
52
80
|
` ${colors.dim('Files Skipped :')} ${colors.yellow(colors.bold(String(stats.skipped)))}`,
|
|
@@ -55,11 +83,27 @@ function printSummary(stats) {
|
|
|
55
83
|
console.log(renderBox(summaryLines, colors, { title: colors.teal(colors.bold('SETUP SUMMARY')) }));
|
|
56
84
|
console.log();
|
|
57
85
|
}
|
|
58
|
-
function printNextSteps(targetDir) {
|
|
86
|
+
function printNextSteps(targetDir, lang) {
|
|
59
87
|
const relPathPrefix = targetDir === '.' ? '.' : targetDir;
|
|
60
88
|
const agentsPath = path.join(relPathPrefix, 'AGENTS.md');
|
|
61
89
|
const seedTaskPath = path.join(relPathPrefix, 'process/_seeds/task-template.md.seed');
|
|
62
90
|
const activePlanPath = path.join(relPathPrefix, 'process/general-plans/active/01-init_PLAN.md');
|
|
91
|
+
if (lang === 'vi') {
|
|
92
|
+
const nextStepLines = [
|
|
93
|
+
`${colors.cyan(colors.bold('1. Cấu hình Lệnh Kiểm Tra:'))}`,
|
|
94
|
+
` Mở ${colors.green(agentsPath)} và điền các lệnh test/lint/typecheck của dự án bạn.`,
|
|
95
|
+
'',
|
|
96
|
+
`${colors.cyan(colors.bold('2. Khởi Tạo Task Đầu Tiên:'))}`,
|
|
97
|
+
` ${colors.yellow(`cp ${seedTaskPath} \\`)}`,
|
|
98
|
+
` ${colors.yellow(activePlanPath)}`,
|
|
99
|
+
'',
|
|
100
|
+
`${colors.cyan(colors.bold('3. Kích Hoạt AI Coding Agent:'))}`,
|
|
101
|
+
` Chỉ định Agent đọc ${colors.green(agentsPath)} và bắt đầu thực thi.`,
|
|
102
|
+
];
|
|
103
|
+
console.log(renderBox(nextStepLines, colors, { title: colors.purple(colors.bold('CÁC BƯỚC TIẾP THEO')) }));
|
|
104
|
+
console.log();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
63
107
|
const nextStepLines = [
|
|
64
108
|
`${colors.cyan(colors.bold('1. Configure Validation Commands:'))}`,
|
|
65
109
|
` Edit ${colors.green(agentsPath)} and specify your project test/lint/typecheck commands.`,
|
|
@@ -75,9 +119,13 @@ function printNextSteps(targetDir) {
|
|
|
75
119
|
console.log();
|
|
76
120
|
}
|
|
77
121
|
export function scaffold(options) {
|
|
78
|
-
const { targetDir, force, cwd = process.cwd(),
|
|
79
|
-
|
|
80
|
-
|
|
122
|
+
const { targetDir, force, cwd = process.cwd(), lang = 'en', skipBanner = false, } = options;
|
|
123
|
+
if (!skipBanner) {
|
|
124
|
+
const pkgInfo = getPackageInfo();
|
|
125
|
+
renderBanner(pkgInfo, colors);
|
|
126
|
+
}
|
|
127
|
+
const baseTemplatesDir = options.templatesDir ?? path.resolve(getPackageRoot(), 'templates');
|
|
128
|
+
const templatesDir = resolveTemplatesDir(baseTemplatesDir, lang);
|
|
81
129
|
const resolvedTarget = path.resolve(cwd, targetDir);
|
|
82
130
|
if (!fs.existsSync(templatesDir)) {
|
|
83
131
|
console.error(`\n ${colors.badgeError()} Templates directory not found at: ${colors.red(templatesDir)}\n`);
|
|
@@ -85,16 +133,19 @@ export function scaffold(options) {
|
|
|
85
133
|
success: false,
|
|
86
134
|
stats: { created: 0, skipped: 0, directories: 0 },
|
|
87
135
|
targetPath: resolvedTarget,
|
|
136
|
+
lang,
|
|
88
137
|
};
|
|
89
138
|
}
|
|
90
139
|
const displayTarget = targetDir === '.' ? cwd : resolvedTarget;
|
|
91
|
-
printConfiguration(displayTarget, force);
|
|
92
|
-
|
|
140
|
+
printConfiguration(displayTarget, force, lang);
|
|
141
|
+
const initTitle = lang === 'vi' ? ' ĐANG KHỞI TẠO KHÔNG GIAN LÀM VIỆC' : ' INITIALIZING WORKSPACE';
|
|
142
|
+
console.log(colors.purple(colors.bold(initTitle)));
|
|
93
143
|
console.log();
|
|
144
|
+
const fileGroups = getFileGroups(lang);
|
|
94
145
|
const stats = { created: 0, skipped: 0, dirs: new Set() };
|
|
95
|
-
processFileGroups(
|
|
96
|
-
printSummary(stats);
|
|
97
|
-
printNextSteps(targetDir);
|
|
146
|
+
processFileGroups(fileGroups, templatesDir, resolvedTarget, force, stats);
|
|
147
|
+
printSummary(stats, lang);
|
|
148
|
+
printNextSteps(targetDir, lang);
|
|
98
149
|
return {
|
|
99
150
|
success: true,
|
|
100
151
|
stats: {
|
|
@@ -103,6 +154,7 @@ export function scaffold(options) {
|
|
|
103
154
|
directories: stats.dirs.size,
|
|
104
155
|
},
|
|
105
156
|
targetPath: resolvedTarget,
|
|
157
|
+
lang,
|
|
106
158
|
};
|
|
107
159
|
}
|
|
108
160
|
//# 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":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -54,6 +54,7 @@ export interface FileItem {
|
|
|
54
54
|
readonly path: string;
|
|
55
55
|
readonly desc?: string;
|
|
56
56
|
}
|
|
57
|
+
export type SupportedLanguage = 'en' | 'vi';
|
|
57
58
|
export interface FileGroup {
|
|
58
59
|
readonly title: string;
|
|
59
60
|
readonly files: readonly FileItem[];
|
|
@@ -63,6 +64,7 @@ export interface CliOptions {
|
|
|
63
64
|
readonly force: boolean;
|
|
64
65
|
readonly help: boolean;
|
|
65
66
|
readonly version: boolean;
|
|
67
|
+
readonly lang?: SupportedLanguage;
|
|
66
68
|
}
|
|
67
69
|
export interface ScaffoldStats {
|
|
68
70
|
created: number;
|
|
@@ -74,6 +76,8 @@ export interface ScaffoldOptions {
|
|
|
74
76
|
readonly force: boolean;
|
|
75
77
|
readonly templatesDir?: string;
|
|
76
78
|
readonly cwd?: string;
|
|
79
|
+
readonly lang?: SupportedLanguage;
|
|
80
|
+
readonly skipBanner?: boolean;
|
|
77
81
|
}
|
|
78
82
|
export interface ScaffoldResult {
|
|
79
83
|
readonly success: boolean;
|
|
@@ -83,5 +87,6 @@ export interface ScaffoldResult {
|
|
|
83
87
|
readonly directories: number;
|
|
84
88
|
};
|
|
85
89
|
readonly targetPath: string;
|
|
90
|
+
readonly lang: SupportedLanguage;
|
|
86
91
|
}
|
|
87
92
|
//# 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":"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
|
|
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"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { BoxOptions, ColorEngine, PackageInfo } from './types.js';
|
|
1
|
+
import { BoxOptions, ColorEngine, PackageInfo, SupportedLanguage } from './types.js';
|
|
2
2
|
export declare function stripAnsi(str: string): string;
|
|
3
3
|
export declare function visibleLength(str: string): number;
|
|
4
4
|
export declare function padEndVisible(str: string, targetWidth: number): string;
|
|
5
5
|
export declare function renderBox(lines: readonly string[], colors: ColorEngine, options?: BoxOptions): string;
|
|
6
6
|
export declare function renderBanner(pkgInfo: PackageInfo, colors: ColorEngine): void;
|
|
7
|
+
export declare function askQuestion(query: string): Promise<string>;
|
|
8
|
+
export declare function promptLanguage(colors: ColorEngine): Promise<SupportedLanguage>;
|
|
7
9
|
export declare function showHelp(pkgInfo: PackageInfo, colors: ColorEngine): void;
|
|
8
10
|
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"
|
|
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;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+BxE"}
|