ccjk 1.3.3 โ 1.3.5
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 +9 -7
- package/README.zh-CN.md +9 -7
- package/dist/chunks/simple-config.mjs +30 -66
- package/dist/i18n/locales/en/workflow.json +8 -13
- package/dist/i18n/locales/zh-CN/workflow.json +8 -13
- package/package.json +37 -37
- package/templates/claude-code/en/workflow/essential/agents/get-current-datetime.md +29 -0
- package/templates/claude-code/en/workflow/essential/agents/init-architect.md +114 -0
- package/templates/claude-code/en/workflow/essential/agents/planner.md +116 -0
- package/templates/claude-code/en/workflow/essential/agents/ui-ux-designer.md +91 -0
- package/templates/claude-code/en/workflow/essential/commands/feat.md +105 -0
- package/templates/claude-code/en/workflow/essential/commands/init-project.md +53 -0
- package/templates/claude-code/zh-CN/workflow/essential/agents/get-current-datetime.md +29 -0
- package/templates/claude-code/zh-CN/workflow/essential/agents/init-architect.md +114 -0
- package/templates/claude-code/zh-CN/workflow/essential/agents/planner.md +116 -0
- package/templates/claude-code/zh-CN/workflow/essential/agents/ui-ux-designer.md +91 -0
- package/templates/claude-code/zh-CN/workflow/essential/commands/feat.md +105 -0
- package/templates/claude-code/zh-CN/workflow/essential/commands/init-project.md +53 -0
package/README.md
CHANGED
|
@@ -23,13 +23,15 @@
|
|
|
23
23
|
|
|
24
24
|
<br/>
|
|
25
25
|
|
|
26
|
-
## ๐ v1.3.
|
|
26
|
+
## ๐ v1.3.4 Released! (January 2025)
|
|
27
27
|
|
|
28
|
-
>
|
|
29
|
-
> -
|
|
30
|
-
> -
|
|
31
|
-
> -
|
|
32
|
-
> -
|
|
28
|
+
> **๐ Workflow System Upgrade**
|
|
29
|
+
> - ๐ **Interview-Driven Development (IDD)** - Now the recommended workflow!
|
|
30
|
+
> - ๐ Streamlined workflow menu with 5 clear options
|
|
31
|
+
> - ๐ง New essential workflow templates
|
|
32
|
+
> - ๐ Updated i18n support (EN/ZH-CN)
|
|
33
|
+
>
|
|
34
|
+
> **Previous: Complete Rebranding ZCF โ CCJK**
|
|
33
35
|
|
|
34
36
|
<br/>
|
|
35
37
|
|
|
@@ -116,7 +118,7 @@ When you run `ccjk`, you'll see a friendly menu:
|
|
|
116
118
|
โ โโโโโโโ โโโโโโโ โโโโโโ โโโ โ
|
|
117
119
|
โ โโโโโโโโโโโโโโโโ โโโโโโ โโโโ โ
|
|
118
120
|
โ โโโ โโโ โโโโโโโโโโ Claude Code JinKu โ
|
|
119
|
-
โ โโโ โโโ โโ โโโโโโโโโโ v1.3.
|
|
121
|
+
โ โโโ โโโ โโ โโโโโโโโโโ v1.3.4 โ
|
|
120
122
|
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โ
|
|
121
123
|
โ โโโโโโโ โโโโโโโ โโโโโโ โโโ โโโ โ
|
|
122
124
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
package/README.zh-CN.md
CHANGED
|
@@ -22,13 +22,15 @@
|
|
|
22
22
|
|
|
23
23
|
<br/>
|
|
24
24
|
|
|
25
|
-
## ๐ v1.3.
|
|
25
|
+
## ๐ v1.3.4 ๅๅธ๏ผ(2025ๅนด1ๆ)
|
|
26
26
|
|
|
27
|
-
>
|
|
28
|
-
> -
|
|
29
|
-
> -
|
|
30
|
-
> -
|
|
31
|
-
> -
|
|
27
|
+
> **๐ ๅทฅไฝๆต็ณป็ปๅ็บง**
|
|
28
|
+
> - ๐ **่ฎฟ่ฐ้ฉฑๅจๅผๅ (IDD)** - ็ฐๅทฒๆไธบๆจ่้ฆ้ๅทฅไฝๆต๏ผ
|
|
29
|
+
> - ๐ ็ฒพ็ฎๅทฅไฝๆต่ๅ๏ผ5ไธชๆธ
ๆฐ้้กน
|
|
30
|
+
> - ๐ง ๆฐๅขๅฟ
ๅคๅทฅไฝๆตๆจกๆฟ
|
|
31
|
+
> - ๐ ๆดๆฐๅฝ้
ๅๆฏๆ (ไธญ/่ฑ)
|
|
32
|
+
>
|
|
33
|
+
> **ไธไธ็ๆฌ: ๅ็ๅ
จ้ขๅ็บง ZCF โ CCJK**
|
|
32
34
|
|
|
33
35
|
<br/>
|
|
34
36
|
|
|
@@ -110,7 +112,7 @@ npx ccjk
|
|
|
110
112
|
โ โโโโโโโ โโโโโโโ โโโโโโ โโโ โ
|
|
111
113
|
โ โโโโโโโโโโโโโโโโ โโโโโโ โโโโ โ
|
|
112
114
|
โ โโโ โโโ โโโโโโโโโโ Claude Code ้ฆๅบ โ
|
|
113
|
-
โ โโโ โโโ โโ โโโโโโโโโโ v1.3.
|
|
115
|
+
โ โโโ โโโ โโ โโโโโโโโโโ v1.3.4 โ
|
|
114
116
|
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โ
|
|
115
117
|
โ โโโโโโโ โโโโโโโ โโโโโโ โโโ โโโ โ
|
|
116
118
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -20,7 +20,7 @@ import trash from 'trash';
|
|
|
20
20
|
import i18next from 'i18next';
|
|
21
21
|
import Backend from 'i18next-fs-backend';
|
|
22
22
|
|
|
23
|
-
const version = "1.3.
|
|
23
|
+
const version = "1.3.5";
|
|
24
24
|
const homepage = "https://github.com/miounet11/ccjk";
|
|
25
25
|
|
|
26
26
|
const i18n = i18next.createInstance();
|
|
@@ -285,45 +285,34 @@ async function getMcpServices() {
|
|
|
285
285
|
|
|
286
286
|
const WORKFLOW_CONFIG_BASE = [
|
|
287
287
|
{
|
|
288
|
-
id: "
|
|
288
|
+
id: "interviewWorkflow",
|
|
289
289
|
defaultSelected: true,
|
|
290
290
|
order: 1,
|
|
291
|
-
commands: ["
|
|
292
|
-
agents: [
|
|
293
|
-
{ id: "init-architect", filename: "init-architect.md", required: true },
|
|
294
|
-
{ id: "get-current-datetime", filename: "get-current-datetime.md", required: true }
|
|
295
|
-
],
|
|
296
|
-
autoInstallAgents: true,
|
|
297
|
-
category: "common",
|
|
298
|
-
outputDir: "common"
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
id: "sixStepsWorkflow",
|
|
302
|
-
defaultSelected: true,
|
|
303
|
-
order: 2,
|
|
304
|
-
commands: ["workflow.md"],
|
|
291
|
+
commands: ["interview.md"],
|
|
305
292
|
agents: [],
|
|
306
293
|
autoInstallAgents: false,
|
|
307
|
-
category: "
|
|
308
|
-
outputDir: "
|
|
294
|
+
category: "interview",
|
|
295
|
+
outputDir: "interview"
|
|
309
296
|
},
|
|
310
297
|
{
|
|
311
|
-
id: "
|
|
298
|
+
id: "essentialTools",
|
|
312
299
|
defaultSelected: true,
|
|
313
|
-
order:
|
|
314
|
-
commands: ["feat.md"],
|
|
300
|
+
order: 2,
|
|
301
|
+
commands: ["init-project.md", "feat.md"],
|
|
315
302
|
agents: [
|
|
303
|
+
{ id: "init-architect", filename: "init-architect.md", required: true },
|
|
304
|
+
{ id: "get-current-datetime", filename: "get-current-datetime.md", required: true },
|
|
316
305
|
{ id: "planner", filename: "planner.md", required: true },
|
|
317
306
|
{ id: "ui-ux-designer", filename: "ui-ux-designer.md", required: true }
|
|
318
307
|
],
|
|
319
308
|
autoInstallAgents: true,
|
|
320
|
-
category: "
|
|
321
|
-
outputDir: "
|
|
309
|
+
category: "essential",
|
|
310
|
+
outputDir: "essential"
|
|
322
311
|
},
|
|
323
312
|
{
|
|
324
313
|
id: "gitWorkflow",
|
|
325
314
|
defaultSelected: true,
|
|
326
|
-
order:
|
|
315
|
+
order: 3,
|
|
327
316
|
commands: ["git-commit.md", "git-rollback.md", "git-cleanBranches.md", "git-worktree.md"],
|
|
328
317
|
agents: [],
|
|
329
318
|
autoInstallAgents: false,
|
|
@@ -331,43 +320,28 @@ const WORKFLOW_CONFIG_BASE = [
|
|
|
331
320
|
outputDir: "git"
|
|
332
321
|
},
|
|
333
322
|
{
|
|
334
|
-
id: "
|
|
335
|
-
defaultSelected:
|
|
336
|
-
order:
|
|
337
|
-
commands: ["
|
|
338
|
-
agents: [],
|
|
339
|
-
autoInstallAgents: false,
|
|
340
|
-
category: "bmad",
|
|
341
|
-
outputDir: "bmad"
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
id: "interviewWorkflow",
|
|
345
|
-
defaultSelected: true,
|
|
346
|
-
order: 6,
|
|
347
|
-
commands: ["interview.md"],
|
|
323
|
+
id: "sixStepsWorkflow",
|
|
324
|
+
defaultSelected: false,
|
|
325
|
+
order: 4,
|
|
326
|
+
commands: ["workflow.md"],
|
|
348
327
|
agents: [],
|
|
349
328
|
autoInstallAgents: false,
|
|
350
|
-
category: "
|
|
351
|
-
outputDir: "
|
|
329
|
+
category: "sixStep",
|
|
330
|
+
outputDir: "workflow"
|
|
352
331
|
}
|
|
353
332
|
];
|
|
354
333
|
function getWorkflowConfigs() {
|
|
355
334
|
ensureI18nInitialized();
|
|
356
335
|
const workflowTranslations = [
|
|
357
336
|
{
|
|
358
|
-
id: "
|
|
359
|
-
name: i18n.t("workflow:workflowOption.
|
|
360
|
-
description: i18n.t("workflow:workflowDescription.
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
id: "sixStepsWorkflow",
|
|
364
|
-
name: i18n.t("workflow:workflowOption.sixStepsWorkflow"),
|
|
365
|
-
description: i18n.t("workflow:workflowDescription.sixStepsWorkflow")
|
|
337
|
+
id: "interviewWorkflow",
|
|
338
|
+
name: i18n.t("workflow:workflowOption.interviewWorkflow"),
|
|
339
|
+
description: i18n.t("workflow:workflowDescription.interviewWorkflow")
|
|
366
340
|
},
|
|
367
341
|
{
|
|
368
|
-
id: "
|
|
369
|
-
name: i18n.t("workflow:workflowOption.
|
|
370
|
-
description: i18n.t("workflow:workflowDescription.
|
|
342
|
+
id: "essentialTools",
|
|
343
|
+
name: i18n.t("workflow:workflowOption.essentialTools"),
|
|
344
|
+
description: i18n.t("workflow:workflowDescription.essentialTools")
|
|
371
345
|
},
|
|
372
346
|
{
|
|
373
347
|
id: "gitWorkflow",
|
|
@@ -375,14 +349,9 @@ function getWorkflowConfigs() {
|
|
|
375
349
|
description: i18n.t("workflow:workflowDescription.gitWorkflow")
|
|
376
350
|
},
|
|
377
351
|
{
|
|
378
|
-
id: "
|
|
379
|
-
name: i18n.t("workflow:workflowOption.
|
|
380
|
-
description: i18n.t("workflow:workflowDescription.
|
|
381
|
-
},
|
|
382
|
-
{
|
|
383
|
-
id: "interviewWorkflow",
|
|
384
|
-
name: i18n.t("workflow:workflowOption.interviewWorkflow"),
|
|
385
|
-
description: i18n.t("workflow:workflowDescription.interviewWorkflow")
|
|
352
|
+
id: "sixStepsWorkflow",
|
|
353
|
+
name: i18n.t("workflow:workflowOption.sixStepsWorkflow"),
|
|
354
|
+
description: i18n.t("workflow:workflowDescription.sixStepsWorkflow")
|
|
386
355
|
}
|
|
387
356
|
];
|
|
388
357
|
return WORKFLOW_CONFIG_BASE.map((baseConfig) => {
|
|
@@ -6661,11 +6630,10 @@ async function installWorkflowWithDependencies(config, configLang) {
|
|
|
6661
6630
|
errors: []
|
|
6662
6631
|
};
|
|
6663
6632
|
const WORKFLOW_OPTION_KEYS = {
|
|
6664
|
-
|
|
6633
|
+
essentialTools: i18n.t("workflow:workflowOption.essentialTools"),
|
|
6665
6634
|
sixStepsWorkflow: i18n.t("workflow:workflowOption.sixStepsWorkflow"),
|
|
6666
|
-
featPlanUx: i18n.t("workflow:workflowOption.featPlanUx"),
|
|
6667
6635
|
gitWorkflow: i18n.t("workflow:workflowOption.gitWorkflow"),
|
|
6668
|
-
|
|
6636
|
+
interviewWorkflow: i18n.t("workflow:workflowOption.interviewWorkflow")
|
|
6669
6637
|
};
|
|
6670
6638
|
const workflowName = WORKFLOW_OPTION_KEYS[config.id] || config.id;
|
|
6671
6639
|
console.log(ansis.cyan(`
|
|
@@ -6744,10 +6712,6 @@ async function installWorkflowWithDependencies(config, configLang) {
|
|
|
6744
6712
|
}
|
|
6745
6713
|
if (result.success) {
|
|
6746
6714
|
console.log(ansis.green(`\u2714 ${workflowName} ${i18n.t("workflow:workflowInstallSuccess")}`));
|
|
6747
|
-
if (config.id === "bmadWorkflow") {
|
|
6748
|
-
console.log(ansis.cyan(`
|
|
6749
|
-
${i18n.t("workflow:bmadInitPrompt")}`));
|
|
6750
|
-
}
|
|
6751
6715
|
} else {
|
|
6752
6716
|
console.log(ansis.red(`\u2717 ${workflowName} ${i18n.t("workflow:workflowInstallError")}`));
|
|
6753
6717
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bmadInitPrompt": "โจ Please run /bmad-init command in your project to initialize or update BMAD-Method extension",
|
|
3
2
|
"cleaningOldFiles": "Cleaning up old version files",
|
|
4
3
|
"failedToInstallAgent": "Failed to install agent",
|
|
5
4
|
"failedToInstallCommand": "Failed to install command",
|
|
@@ -8,18 +7,14 @@
|
|
|
8
7
|
"installingWorkflow": "Installing workflow",
|
|
9
8
|
"removedOldFile": "Removed old file",
|
|
10
9
|
"selectWorkflowType": "Select workflow type to install",
|
|
11
|
-
"workflowDescription.
|
|
12
|
-
"workflowDescription.
|
|
13
|
-
"workflowDescription.
|
|
14
|
-
"workflowDescription.
|
|
15
|
-
"workflowDescription.interviewWorkflow": "Interview-Driven Development - Surface hidden assumptions before coding by asking 40+ deep questions",
|
|
16
|
-
"workflowDescription.sixStepsWorkflow": "Professional development assistant structured six-step workflow",
|
|
10
|
+
"workflowDescription.essentialTools": "Complete toolchain for project initialization, architecture analysis, feature planning and UX design with multiple intelligent agents",
|
|
11
|
+
"workflowDescription.gitWorkflow": "Git version control commands collection supporting conventional commits, rollback, branch cleanup and worktree management",
|
|
12
|
+
"workflowDescription.interviewWorkflow": "Surface hidden assumptions before coding with 40+ deep questions, generate complete specifications to ensure project direction",
|
|
13
|
+
"workflowDescription.sixStepsWorkflow": "Professional development assistant structured six-step workflow, suitable for projects requiring strict process control",
|
|
17
14
|
"workflowInstallError": "workflow installation had errors",
|
|
18
15
|
"workflowInstallSuccess": "workflow installed successfully",
|
|
19
|
-
"workflowOption.
|
|
20
|
-
"workflowOption.
|
|
21
|
-
"workflowOption.
|
|
22
|
-
"workflowOption.
|
|
23
|
-
"workflowOption.interviewWorkflow": "Interview-Driven Development (Based on Anthropic Thariq's Workflow)",
|
|
24
|
-
"workflowOption.sixStepsWorkflow": "Six Steps Workflow (workflow)"
|
|
16
|
+
"workflowOption.essentialTools": "Essential Tools (Project Init + Feature Planning + UX Design)",
|
|
17
|
+
"workflowOption.gitWorkflow": "Git Workflow (commit + rollback + cleanBranches + worktree)",
|
|
18
|
+
"workflowOption.interviewWorkflow": "๐ Interview-Driven Development (Recommended - Based on Anthropic Thariq's Workflow)",
|
|
19
|
+
"workflowOption.sixStepsWorkflow": "Six-Step Workflow (Structured Development Process)"
|
|
25
20
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"bmadInitPrompt": "โจ ่ฏทๅจ้กน็ฎไธญ่ฟ่ก /bmad-init ๅฝไปคๆฅๅๅงๅๆๆดๆฐ BMAD-Method ๆฉๅฑ",
|
|
3
2
|
"cleaningOldFiles": "ๆธ
็ๆง็ๆฌๆไปถ",
|
|
4
3
|
"failedToInstallAgent": "ๅฎ่ฃ
ไปฃ็ๅคฑ่ดฅ",
|
|
5
4
|
"failedToInstallCommand": "ๅฎ่ฃ
ๅฝไปคๅคฑ่ดฅ",
|
|
@@ -8,18 +7,14 @@
|
|
|
8
7
|
"installingWorkflow": "ๆญฃๅจๅฎ่ฃ
ๅทฅไฝๆต",
|
|
9
8
|
"removedOldFile": "ๅทฒๅ ้คๆงๆไปถ",
|
|
10
9
|
"selectWorkflowType": "้ๆฉ่ฆๅฎ่ฃ
็ๅทฅไฝๆต็ฑปๅ",
|
|
11
|
-
"workflowDescription.
|
|
12
|
-
"workflowDescription.
|
|
13
|
-
"workflowDescription.
|
|
14
|
-
"workflowDescription.
|
|
15
|
-
"workflowDescription.interviewWorkflow": "่ฎฟ่ฐ้ฉฑๅจๅผๅ - ้่ฟ40+ๆทฑๅบฆ้ฎ้ขๅจ็ผ็ ๅๅ็ฐ้่ๅ่ฎพ",
|
|
16
|
-
"workflowDescription.sixStepsWorkflow": "ไธไธๅผๅๅฉๆ็็ปๆๅๅ
ญๆญฅๅทฅไฝๆต็จ",
|
|
10
|
+
"workflowDescription.essentialTools": "ๆไพ้กน็ฎๅๅงๅใๆถๆๅๆใๅ่ฝ่งๅๅUX่ฎพ่ฎก็ๅฎๆดๅทฅๅ
ท้พ๏ผๅ
ๅซๅคไธชๆบ่ฝไปฃ็",
|
|
11
|
+
"workflowDescription.gitWorkflow": "Git ็ๆฌๆงๅถๅฝไปค้ๅ๏ผๆฏๆ่ง่ๅๆไบคใๅๆปใๅๆฏๆธ
็ๅๅทฅไฝๆ ็ฎก็",
|
|
12
|
+
"workflowDescription.interviewWorkflow": "้่ฟ40+ๆทฑๅบฆ้ฎ้ขๅจ็ผ็ ๅๅ็ฐ้่ๅ่ฎพ๏ผ็ๆๅฎๆด่งๆ ผ่ฏดๆไนฆ๏ผ็กฎไฟ้กน็ฎๆนๅๆญฃ็กฎ",
|
|
13
|
+
"workflowDescription.sixStepsWorkflow": "ไธไธๅผๅๅฉๆ็็ปๆๅๅ
ญๆญฅๅทฅไฝๆต็จ๏ผ้ๅ้่ฆไธฅๆ ผๆต็จๆงๅถ็้กน็ฎ",
|
|
17
14
|
"workflowInstallError": "ๅทฅไฝๆตๅฎ่ฃ
ๅบ้",
|
|
18
15
|
"workflowInstallSuccess": "ๅทฅไฝๆตๅฎ่ฃ
ๆๅ",
|
|
19
|
-
"workflowOption.
|
|
20
|
-
"workflowOption.
|
|
21
|
-
"workflowOption.
|
|
22
|
-
"workflowOption.
|
|
23
|
-
"workflowOption.interviewWorkflow": "่ฎฟ่ฐ้ฉฑๅจๅผๅ (ๅบไบ Anthropic Thariq ็ๅทฅไฝๆต)",
|
|
24
|
-
"workflowOption.sixStepsWorkflow": "ๅ
ญๆญฅๅทฅไฝๆต (workflow)"
|
|
16
|
+
"workflowOption.essentialTools": "ๅฟ
ๅคๅทฅๅ
ท้ (้กน็ฎๅๅงๅ + ๅ่ฝ่งๅ + UX่ฎพ่ฎก)",
|
|
17
|
+
"workflowOption.gitWorkflow": "Git ๅทฅไฝๆต (commit + rollback + cleanBranches + worktree)",
|
|
18
|
+
"workflowOption.interviewWorkflow": "๐ ่ฎฟ่ฐ้ฉฑๅจๅผๅ (ๆจ่ - ๅบไบ Anthropic Thariq ็ๅๆฐๅทฅไฝๆต)",
|
|
19
|
+
"workflowOption.sixStepsWorkflow": "ๅ
ญๆญฅๅทฅไฝๆต (็ปๆๅๅผๅๆต็จ)"
|
|
25
20
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccjk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.5",
|
|
5
5
|
"packageManager": "pnpm@10.17.1",
|
|
6
6
|
"description": "Claude Code JinKu - Advanced AI-powered development assistant with skills, agents, and LLM-driven audit",
|
|
7
7
|
"author": {
|
|
@@ -120,47 +120,47 @@
|
|
|
120
120
|
"docs:preview": "pnpm -F @ccjk/docs preview"
|
|
121
121
|
},
|
|
122
122
|
"dependencies": {
|
|
123
|
-
"@types/semver": "
|
|
124
|
-
"ansis": "
|
|
125
|
-
"cac": "
|
|
126
|
-
"dayjs": "
|
|
127
|
-
"find-up-simple": "
|
|
128
|
-
"fs-extra": "
|
|
129
|
-
"i18next": "
|
|
130
|
-
"i18next-fs-backend": "
|
|
131
|
-
"inquirer": "
|
|
132
|
-
"inquirer-toggle": "
|
|
133
|
-
"ora": "
|
|
134
|
-
"pathe": "
|
|
135
|
-
"semver": "
|
|
136
|
-
"smol-toml": "
|
|
137
|
-
"tinyexec": "
|
|
138
|
-
"trash": "
|
|
123
|
+
"@types/semver": "^7.7.1",
|
|
124
|
+
"ansis": "^4.1.0",
|
|
125
|
+
"cac": "^6.7.14",
|
|
126
|
+
"dayjs": "^1.11.18",
|
|
127
|
+
"find-up-simple": "^1.0.1",
|
|
128
|
+
"fs-extra": "^11.3.2",
|
|
129
|
+
"i18next": "^25.5.2",
|
|
130
|
+
"i18next-fs-backend": "^2.6.0",
|
|
131
|
+
"inquirer": "^12.9.6",
|
|
132
|
+
"inquirer-toggle": "^1.0.1",
|
|
133
|
+
"ora": "^9.0.0",
|
|
134
|
+
"pathe": "^2.0.3",
|
|
135
|
+
"semver": "^7.7.2",
|
|
136
|
+
"smol-toml": "^1.4.2",
|
|
137
|
+
"tinyexec": "^1.0.1",
|
|
138
|
+
"trash": "^10.0.0"
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
|
-
"@antfu/eslint-config": "
|
|
142
|
-
"@changesets/cli": "
|
|
143
|
-
"@commitlint/cli": "
|
|
144
|
-
"@commitlint/config-conventional": "
|
|
145
|
-
"@commitlint/types": "
|
|
146
|
-
"@types/fs-extra": "
|
|
147
|
-
"@types/inquirer": "
|
|
148
|
-
"@types/node": "
|
|
149
|
-
"@vitest/coverage-v8": "
|
|
150
|
-
"@vitest/ui": "
|
|
151
|
-
"eslint": "
|
|
152
|
-
"eslint-plugin-format": "
|
|
153
|
-
"glob": "
|
|
154
|
-
"husky": "
|
|
155
|
-
"lint-staged": "
|
|
156
|
-
"tsx": "
|
|
157
|
-
"typescript": "
|
|
158
|
-
"unbuild": "
|
|
159
|
-
"vitest": "
|
|
141
|
+
"@antfu/eslint-config": "^5.4.1",
|
|
142
|
+
"@changesets/cli": "^2.29.7",
|
|
143
|
+
"@commitlint/cli": "^19.8.1",
|
|
144
|
+
"@commitlint/config-conventional": "^19.8.1",
|
|
145
|
+
"@commitlint/types": "^19.8.1",
|
|
146
|
+
"@types/fs-extra": "^11.0.4",
|
|
147
|
+
"@types/inquirer": "^9.0.9",
|
|
148
|
+
"@types/node": "^22.18.6",
|
|
149
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
150
|
+
"@vitest/ui": "^3.2.4",
|
|
151
|
+
"eslint": "^9.36.0",
|
|
152
|
+
"eslint-plugin-format": "^1.0.2",
|
|
153
|
+
"glob": "^11.0.3",
|
|
154
|
+
"husky": "^9.1.7",
|
|
155
|
+
"lint-staged": "^16.2.0",
|
|
156
|
+
"tsx": "^4.20.5",
|
|
157
|
+
"typescript": "^5.9.2",
|
|
158
|
+
"unbuild": "^3.6.1",
|
|
159
|
+
"vitest": "^3.2.4"
|
|
160
160
|
},
|
|
161
161
|
"lint-staged": {
|
|
162
162
|
"*": [
|
|
163
163
|
"pnpm lint"
|
|
164
164
|
]
|
|
165
165
|
}
|
|
166
|
-
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: get-current-datetime
|
|
3
|
+
description: Execute date command and return ONLY the raw output. No formatting, headers, explanations, or parallel agents.
|
|
4
|
+
tools: Bash, Read, Write
|
|
5
|
+
color: cyan
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Execute `date` and return ONLY the command output.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
date +'%Y-%m-%d %H:%M:%S'
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
DO NOT add any text, headers, formatting, or explanations.
|
|
15
|
+
DO NOT add markdown formatting or code blocks.
|
|
16
|
+
DO NOT add "Current date and time is:" or similar phrases.
|
|
17
|
+
DO NOT use parallel agents.
|
|
18
|
+
|
|
19
|
+
Just return the raw bash command output exactly as it appears.
|
|
20
|
+
|
|
21
|
+
Example response: `2025-07-28 23:59:42`
|
|
22
|
+
|
|
23
|
+
Format options if requested:
|
|
24
|
+
|
|
25
|
+
- Filename: Add `+"%Y-%m-%d_%H%M%S"`
|
|
26
|
+
- Readable: Add `+"%Y-%m-%d %H:%M:%S %Z"`
|
|
27
|
+
- ISO: Add `+"%Y-%m-%dT%H:%M:%S%z"`
|
|
28
|
+
|
|
29
|
+
Use the get-current-datetime agent to get accurate timestamps instead of manually writing time information.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: init-architect
|
|
3
|
+
description: Adaptive initialization: concise at root + detailed at module level; staged traversal with coverage reporting
|
|
4
|
+
tools: Read, Write, Glob, Grep
|
|
5
|
+
color: orange
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Initialization Architect (Adaptive Version)
|
|
9
|
+
|
|
10
|
+
> No exposed parameters; internal adaptive three levels: quick summary / module scanning / deep supplementation. Ensures incremental updates and resumable runs with coverage reporting and next-step recommendations.
|
|
11
|
+
|
|
12
|
+
## I. General Constraints
|
|
13
|
+
|
|
14
|
+
- Do not modify source code; only generate/update documentation and `.claude/index.json`.
|
|
15
|
+
- **Ignore Rules Retrieval Strategy**:
|
|
16
|
+
1. Prioritize reading the `.gitignore` file from the project root directory
|
|
17
|
+
2. If `.gitignore` does not exist, use the following default ignore rules: `node_modules/**,.git/**,.github/**,dist/**,build/**,.next/**,__pycache__/**,*.lock,*.log,*.bin,*.pdf,*.png,*.jpg,*.jpeg,*.gif,*.mp4,*.zip,*.tar,*.gz`
|
|
18
|
+
3. Merge ignore patterns from `.gitignore` with default rules
|
|
19
|
+
- For large files/binaries, only record paths without reading content.
|
|
20
|
+
|
|
21
|
+
## II. Staged Strategy (Automatic Intensity Selection)
|
|
22
|
+
|
|
23
|
+
1. **Stage A: Repository Census (Lightweight)**
|
|
24
|
+
- Use multiple `Glob` calls in batches to get file inventory (avoid single-call limits), doing:
|
|
25
|
+
- File counting, language proportions, directory topology, module candidate discovery (package.json, pyproject.toml, go.mod, Cargo.toml, apps/_, packages/_, services/_, cmd/_, etc.).
|
|
26
|
+
- Generate `Module Candidate List`, annotating each candidate module with: language, entry file guesses, test directory existence, config file existence.
|
|
27
|
+
2. **Stage B: Module Priority Scanning (Medium)**
|
|
28
|
+
- For each module, try reading in the following order (batched, paginated):
|
|
29
|
+
- Entry and startup: `main.ts`/`index.ts`/`cmd/*/main.go`/`app.py`/`src/main.rs`, etc.
|
|
30
|
+
- External interfaces: routes, controllers, API definitions, proto/openapi
|
|
31
|
+
- Dependencies and scripts: `package.json scripts`, `pyproject.toml`, `go.mod`, `Cargo.toml`, config directories
|
|
32
|
+
- Data layer: `schema.sql`, `prisma/schema.prisma`, ORM models, migration directories
|
|
33
|
+
- Testing: `tests/**`, `__tests__/**`, `*_test.go`, `*.spec.ts`, etc.
|
|
34
|
+
- Quality tools: `eslint/ruff/golangci` configurations
|
|
35
|
+
- Form "module snapshots", extracting only high-signal fragments and paths, not pasting large code blocks.
|
|
36
|
+
3. **Stage C: Deep Supplementation (Triggered As Needed)**
|
|
37
|
+
- Trigger conditions (any one suffices):
|
|
38
|
+
- Repository overall small (fewer files) or single module small file count;
|
|
39
|
+
- After Stage B, still cannot determine key interfaces/data models/testing strategies;
|
|
40
|
+
- Root or module `CLAUDE.md` missing information items.
|
|
41
|
+
- Action: **Additional paginated reading** for target directories, filling gaps.
|
|
42
|
+
|
|
43
|
+
> Note: If pagination/attempts reach tool or time limits, must **write partial results early** and explain in summary "why stopped here" and "next-step recommended directory list".
|
|
44
|
+
|
|
45
|
+
## III. Artifacts and Incremental Updates
|
|
46
|
+
|
|
47
|
+
1. **Write Root-level `CLAUDE.md`**
|
|
48
|
+
- If exists, insert/update `Change Log (Changelog)` at the top.
|
|
49
|
+
- Root structure (concise yet global):
|
|
50
|
+
- Project Vision
|
|
51
|
+
- Architecture Overview
|
|
52
|
+
- **โจ New: Module Structure Diagram (Mermaid)**
|
|
53
|
+
- Above the "Module Index" table, generate a Mermaid `graph TD` tree diagram based on identified module paths.
|
|
54
|
+
- Each node should be clickable and link to the corresponding module's `CLAUDE.md` file.
|
|
55
|
+
- Example syntax:
|
|
56
|
+
|
|
57
|
+
```mermaid
|
|
58
|
+
graph TD
|
|
59
|
+
A["(Root) My Project"] --> B["packages"];
|
|
60
|
+
B --> C["auth"];
|
|
61
|
+
B --> D["ui-library"];
|
|
62
|
+
A --> E["services"];
|
|
63
|
+
E --> F["audit-log"];
|
|
64
|
+
|
|
65
|
+
click C "./packages/auth/CLAUDE.md" "View auth module docs"
|
|
66
|
+
click D "./packages/ui-library/CLAUDE.md" "View ui-library module docs"
|
|
67
|
+
click F "./services/audit-log/CLAUDE.md" "View audit-log module docs"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- Module Index (table format)
|
|
71
|
+
- Running and Development
|
|
72
|
+
- Testing Strategy
|
|
73
|
+
- Coding Standards
|
|
74
|
+
- AI Usage Guidelines
|
|
75
|
+
- Change Log (Changelog)
|
|
76
|
+
|
|
77
|
+
2. **Write Module-level `CLAUDE.md`**
|
|
78
|
+
- Place in each module directory, suggested structure:
|
|
79
|
+
- **โจ New: Relative Path Breadcrumbs**
|
|
80
|
+
- At the **top** of each module `CLAUDE.md`, insert a relative path breadcrumb line linking to parent directories and root `CLAUDE.md`.
|
|
81
|
+
- Example (located at `packages/auth/CLAUDE.md`):
|
|
82
|
+
`[Root Directory](../../CLAUDE.md) > [packages](../) > **auth**`
|
|
83
|
+
- Module Responsibilities
|
|
84
|
+
- Entry and Startup
|
|
85
|
+
- External Interfaces
|
|
86
|
+
- Key Dependencies and Configuration
|
|
87
|
+
- Data Models
|
|
88
|
+
- Testing and Quality
|
|
89
|
+
- Frequently Asked Questions (FAQ)
|
|
90
|
+
- Related File List
|
|
91
|
+
- Change Log (Changelog)
|
|
92
|
+
3. **`.claude/index.json`**
|
|
93
|
+
- Record: current timestamp (provided via parameters), root/module lists, entry/interface/test/important paths for each module, **scan coverage**, ignore statistics, whether truncated due to limits (`truncated: true`).
|
|
94
|
+
|
|
95
|
+
## IV. Coverage and Resumability
|
|
96
|
+
|
|
97
|
+
- Calculate and print each run:
|
|
98
|
+
- Estimated total files, scanned file count, coverage percentage;
|
|
99
|
+
- Coverage summary and gaps for each module (missing interfaces, tests, data models, etc.);
|
|
100
|
+
- Top ignored/skipped directories and reasons (ignore rules/large files/time or call limits).
|
|
101
|
+
- Write "gap list" to `index.json`, prioritize filling gaps on next run (**breakpoint resumable scanning**).
|
|
102
|
+
|
|
103
|
+
## V. Result Summary (Print to Main Dialog)
|
|
104
|
+
|
|
105
|
+
- Root/module `CLAUDE.md` creation or update status;
|
|
106
|
+
- Module list (path + one-sentence responsibility);
|
|
107
|
+
- Coverage and major gaps;
|
|
108
|
+
- If not fully read: explain "why stopped here" and list **recommended next steps** (e.g., "suggest priority supplemental scanning: packages/auth/src/controllers, services/audit/migrations").
|
|
109
|
+
|
|
110
|
+
## VI. Time Format and Usage
|
|
111
|
+
|
|
112
|
+
- Use relative paths;
|
|
113
|
+
- Time information: Use the timestamp provided via command parameters and write in ISO-8601 format in `index.json`.
|
|
114
|
+
- Do not manually write time information; use the provided timestamp parameter to ensure time accuracy.
|