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 CHANGED
@@ -23,13 +23,15 @@
23
23
 
24
24
  <br/>
25
25
 
26
- ## ๐ŸŽ‰ v1.3.1 Released! (January 2025)
26
+ ## ๐ŸŽ‰ v1.3.4 Released! (January 2025)
27
27
 
28
- > **Complete Rebranding: ZCF โ†’ CCJK**
29
- > - ๐Ÿ”„ All references updated from ZCF to CCJK
30
- > - ๐Ÿš€ New brand: **CCJK - Claude Code Jailbreak Kit**
31
- > - โฌ†๏ธ Existing users: Run `ccjk upgrade` to update!
32
- > - ๐Ÿ”ง Fixed install script version detection
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.1 โ•‘
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.1 ๅ‘ๅธƒ๏ผ(2025ๅนด1ๆœˆ)
25
+ ## ๐ŸŽ‰ v1.3.4 ๅ‘ๅธƒ๏ผ(2025ๅนด1ๆœˆ)
26
26
 
27
- > **ๅ“็‰Œๅ…จ้ขๅ‡็บง๏ผšZCF โ†’ CCJK**
28
- > - ๐Ÿ”„ ๆ‰€ๆœ‰ ZCF ๅผ•็”จๅทฒๆ›ดๆ–ฐไธบ CCJK
29
- > - ๐Ÿš€ ๆ–ฐๅ“็‰Œ๏ผš**CCJK - Claude Code ้”ฆๅบ“**
30
- > - โฌ†๏ธ ๅทฒๅฎ‰่ฃ…็”จๆˆท๏ผš่ฟ่กŒ `ccjk upgrade` ๅณๅฏๅ‡็บง๏ผ
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.2 โ•‘
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.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: "commonTools",
288
+ id: "interviewWorkflow",
289
289
  defaultSelected: true,
290
290
  order: 1,
291
- commands: ["init-project.md"],
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: "sixStep",
308
- outputDir: "workflow"
294
+ category: "interview",
295
+ outputDir: "interview"
309
296
  },
310
297
  {
311
- id: "featPlanUx",
298
+ id: "essentialTools",
312
299
  defaultSelected: true,
313
- order: 3,
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: "plan",
321
- outputDir: "feat"
309
+ category: "essential",
310
+ outputDir: "essential"
322
311
  },
