@codebakers/cli 3.9.33 → 3.9.35

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.
@@ -1371,8 +1371,8 @@ async function showVSCodeClaudeInstructions() {
1371
1371
  console.log(chalk_1.default.gray(' Get it from: ') + chalk_1.default.cyan('https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code\n'));
1372
1372
  console.log(chalk_1.default.gray(' Having issues? Run: ') + chalk_1.default.cyan('codebakers doctor') + chalk_1.default.gray(' to diagnose\n'));
1373
1373
  }
1374
- // v6.17 Bootstrap - SHORT template with magic phrase + rules at START and END
1375
- const V6_CLAUDE_MD = `# CodeBakers v6.17
1374
+ // v6.19 Bootstrap - SHORT template with magic phrase + rules at START and END
1375
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
1376
1376
 
1377
1377
  ## 🪄 MAGIC PHRASE: "codebakers go"
1378
1378
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -1414,7 +1414,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
1414
1414
  3. Call \`validate_complete()\` before done
1415
1415
  4. Show footer after code responses
1416
1416
  `;
1417
- const V6_CURSORRULES = `# CodeBakers v6.17
1417
+ const V6_CURSORRULES = `# CodeBakers v6.19
1418
1418
 
1419
1419
  ## 🪄 "codebakers go" = Start onboarding conversation
1420
1420
  Ask existing/new → Ask what to build → Call init_project() → Help them build
@@ -1094,13 +1094,13 @@ class CodeBakersServer {
1094
1094
  },
1095
1095
  {
1096
1096
  name: 'update_patterns',
1097
- description: 'Update to CodeBakers v6.14 server-enforced patterns. Use when user says "upgrade codebakers", "update patterns", or "sync codebakers". In v6.14, patterns are server-side - this tool installs minimal bootstrap files (CLAUDE.md and .cursorrules) and removes old .claude/ folder if present.',
1097
+ description: 'Update to CodeBakers v6.19 server-enforced patterns. Use when user says "upgrade codebakers", "update patterns", or "sync codebakers". In v6.19, patterns are server-side - this tool installs minimal bootstrap files (CLAUDE.md and .cursorrules) and removes old .claude/ folder if present.',
1098
1098
  inputSchema: {
1099
1099
  type: 'object',
1100
1100
  properties: {
1101
1101
  force: {
1102
1102
  type: 'boolean',
1103
- description: 'Force reinstall even if already on v6.14 (default: false)',
1103
+ description: 'Force reinstall even if already on v6.19 (default: false)',
1104
1104
  },
1105
1105
  },
1106
1106
  },
@@ -2490,9 +2490,9 @@ Or if user declines, call without fullDeploy:
2490
2490
  catch {
2491
2491
  // Use default
2492
2492
  }
2493
- results.push(`# 🎨 Adding CodeBakers v6.17 to: ${projectName}\n`);
2494
- // v6.17 bootstrap content - magic phrase + rules at START and END + coherence
2495
- const V6_CLAUDE_MD = `# CodeBakers v6.17
2493
+ results.push(`# 🎨 Adding CodeBakers v6.19 to: ${projectName}\n`);
2494
+ // v6.19 bootstrap content - magic phrase + rules at START and END + coherence
2495
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
2496
2496
 
2497
2497
  ## 🪄 MAGIC PHRASE: "codebakers go"
2498
2498
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -2534,7 +2534,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
2534
2534
  3. Call \`validate_complete()\` before done
2535
2535
  4. Show footer after code responses
2536
2536
  `;
2537
- const V6_CURSORRULES = `# CodeBakers v6.17
2537
+ const V6_CURSORRULES = `# CodeBakers v6.19
2538
2538
 
2539
2539
  ## 🪄 "codebakers go" = Start onboarding conversation
2540
2540
  Ask existing/new → Ask what to build → Call init_project() → Help them build
@@ -2559,25 +2559,25 @@ Use coherence_audit() to check wiring & dependencies
2559
2559
  2. discover_patterns() before code
2560
2560
  3. validate_complete() before done
2561
2561
  `;
2562
- // Check if already v6.16
2562
+ // Check if already v6.19+
2563
2563
  const claudeMdPath = path.join(cwd, 'CLAUDE.md');
2564
2564
  if (fs.existsSync(claudeMdPath)) {
2565
2565
  const content = fs.readFileSync(claudeMdPath, 'utf-8');
2566
- if ((content.includes('v6.16') || content.includes('v6.17')) && content.includes('discover_patterns')) {
2567
- results.push('✓ CodeBakers v6.17 already installed\n');
2566
+ if ((content.includes('v6.16') || content.includes('v6.17') || content.includes('v6.18') || content.includes('v6.19')) && content.includes('discover_patterns')) {
2567
+ results.push('✓ CodeBakers v6.19 already installed\n');
2568
2568
  results.push('Patterns are server-enforced. Just call `discover_patterns` before coding!');
2569
2569
  return {
2570
2570
  content: [{ type: 'text', text: results.join('\n') }],
2571
2571
  };
2572
2572
  }
2573
- results.push('⚠️ Upgrading to v6.16 (server-enforced patterns)...\n');
2573
+ results.push('⚠️ Upgrading to v6.19 (server-enforced patterns)...\n');
2574
2574
  }
2575
2575
  try {
2576
- // Write v6.16 bootstrap files
2576
+ // Write v6.19 bootstrap files
2577
2577
  fs.writeFileSync(claudeMdPath, V6_CLAUDE_MD);
2578
- results.push('✓ Created CLAUDE.md (v6.16 bootstrap)');
2578
+ results.push('✓ Created CLAUDE.md (v6.19 bootstrap)');
2579
2579
  fs.writeFileSync(path.join(cwd, '.cursorrules'), V6_CURSORRULES);
2580
- results.push('✓ Created .cursorrules (v6.16 bootstrap)');
2580
+ results.push('✓ Created .cursorrules (v6.19 bootstrap)');
2581
2581
  // Remove old .claude folder if it exists (v5 → v6 migration)
2582
2582
  const claudeDir = path.join(cwd, '.claude');
2583
2583
  if (fs.existsSync(claudeDir)) {
@@ -2617,12 +2617,12 @@ Use coherence_audit() to check wiring & dependencies
2617
2617
  // Ignore errors
2618
2618
  }
2619
2619
  }
2620
- state.version = '6.0';
2620
+ state.version = '6.19';
2621
2621
  state.serverEnforced = true;
2622
2622
  state.updatedAt = new Date().toISOString();
2623
2623
  fs.writeFileSync(stateFile, JSON.stringify(state, null, 2));
2624
2624
  results.push('\n---\n');
2625
- results.push('## ✅ CodeBakers v6.17 Installed!\n');
2625
+ results.push('## ✅ CodeBakers v6.19 Installed!\n');
2626
2626
  results.push('**How it works now:**');
2627
2627
  results.push('1. Call `discover_patterns` before writing code');
2628
2628
  results.push('2. Server returns all patterns and rules');
@@ -6716,7 +6716,7 @@ ${handlers.join('\n')}
6716
6716
  `;
6717
6717
  }
6718
6718
  /**
6719
- * Update to CodeBakers v6.17 - server-enforced patterns with magic phrase + coherence
6719
+ * Update to CodeBakers v6.19 - server-enforced patterns with magic phrase + coherence
6720
6720
  * This is the MCP equivalent of the `codebakers upgrade` CLI command
6721
6721
  */
6722
6722
  async handleUpdatePatterns(args) {
@@ -6725,9 +6725,9 @@ ${handlers.join('\n')}
6725
6725
  const claudeMdPath = path.join(cwd, 'CLAUDE.md');
6726
6726
  const claudeDir = path.join(cwd, '.claude');
6727
6727
  const codebakersJson = path.join(cwd, '.codebakers.json');
6728
- let response = `# 🔄 CodeBakers v6.17 Update\n\n`;
6729
- // v6.17 bootstrap content - magic phrase + rules at START and END + coherence
6730
- const V6_CLAUDE_MD = `# CodeBakers v6.17
6728
+ let response = `# 🔄 CodeBakers v6.19 Update\n\n`;
6729
+ // v6.19 bootstrap content - magic phrase + rules at START and END + coherence
6730
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
6731
6731
 
6732
6732
  ## 🪄 MAGIC PHRASE: "codebakers go"
6733
6733
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -6769,7 +6769,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
6769
6769
  3. Call \`validate_complete()\` before done
6770
6770
  4. Show footer after code responses
6771
6771
  `;
6772
- const V6_CURSORRULES = `# CodeBakers v6.17
6772
+ const V6_CURSORRULES = `# CodeBakers v6.19
6773
6773
 
6774
6774
  ## 🪄 "codebakers go" = Start onboarding conversation
6775
6775
  Ask existing/new → Ask what to build → Call init_project() → Help them build
@@ -6800,7 +6800,7 @@ Use coherence_audit() to check wiring & dependencies
6800
6800
  let isV6 = false;
6801
6801
  if (fs.existsSync(claudeMdPath)) {
6802
6802
  const content = fs.readFileSync(claudeMdPath, 'utf-8');
6803
- isV6 = content.includes('v6.16') && content.includes('discover_patterns');
6803
+ isV6 = (content.includes('v6.16') || content.includes('v6.17') || content.includes('v6.18') || content.includes('v6.19')) && content.includes('discover_patterns');
6804
6804
  }
6805
6805
  if (fs.existsSync(codebakersJson)) {
6806
6806
  try {
@@ -6813,10 +6813,10 @@ Use coherence_audit() to check wiring & dependencies
6813
6813
  }
6814
6814
  response += `## Current Status\n`;
6815
6815
  response += `- Version: ${currentVersion || 'Unknown'}\n`;
6816
- response += `- v6.16 (Server-Enforced): ${isV6 ? 'Yes ✓' : 'No'}\n\n`;
6816
+ response += `- v6.19 (Server-Enforced): ${isV6 ? 'Yes ✓' : 'No'}\n\n`;
6817
6817
  // Check if already on v6
6818
6818
  if (isV6 && !force) {
6819
- response += `✅ **Already on v6.16!**\n\n`;
6819
+ response += `✅ **Already on v6.19!**\n\n`;
6820
6820
  response += `Your patterns are server-enforced. Just use \`discover_patterns\` before coding.\n`;
6821
6821
  response += `Use \`force: true\` to reinstall bootstrap files.\n`;
6822
6822
  response += this.getUpdateNotice();
@@ -6827,12 +6827,12 @@ Use coherence_audit() to check wiring & dependencies
6827
6827
  }],
6828
6828
  };