323
312
  {
324
313
  id: "gitWorkflow",
325
314
  defaultSelected: true,
326
- order: 4,
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: "bmadWorkflow",
335
- defaultSelected: true,
336
- order: 5,
337
- commands: ["bmad-init.md"],
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: "interview",
351
- outputDir: "interview"
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: "commonTools",
359
- name: i18n.t("workflow:workflowOption.commonTools"),
360
- description: i18n.t("workflow:workflowDescription.commonTools")
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: "featPlanUx",
369
- name: i18n.t("workflow:workflowOption.featPlanUx"),
370
- description: i18n.t("workflow:workflowDescription.featPlanUx")
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: "bmadWorkflow",
379
- name: i18n.t("workflow:workflowOption.bmadWorkflow"),
380
- description: i18n.t("workflow:workflowDescription.bmadWorkflow")
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
- commonTools: i18n.t("workflow:workflowOption.commonTools"),
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
- bmadWorkflow: i18n.t("workflow:workflowOption.bmadWorkflow")
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.bmadWorkflow": "BMAD-Method enterprise-grade agile development workflow extension",
12
- "workflowDescription.commonTools": "Provides project initialization and architecture analysis tools, including hierarchical directory initialization commands and intelligent architecture analysis agents",
13
- "workflowDescription.featPlanUx": "Feature planning and user experience design workflow with planning and UX design agents",
14
- "workflowDescription.gitWorkflow": "Git version control related commands collection",
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.bmadWorkflow": "BMAD-Method Extension Installer (Agile Development Workflow)",
20
- "workflowOption.commonTools": "Common Tools (Hierarchical Directory Initialization + General-purpose agents)",
21
- "workflowOption.featPlanUx": "Feature Planning and UX Design (feat + planner + ui-ux-designer)",
22
- "workflowOption.gitWorkflow": "Git Commands (commit + rollback + cleanBranches + worktree)",
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.bmadWorkflow": "BMAD-Method ไผไธš็บงๆ•ๆทๅผ€ๅ‘ๅทฅไฝœๆตๆ‰ฉๅฑ•",
12
- "workflowDescription.commonTools": "ๆไพ›้กน็›ฎๅˆๅง‹ๅŒ–ๅ’Œๆžถๆž„ๅˆ†ๆžๅทฅๅ…ท๏ผŒๅŒ…ๅซๅฑ‚็บง็›ฎๅฝ•ๅˆๅง‹ๅŒ–ๅ‘ฝไปคๅ’Œๆ™บ่ƒฝๆžถๆž„ๅˆ†ๆžไปฃ็†",
13
- "workflowDescription.featPlanUx": "ๅŠŸ่ƒฝ่ง„ๅˆ’ๅ’Œ็”จๆˆทไฝ“้ชŒ่ฎพ่ฎกๅทฅไฝœๆต๏ผŒๅŒ…ๅซ่ง„ๅˆ’ไปฃ็†ๅ’Œ UX ่ฎพ่ฎกไปฃ็†",
14
- "workflowDescription.gitWorkflow": "Git ็‰ˆๆœฌๆŽงๅˆถ็›ธๅ…ณๅ‘ฝไปค้›†ๅˆ",
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.bmadWorkflow": "BMAD-Method ๆ‰ฉๅฑ•ๅฎ‰่ฃ…ๅ™จ (ๆ”ฏๆŒๆ•ๆทๅผ€ๅ‘ๅทฅไฝœๆต)",
20
- "workflowOption.commonTools": "้€š็”จๅทฅๅ…ท (ๅฑ‚็บง็›ฎๅฝ•ๅˆๅง‹ๅŒ– + ้€š็”จagents)",
21
- "workflowOption.featPlanUx": "ๅŠŸ่ƒฝ่ง„ๅˆ’ๅ’Œ UX ่ฎพ่ฎก (feat + planner + ui-ux-designer)",
22
- "workflowOption.gitWorkflow": "Git ๆŒ‡ไปค (commit + rollback + cleanBranches + worktree)",
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.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": "catalog:types",
124
- "ansis": "catalog:cli",
125
- "cac": "catalog:cli",
126
- "dayjs": "catalog:runtime",
127
- "find-up-simple": "catalog:runtime",
128
- "fs-extra": "catalog:runtime",
129
- "i18next": "catalog:runtime",
130
- "i18next-fs-backend": "catalog:runtime",
131
- "inquirer": "catalog:cli",
132
- "inquirer-toggle": "catalog:cli",
133
- "ora": "catalog:cli",
134
- "pathe": "catalog:runtime",
135
- "semver": "catalog:runtime",
136
- "smol-toml": "catalog:runtime",
137
- "tinyexec": "catalog:runtime",
138
- "trash": "catalog:runtime"
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": "catalog:build",
142
- "@changesets/cli": "catalog:tooling",
143
- "@commitlint/cli": "catalog:tooling",
144
- "@commitlint/config-conventional": "catalog:tooling",
145
- "@commitlint/types": "catalog:tooling",
146
- "@types/fs-extra": "catalog:types",
147
- "@types/inquirer": "catalog:types",
148
- "@types/node": "catalog:types",
149
- "@vitest/coverage-v8": "catalog:testing",
150
- "@vitest/ui": "catalog:testing",
151
- "eslint": "catalog:build",
152
- "eslint-plugin-format": "catalog:build",
153
- "glob": "catalog:testing",
154
- "husky": "catalog:tooling",
155
- "lint-staged": "catalog:tooling",
156
- "tsx": "catalog:build",
157
- "typescript": "catalog:build",
158
- "unbuild": "catalog:build",
159
- "vitest": "catalog:testing"
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.