6829
6829
  }
6830
- response += `## Upgrading to v6.16...\n\n`;
6831
- // Write v6.16 bootstrap files
6830
+ response += `## Upgrading to v6.19...\n\n`;
6831
+ // Write v6.19 bootstrap files
6832
6832
  fs.writeFileSync(claudeMdPath, V6_CLAUDE_MD);
6833
- response += `✓ Updated CLAUDE.md (v6.16 bootstrap)\n`;
6833
+ response += `✓ Updated CLAUDE.md (v6.19 bootstrap)\n`;
6834
6834
  fs.writeFileSync(path.join(cwd, '.cursorrules'), V6_CURSORRULES);
6835
- response += `✓ Updated .cursorrules (v6.16 bootstrap)\n`;
6835
+ response += `✓ Updated .cursorrules (v6.19 bootstrap)\n`;
6836
6836
  // Remove old .claude folder (v5 → v6 migration)
6837
6837
  if (fs.existsSync(claudeDir)) {
6838
6838
  try {
@@ -6853,16 +6853,16 @@ Use coherence_audit() to check wiring & dependencies
6853
6853
  // Ignore errors
6854
6854
  }
6855
6855
  }
6856
- state.version = '6.0';
6856
+ state.version = '6.19';
6857
6857
  state.serverEnforced = true;
6858
6858
  state.updatedAt = new Date().toISOString();
6859
6859
  fs.writeFileSync(codebakersJson, JSON.stringify(state, null, 2));
6860
6860
  response += `✓ Updated .codebakers.json\n`;
6861
6861
  // Confirm to server (non-blocking analytics)
6862
- this.confirmDownload('6.0', 0).catch(() => { });
6862
+ this.confirmDownload('6.19', 0).catch(() => { });
6863
6863
  response += `\n## ✅ Upgrade Complete!\n\n`;
6864
- response += `**What changed in v6.14:**\n`;
6865
- response += `- No local pattern files (.claude/ folder removed)\n`;
6864
+ response += `**What changed in v6.19:**\n`;
6865
+ response += `- Slim bootstrap files (358 lines vs 2,280)\n`;
6866
6866
  response += `- All patterns fetched from server in real-time\n`;
6867
6867
  response += `- Server tracks compliance via discover_patterns/validate_complete\n\n`;
6868
6868
  response += `**How to use:**\n`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codebakers/cli",
3
- "version": "3.9.33",
3
+ "version": "3.9.35",
4
4
  "description": "CodeBakers CLI - Production patterns for AI-assisted development",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1562,8 +1562,8 @@ async function showVSCodeClaudeInstructions(): Promise<void> {
1562
1562
  console.log(chalk.gray(' Having issues? Run: ') + chalk.cyan('codebakers doctor') + chalk.gray(' to diagnose\n'));
1563
1563
  }
1564
1564
 
1565
- // v6.17 Bootstrap - SHORT template with magic phrase + rules at START and END
1566
- const V6_CLAUDE_MD = `# CodeBakers v6.17
1565
+ // v6.19 Bootstrap - SHORT template with magic phrase + rules at START and END
1566
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
1567
1567
 
1568
1568
  ## 🪄 MAGIC PHRASE: "codebakers go"
1569
1569
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -1606,7 +1606,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
1606
1606
  4. Show footer after code responses
1607
1607
  `;
1608
1608
 
1609
- const V6_CURSORRULES = `# CodeBakers v6.17
1609
+ const V6_CURSORRULES = `# CodeBakers v6.19
1610
1610
 
1611
1611
  ## 🪄 "codebakers go" = Start onboarding conversation
1612
1612
  Ask existing/new → Ask what to build → Call init_project() → Help them build
package/src/mcp/server.ts CHANGED
@@ -1191,13 +1191,13 @@ class CodeBakersServer {
1191
1191
  {
1192
1192
  name: 'update_patterns',
1193
1193
  description:
1194
- 'Update to CodeBakers v6.14 server-enforced patterns. Use when user says "upgrade codebakers", "update patterns", or "sync codebakers". In v6.14, patterns are server-side - this tool installs minimal bootstrap files (CLAUDE.md and .cursorrules) and removes old .claude/ folder if present.',
1194
+ 'Update to CodeBakers v6.19 server-enforced patterns. Use when user says "upgrade codebakers", "update patterns", or "sync codebakers". In v6.19, patterns are server-side - this tool installs minimal bootstrap files (CLAUDE.md and .cursorrules) and removes old .claude/ folder if present.',
1195
1195
  inputSchema: {
1196
1196
  type: 'object' as const,
1197
1197
  properties: {
1198
1198
  force: {
1199
1199
  type: 'boolean',
1200
- description: 'Force reinstall even if already on v6.14 (default: false)',
1200
+ description: 'Force reinstall even if already on v6.19 (default: false)',
1201
1201
  },
1202
1202
  },
1203
1203
  },
@@ -2834,10 +2834,10 @@ Or if user declines, call without fullDeploy:
2834
2834
  // Use default
2835
2835
  }
2836
2836
 
2837
- results.push(`# 🎨 Adding CodeBakers v6.17 to: ${projectName}\n`);
2837
+ results.push(`# 🎨 Adding CodeBakers v6.19 to: ${projectName}\n`);
2838
2838
 
2839
- // v6.17 bootstrap content - magic phrase + rules at START and END + coherence
2840
- const V6_CLAUDE_MD = `# CodeBakers v6.17
2839
+ // v6.19 bootstrap content - magic phrase + rules at START and END + coherence
2840
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
2841
2841
 
2842
2842
  ## 🪄 MAGIC PHRASE: "codebakers go"
2843
2843
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -2880,7 +2880,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
2880
2880
  4. Show footer after code responses
2881
2881
  `;
2882
2882
 
2883
- const V6_CURSORRULES = `# CodeBakers v6.17
2883
+ const V6_CURSORRULES = `# CodeBakers v6.19
2884
2884
 
2885
2885
  ## 🪄 "codebakers go" = Start onboarding conversation
2886
2886
  Ask existing/new → Ask what to build → Call init_project() → Help them build
@@ -2906,27 +2906,27 @@ Use coherence_audit() to check wiring & dependencies
2906
2906
  3. validate_complete() before done
2907
2907
  `;
2908
2908
 
2909
- // Check if already v6.16
2909
+ // Check if already v6.19+
2910
2910
  const claudeMdPath = path.join(cwd, 'CLAUDE.md');
2911
2911
  if (fs.existsSync(claudeMdPath)) {
2912
2912
  const content = fs.readFileSync(claudeMdPath, 'utf-8');
2913
- if ((content.includes('v6.16') || content.includes('v6.17')) && content.includes('discover_patterns')) {
2914
- results.push('✓ CodeBakers v6.17 already installed\n');
2913
+ if ((content.includes('v6.16') || content.includes('v6.17') || content.includes('v6.18') || content.includes('v6.19')) && content.includes('discover_patterns')) {
2914
+ results.push('✓ CodeBakers v6.19 already installed\n');
2915
2915
  results.push('Patterns are server-enforced. Just call `discover_patterns` before coding!');
2916
2916
  return {
2917
2917
  content: [{ type: 'text' as const, text: results.join('\n') }],
2918
2918
  };
2919
2919
  }
2920
- results.push('⚠️ Upgrading to v6.16 (server-enforced patterns)...\n');
2920
+ results.push('⚠️ Upgrading to v6.19 (server-enforced patterns)...\n');
2921
2921
  }
2922
2922
 
2923
2923
  try {
2924
- // Write v6.16 bootstrap files
2924
+ // Write v6.19 bootstrap files
2925
2925
  fs.writeFileSync(claudeMdPath, V6_CLAUDE_MD);
2926
- results.push('✓ Created CLAUDE.md (v6.16 bootstrap)');
2926
+ results.push('✓ Created CLAUDE.md (v6.19 bootstrap)');
2927
2927
 
2928
2928
  fs.writeFileSync(path.join(cwd, '.cursorrules'), V6_CURSORRULES);
2929
- results.push('✓ Created .cursorrules (v6.16 bootstrap)');
2929
+ results.push('✓ Created .cursorrules (v6.19 bootstrap)');
2930
2930
 
2931
2931
  // Remove old .claude folder if it exists (v5 → v6 migration)
2932
2932
  const claudeDir = path.join(cwd, '.claude');
@@ -2967,13 +2967,13 @@ Use coherence_audit() to check wiring & dependencies
2967
2967
  // Ignore errors
2968
2968
  }
2969
2969
  }
2970
- state.version = '6.0';
2970
+ state.version = '6.19';
2971
2971
  state.serverEnforced = true;
2972
2972
  state.updatedAt = new Date().toISOString();
2973
2973
  fs.writeFileSync(stateFile, JSON.stringify(state, null, 2));
2974
2974
 
2975
2975
  results.push('\n---\n');
2976
- results.push('## ✅ CodeBakers v6.17 Installed!\n');
2976
+ results.push('## ✅ CodeBakers v6.19 Installed!\n');
2977
2977
  results.push('**How it works now:**');
2978
2978
  results.push('1. Call `discover_patterns` before writing code');
2979
2979
  results.push('2. Server returns all patterns and rules');
@@ -7518,7 +7518,7 @@ ${handlers.join('\n')}
7518
7518
  }
7519
7519
 
7520
7520
  /**
7521
- * Update to CodeBakers v6.17 - server-enforced patterns with magic phrase + coherence
7521
+ * Update to CodeBakers v6.19 - server-enforced patterns with magic phrase + coherence
7522
7522
  * This is the MCP equivalent of the `codebakers upgrade` CLI command
7523
7523
  */
7524
7524
  private async handleUpdatePatterns(args: { force?: boolean }) {
@@ -7528,10 +7528,10 @@ ${handlers.join('\n')}
7528
7528
  const claudeDir = path.join(cwd, '.claude');
7529
7529
  const codebakersJson = path.join(cwd, '.codebakers.json');
7530
7530
 
7531
- let response = `# 🔄 CodeBakers v6.17 Update\n\n`;
7531
+ let response = `# 🔄 CodeBakers v6.19 Update\n\n`;
7532
7532
 
7533
- // v6.17 bootstrap content - magic phrase + rules at START and END + coherence
7534
- const V6_CLAUDE_MD = `# CodeBakers v6.17
7533
+ // v6.19 bootstrap content - magic phrase + rules at START and END + coherence
7534
+ const V6_CLAUDE_MD = `# CodeBakers v6.19
7535
7535
 
7536
7536
  ## 🪄 MAGIC PHRASE: "codebakers go"
7537
7537
  When user says "codebakers go" in chat, start the onboarding conversation:
@@ -7574,7 +7574,7 @@ Footer (after code): 🍪 **CodeBakers** | Patterns: X | TSC: ✅ | Tests: ✅
7574
7574
  4. Show footer after code responses
7575
7575
  `;
7576
7576
 
7577
- const V6_CURSORRULES = `# CodeBakers v6.17
7577
+ const V6_CURSORRULES = `# CodeBakers v6.19
7578
7578
 
7579
7579
  ## 🪄 "codebakers go" = Start onboarding conversation
7580
7580
  Ask existing/new → Ask what to build → Call init_project() → Help them build
@@ -7607,7 +7607,7 @@ Use coherence_audit() to check wiring & dependencies
7607
7607
 
7608
7608
  if (fs.existsSync(claudeMdPath)) {
7609
7609
  const content = fs.readFileSync(claudeMdPath, 'utf-8');
7610
- isV6 = content.includes('v6.16') && content.includes('discover_patterns');
7610
+ isV6 = (content.includes('v6.16') || content.includes('v6.17') || content.includes('v6.18') || content.includes('v6.19')) && content.includes('discover_patterns');
7611
7611
  }
7612
7612
 
7613
7613
  if (fs.existsSync(codebakersJson)) {
@@ -7621,11 +7621,11 @@ Use coherence_audit() to check wiring & dependencies
7621
7621
 
7622
7622
  response += `## Current Status\n`;
7623
7623
  response += `- Version: ${currentVersion || 'Unknown'}\n`;
7624
- response += `- v6.16 (Server-Enforced): ${isV6 ? 'Yes ✓' : 'No'}\n\n`;
7624
+ response += `- v6.19 (Server-Enforced): ${isV6 ? 'Yes ✓' : 'No'}\n\n`;
7625
7625
 
7626
7626
  // Check if already on v6
7627
7627
  if (isV6 && !force) {
7628
- response += `✅ **Already on v6.16!**\n\n`;
7628
+ response += `✅ **Already on v6.19!**\n\n`;
7629
7629
  response += `Your patterns are server-enforced. Just use \`discover_patterns\` before coding.\n`;
7630
7630
  response += `Use \`force: true\` to reinstall bootstrap files.\n`;
7631
7631
  response += this.getUpdateNotice();
@@ -7638,14 +7638,14 @@ Use coherence_audit() to check wiring & dependencies
7638
7638
  };
7639
7639
  }
7640
7640
 
7641
- response += `## Upgrading to v6.16...\n\n`;
7641
+ response += `## Upgrading to v6.19...\n\n`;
7642
7642
 
7643
- // Write v6.16 bootstrap files
7643
+ // Write v6.19 bootstrap files
7644
7644
  fs.writeFileSync(claudeMdPath, V6_CLAUDE_MD);
7645
- response += `✓ Updated CLAUDE.md (v6.16 bootstrap)\n`;
7645
+ response += `✓ Updated CLAUDE.md (v6.19 bootstrap)\n`;
7646
7646
 
7647
7647
  fs.writeFileSync(path.join(cwd, '.cursorrules'), V6_CURSORRULES);
7648
- response += `✓ Updated .cursorrules (v6.16 bootstrap)\n`;
7648
+ response += `✓ Updated .cursorrules (v6.19 bootstrap)\n`;
7649
7649
 
7650
7650
  // Remove old .claude folder (v5 → v6 migration)
7651
7651
  if (fs.existsSync(claudeDir)) {
@@ -7666,18 +7666,18 @@ Use coherence_audit() to check wiring & dependencies
7666
7666
  // Ignore errors
7667
7667
  }
7668
7668
  }
7669
- state.version = '6.0';
7669
+ state.version = '6.19';
7670
7670
  state.serverEnforced = true;
7671
7671
  state.updatedAt = new Date().toISOString();
7672
7672
  fs.writeFileSync(codebakersJson, JSON.stringify(state, null, 2));
7673
7673
  response += `✓ Updated .codebakers.json\n`;
7674
7674
 
7675
7675
  // Confirm to server (non-blocking analytics)
7676
- this.confirmDownload('6.0', 0).catch(() => {});
7676
+ this.confirmDownload('6.19', 0).catch(() => {});
7677
7677
 
7678
7678
  response += `\n## ✅ Upgrade Complete!\n\n`;
7679
- response += `**What changed in v6.14:**\n`;
7680
- response += `- No local pattern files (.claude/ folder removed)\n`;
7679
+ response += `**What changed in v6.19:**\n`;
7680
+ response += `- Slim bootstrap files (358 lines vs 2,280)\n`;
7681
7681
  response += `- All patterns fetched from server in real-time\n`;
7682
7682
  response += `- Server tracks compliance via discover_patterns/validate_complete\n\n`;
7683
7683
  response += `**How to use:**\n`;
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli
@@ -0,0 +1 @@
1
+ /c/dev/1 - CodeBakers/codebakers-server/cli