sinapse-ai 7.1.0 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.sinapse-ai/data/entity-registry.yaml +749 -757
  2. package/.sinapse-ai/install-manifest.yaml +4 -4
  3. package/bin/cli.js +116 -75
  4. package/package.json +2 -1
  5. package/squads/claude-code-mastery/CHANGELOG.md +22 -0
  6. package/squads/claude-code-mastery/README.md +146 -0
  7. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
  8. package/squads/claude-code-mastery/agents/config-engineer.md +865 -0
  9. package/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
  10. package/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
  11. package/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
  12. package/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
  13. package/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
  14. package/squads/claude-code-mastery/agents/swarm-orqx.md +1008 -0
  15. package/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
  16. package/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
  17. package/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
  18. package/squads/claude-code-mastery/checklists/context-rot-checklist.md +114 -0
  19. package/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
  20. package/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
  21. package/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
  22. package/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
  23. package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +314 -0
  24. package/squads/claude-code-mastery/data/hook-patterns.yaml +512 -0
  25. package/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
  26. package/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
  27. package/squads/claude-code-mastery/scripts/validate-setup.js +163 -0
  28. package/squads/claude-code-mastery/squad.yaml +205 -0
  29. package/squads/claude-code-mastery/tasks/audit-integration.md +219 -0
  30. package/squads/claude-code-mastery/tasks/audit-settings.md +206 -0
  31. package/squads/claude-code-mastery/tasks/audit-setup.md +225 -0
  32. package/squads/claude-code-mastery/tasks/brownfield-setup.md +322 -0
  33. package/squads/claude-code-mastery/tasks/ci-cd-setup.md +335 -0
  34. package/squads/claude-code-mastery/tasks/claude-md-engineer.md +334 -0
  35. package/squads/claude-code-mastery/tasks/configure-claude-code.md +215 -0
  36. package/squads/claude-code-mastery/tasks/context-rot-audit.md +329 -0
  37. package/squads/claude-code-mastery/tasks/create-agent-definition.md +278 -0
  38. package/squads/claude-code-mastery/tasks/create-rules.md +206 -0
  39. package/squads/claude-code-mastery/tasks/create-team-topology.md +258 -0
  40. package/squads/claude-code-mastery/tasks/diagnose.md +166 -0
  41. package/squads/claude-code-mastery/tasks/enterprise-config.md +346 -0
  42. package/squads/claude-code-mastery/tasks/hook-designer.md +272 -0
  43. package/squads/claude-code-mastery/tasks/integrate-project.md +304 -0
  44. package/squads/claude-code-mastery/tasks/mcp-integration-plan.md +229 -0
  45. package/squads/claude-code-mastery/tasks/mcp-workflow.md +285 -0
  46. package/squads/claude-code-mastery/tasks/multi-project-setup.md +228 -0
  47. package/squads/claude-code-mastery/tasks/optimize-context.md +217 -0
  48. package/squads/claude-code-mastery/tasks/optimize-workflow.md +226 -0
  49. package/squads/claude-code-mastery/tasks/parallel-decomposition.md +293 -0
  50. package/squads/claude-code-mastery/tasks/permission-strategy.md +266 -0
  51. package/squads/claude-code-mastery/tasks/sandbox-setup.md +279 -0
  52. package/squads/claude-code-mastery/tasks/setup-repository.md +230 -0
  53. package/squads/claude-code-mastery/tasks/setup-wizard.md +236 -0
  54. package/squads/claude-code-mastery/tasks/worktree-strategy.md +320 -0
  55. package/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
  56. package/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
  57. package/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
  58. package/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
  59. package/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
  60. package/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
  61. package/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
  62. package/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +140 -0
  63. package/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +165 -0
  64. package/squads/claude-code-mastery/workflows/wf-project-setup.yaml +192 -0
@@ -7,8 +7,8 @@
7
7
  # - SHA256 hashes for change detection
8
8
  # - File types for categorization
9
9
  #
10
- version: 7.1.0
11
- generated_at: "2026-03-26T01:21:15.416Z"
10
+ version: 7.2.0
11
+ generated_at: "2026-03-26T05:43:00.009Z"
12
12
  generator: scripts/generate-install-manifest.js
13
13
  file_count: 1082
14
14
  files:
@@ -1217,9 +1217,9 @@ files:
1217
1217
  type: data
1218
1218
  size: 9586
1219
1219
  - path: data/entity-registry.yaml
1220
- hash: sha256:b5d51b4bdde59ce778d619c8e7e8c2797f277ba95670983a51b81b3b5811cfe9
1220
+ hash: sha256:a6566bf25cc73144d7fde73b13baacc08ed1c23e917eb42463d19cad97a09d4d
1221
1221
  type: data
1222
- size: 514036
1222
+ size: 513853
1223
1223
  - path: data/learned-patterns.yaml
1224
1224
  hash: sha256:24ac0b160615583a0ff783d3da8af80b7f94191575d6db2054ec8e10a3f945dc
1225
1225
  type: data
package/bin/cli.js CHANGED
@@ -48,10 +48,13 @@ function getSquads(baseDir) {
48
48
  const squads = [];
49
49
  let entries;
50
50
  try {
51
- entries = fs.readdirSync(baseDir).filter(d =>
52
- d.startsWith('squad-') && !d.includes('.deprecated') &&
53
- fs.statSync(path.join(baseDir, d)).isDirectory()
54
- );
51
+ entries = fs.readdirSync(baseDir).filter(d => {
52
+ if (d.includes('.deprecated') || d.startsWith('.')) return false;
53
+ const dirPath = path.join(baseDir, d);
54
+ if (!fs.statSync(dirPath).isDirectory()) return false;
55
+ // Include squad-* dirs OR any dir with a squad.yaml manifest
56
+ return d.startsWith('squad-') || fs.existsSync(path.join(dirPath, 'squad.yaml'));
57
+ });
55
58
  } catch { return squads; }
56
59
 
57
60
  for (const dir of entries) {
@@ -124,10 +127,58 @@ function toForwardSlash(p) {
124
127
  return p.replace(/\\/g, '/');
125
128
  }
126
129
 
130
+ /**
131
+ * Prompt user to select LLM(s) — inquirer checkbox with readline fallback.
132
+ * @returns {Promise<string>} 'claude-code' | 'codex' | 'both'
133
+ */
134
+ async function promptLlmChoice() {
135
+ try {
136
+ const inquirer = require('inquirer');
137
+ const { llms } = await inquirer.prompt([{
138
+ type: 'checkbox',
139
+ name: 'llms',
140
+ message: 'Escolha sua LLM (espaco seleciona, enter confirma):',
141
+ choices: [
142
+ { name: 'Claude Code (Recomendado)', value: 'claude-code', checked: true },
143
+ { name: 'Codex CLI', value: 'codex' },
144
+ ],
145
+ }]);
146
+ if (llms.length === 0) return 'claude-code'; // default if none selected
147
+ if (llms.length === 2) return 'both';
148
+ return llms[0];
149
+ } catch {
150
+ // Fallback: readline numbered choice
151
+ const readline = require('readline');
152
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
153
+ return new Promise((resolve) => {
154
+ console.log(`${CYAN} Escolha sua LLM:${NC}`);
155
+ console.log(` ${GREEN}1${NC}) Claude Code ${DIM}(Recomendado)${NC}`);
156
+ console.log(` ${GREEN}2${NC}) Codex CLI`);
157
+ console.log(` ${GREEN}3${NC}) Ambos`);
158
+ console.log('');
159
+ rl.question(` ${BOLD}Opcao [1/2/3]:${NC} `, (answer) => {
160
+ rl.close();
161
+ const choice = (answer || '1').trim();
162
+ if (choice === '2') resolve('codex');
163
+ else if (choice === '3') resolve('both');
164
+ else resolve('claude-code');
165
+ });
166
+ });
167
+ }
168
+ }
169
+
127
170
  // ── Global Install ───────────────────────────────────────────────────────────
128
171
 
129
- function cmdInstallGlobal() {
172
+ async function cmdInstallGlobal() {
130
173
  header();
174
+ console.log(`${BOLD} Bem-vindo ao SINAPSE AI!${NC}`);
175
+ console.log(`${DIM} Vamos configurar seu copiloto de inteligencia artificial.${NC}`);
176
+ console.log('');
177
+
178
+ // LLM selection (inquirer checkbox with readline fallback)
179
+ const llmChoice = await promptLlmChoice();
180
+
181
+ console.log('');
131
182
  console.log(`${BOLD}Installing Sinapse globally...${NC}\n`);
132
183
 
133
184
  // Validate package — squads live in squads/ subdirectory
@@ -164,7 +215,7 @@ function cmdInstallGlobal() {
164
215
  console.log(` ${GREEN}OK${NC} sinapse (master, ${masterAgents} agents)`);
165
216
  }
166
217
 
167
- // Phase 2: Generate global commands
218
+ // Phase 2: Generate orqx commands
168
219
  console.log(`\n${CYAN}Phase 2:${NC} Generating agent commands`);
169
220
  fs.mkdirSync(CLAUDE_COMMANDS_DIR, { recursive: true });
170
221
 
@@ -175,23 +226,10 @@ function cmdInstallGlobal() {
175
226
  }
176
227
  } catch {}
177
228
 
178
- let cmdCount = 0;
179
229
  const sinapseBase = toForwardSlash(SINAPSE_HOME);
230
+ const writtenAgents = new Set();
180
231
 
181
- // Also copy framework agent commands (sinapse-orqx, dev, qa, etc.) if they exist in package
182
- const frameworkCmdsDir = path.join(ROOT, '.claude', 'commands', 'SINAPSE', 'agents');
183
- if (fs.existsSync(frameworkCmdsDir)) {
184
- for (const f of fs.readdirSync(frameworkCmdsDir).filter(f => f.endsWith('.md'))) {
185
- let content = fs.readFileSync(path.join(frameworkCmdsDir, f), 'utf8');
186
- // Update paths to point to ~/.sinapse/
187
- content = content.replace(/\.sinapse-core\//g, `${sinapseBase}/.sinapse-core/`);
188
- fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, f), content);
189
- cmdCount++;
190
- }
191
- console.log(` ${GREEN}OK${NC} Framework agents — ${cmdCount} agents`);
192
- }
193
-
194
- // Generate commands only for orqx agents (user-facing orchestrators)
232
+ // Generate commands for orqx agents from squads (dynamic paths, always correct)
195
233
  for (const squad of squads) {
196
234
  const squadPath = `${sinapseBase}/${squad.name}`;
197
235
  const agentsDir = path.join(SINAPSE_HOME, squad.name, 'agents');
@@ -203,7 +241,7 @@ function cmdInstallGlobal() {
203
241
  const meta = extractAgentMeta(path.join(agentsDir, file));
204
242
  const cmdContent = generateCommandMd(agentId, meta.name, meta.icon, squad.name, squadPath, file);
205
243
  fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, `${agentId}.md`), cmdContent);
206
- cmdCount++;
244
+ writtenAgents.add(file);
207
245
  }
208
246
  }
209
247
 
@@ -212,17 +250,36 @@ function cmdInstallGlobal() {
212
250
  const masterAgentsDir = path.join(sinapseMasterDest, 'agents');
213
251
  if (fs.existsSync(masterAgentsDir)) {
214
252
  for (const file of fs.readdirSync(masterAgentsDir).filter(f => f.endsWith('.md'))) {
253
+ if (writtenAgents.has(file)) continue;
215
254
  const agentId = file.replace('.md', '');
216
- if (fs.existsSync(path.join(CLAUDE_COMMANDS_DIR, `${agentId}.md`))) continue; // skip if framework version exists
217
255
  const meta = extractAgentMeta(path.join(masterAgentsDir, file));
218
256
  const squadPath = `${sinapseBase}/sinapse`;
219
257
  const cmdContent = generateCommandMd(agentId, meta.name, meta.icon, 'sinapse', squadPath, file);
220
258
  fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, `${agentId}.md`), cmdContent);
221
- cmdCount++;
259
+ writtenAgents.add(file);
222
260
  }
223
261
  }
224
262
  }
225
- console.log(` ${GREEN}OK${NC} ${cmdCount} total command files`);
263
+ console.log(` ${GREEN}OK${NC} ${writtenAgents.size} total command files`);
264
+
265
+ // Phase 2b: Install global agents based on LLM choice
266
+ if (llmChoice === 'claude-code' || llmChoice === 'both') {
267
+ const globalAgentsDir = path.join(HOME, '.claude', 'agents');
268
+ fs.mkdirSync(globalAgentsDir, { recursive: true });
269
+ for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
270
+ fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(globalAgentsDir, f));
271
+ }
272
+ console.log(` ${GREEN}OK${NC} Claude Code global agents (${writtenAgents.size})`);
273
+ }
274
+
275
+ if (llmChoice === 'codex' || llmChoice === 'both') {
276
+ const codexAgentsDir = path.join(HOME, '.codex', 'agents');
277
+ fs.mkdirSync(codexAgentsDir, { recursive: true });
278
+ for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
279
+ fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(codexAgentsDir, f));
280
+ }
281
+ console.log(` ${GREEN}OK${NC} Codex global agents (${writtenAgents.size})`);
282
+ }
226
283
 
227
284
  // Phase 3: Generate squad-awareness.md
228
285
  console.log(`\n${CYAN}Phase 3:${NC} Generating squad-awareness rules`);
@@ -243,7 +300,8 @@ function cmdInstallGlobal() {
243
300
  installedAt: new Date().toISOString(),
244
301
  squads: squads.length,
245
302
  agents: totalAgents,
246
- commands: cmdCount,
303
+ commands: writtenAgents.size,
304
+ llm: llmChoice,
247
305
  platform: process.platform,
248
306
  };
249
307
  fs.writeFileSync(path.join(SINAPSE_HOME, 'metadata.json'), JSON.stringify(meta, null, 2));
@@ -252,23 +310,23 @@ function cmdInstallGlobal() {
252
310
  console.log(`\n${CYAN}Verification:${NC}`);
253
311
  verifyInstall();
254
312
 
255
- // Success
313
+ // Success message
314
+ let startCmd;
315
+ if (llmChoice === 'codex') startCmd = `Run ${CYAN}codex${NC} to start`;
316
+ else if (llmChoice === 'both') startCmd = `Run ${CYAN}sinapse${NC} or ${CYAN}codex${NC} to start`;
317
+ else startCmd = `Run ${CYAN}sinapse${NC} to start Claude Code with all agents`;
318
+
256
319
  console.log('');
257
320
  console.log(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
258
321
  console.log(`${GREEN} Sinapse installed successfully!${NC}`);
259
322
  console.log(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
260
323
  console.log('');
261
- console.log(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${cmdCount} agents${NC} | All under ${CYAN}/SINAPSE:agents:*${NC}`);
262
- console.log('');
263
- console.log(` ${BOLD}Next steps:${NC}`);
264
- console.log(` 1. Restart your terminal (for PATH changes)`);
265
- console.log(` 2. Run ${CYAN}sinapse${NC} to start Claude Code with all agents`);
266
- console.log(` 3. Or: ${CYAN}claude --add-dir ~/.sinapse${NC}`);
324
+ console.log(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${writtenAgents.size} orqx commands${NC}`);
325
+ console.log(` ${startCmd}`);
267
326
  console.log('');
268
327
  console.log(` ${BOLD}Try an agent:${NC}`);
269
328
  console.log(` ${CYAN}/SINAPSE:agents:sinapse-orqx${NC}`);
270
329
  console.log(` ${CYAN}/SINAPSE:agents:brand-orqx${NC}`);
271
- console.log(` ${CYAN}/SINAPSE:agents:dev${NC}`);
272
330
  console.log('');
273
331
  }
274
332
 
@@ -565,23 +623,8 @@ async function cmdUpdateGlobal() {
565
623
  console.log(`${DIM} Vamos atualizar seu SINAPSE AI para a v${VERSION}.${NC}`);
566
624
  console.log('');
567
625
 
568
- // LLM selection (re-choose on every update)
569
- const readline = require('readline');
570
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
571
- const llmChoice = await new Promise((resolve) => {
572
- console.log(`${CYAN} Escolha sua LLM:${NC}`);
573
- console.log(` ${GREEN}1${NC}) Claude Code ${DIM}(Recomendado)${NC}`);
574
- console.log(` ${GREEN}2${NC}) Codex CLI`);
575
- console.log(` ${GREEN}3${NC}) Ambos`);
576
- console.log('');
577
- rl.question(` ${BOLD}Opcao [1/2/3]:${NC} `, (answer) => {
578
- rl.close();
579
- const choice = (answer || '1').trim();
580
- if (choice === '2') resolve('codex');
581
- else if (choice === '3') resolve('both');
582
- else resolve('claude-code');
583
- });
584
- });
626
+ // LLM selection (inquirer checkbox with readline fallback)
627
+ const llmChoice = await promptLlmChoice();
585
628
 
586
629
  console.log('');
587
630
  console.log(`${BOLD}Atualizando SINAPSE AI...${NC}\n`);
@@ -614,19 +657,9 @@ async function cmdUpdateGlobal() {
614
657
  fs.mkdirSync(CLAUDE_COMMANDS_DIR, { recursive: true });
615
658
 
616
659
  const sinapseBase = toForwardSlash(SINAPSE_HOME);
617
- let cmdCount = 0;
618
-
619
- const frameworkCmdsDir = path.join(ROOT, '.claude', 'commands', 'SINAPSE', 'agents');
620
- if (fs.existsSync(frameworkCmdsDir)) {
621
- for (const f of fs.readdirSync(frameworkCmdsDir).filter(f => f.endsWith('.md'))) {
622
- let content = fs.readFileSync(path.join(frameworkCmdsDir, f), 'utf8');
623
- content = content.replace(/\.sinapse-core\//g, `${sinapseBase}/.sinapse-core/`);
624
- fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, f), content);
625
- cmdCount++;
626
- }
627
- }
660
+ const writtenAgents = new Set();
628
661
 
629
- // Count total agents and generate orqx commands (skip if already copied from framework)
662
+ // Generate commands for orqx agents from squads (dynamic paths)
630
663
  let totalAgents = 0;
631
664
  for (const squad of squads) {
632
665
  const agentsDir = path.join(SINAPSE_HOME, squad.name, 'agents');
@@ -635,21 +668,29 @@ async function cmdUpdateGlobal() {
635
668
  totalAgents += allAgents.length;
636
669
  const orqxAgents = allAgents.filter(f => f.includes('-orqx'));
637
670
  for (const file of orqxAgents) {
638
- const destPath = path.join(CLAUDE_COMMANDS_DIR, file);
639
- if (fs.existsSync(destPath)) continue; // skip if already from framework
640
671
  const agentId = file.replace('.md', '');
641
672
  const meta = extractAgentMeta(path.join(agentsDir, file));
642
673
  const squadPath = `${sinapseBase}/${squad.name}`;
643
- fs.writeFileSync(destPath, generateCommandMd(agentId, meta.name, meta.icon, squad.name, squadPath, file));
644
- cmdCount++;
674
+ fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, file), generateCommandMd(agentId, meta.name, meta.icon, squad.name, squadPath, file));
675
+ writtenAgents.add(file);
645
676
  }
646
677
  }
647
- // Also count sinapse/ orqx agents
678
+
679
+ // Generate commands for sinapse/ orqx squad agents
648
680
  const sinapseAgentsDir = path.join(SINAPSE_HOME, 'sinapse', 'agents');
649
681
  if (fs.existsSync(sinapseAgentsDir)) {
650
- totalAgents += fs.readdirSync(sinapseAgentsDir).filter(f => f.endsWith('.md')).length;
682
+ const masterAgents = fs.readdirSync(sinapseAgentsDir).filter(f => f.endsWith('.md'));
683
+ totalAgents += masterAgents.length;
684
+ for (const file of masterAgents) {
685
+ if (writtenAgents.has(file)) continue;
686
+ const agentId = file.replace('.md', '');
687
+ const meta = extractAgentMeta(path.join(sinapseAgentsDir, file));
688
+ const squadPath = `${sinapseBase}/sinapse`;
689
+ fs.writeFileSync(path.join(CLAUDE_COMMANDS_DIR, file), generateCommandMd(agentId, meta.name, meta.icon, 'sinapse', squadPath, file));
690
+ writtenAgents.add(file);
691
+ }
651
692
  }
652
- console.log(` ${GREEN}OK${NC} ${cmdCount} command files (${totalAgents} agents total)`);
693
+ console.log(` ${GREEN}OK${NC} ${writtenAgents.size} command files (${totalAgents} agents total)`);
653
694
 
654
695
  // Phase 2b: Install global agents based on LLM choice
655
696
  if (llmChoice === 'claude-code' || llmChoice === 'both') {
@@ -659,7 +700,7 @@ async function cmdUpdateGlobal() {
659
700
  for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
660
701
  fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(globalAgentsDir, f));
661
702
  }
662
- console.log(` ${GREEN}OK${NC} Claude Code global agents (${cmdCount})`);
703
+ console.log(` ${GREEN}OK${NC} Claude Code global agents (${writtenAgents.size})`);
663
704
  }
664
705
 
665
706
  if (llmChoice === 'codex' || llmChoice === 'both') {
@@ -669,7 +710,7 @@ async function cmdUpdateGlobal() {
669
710
  for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
670
711
  fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(codexAgentsDir, f));
671
712
  }
672
- console.log(` ${GREEN}OK${NC} Codex global agents (${cmdCount})`);
713
+ console.log(` ${GREEN}OK${NC} Codex global agents (${writtenAgents.size})`);
673
714
  }
674
715
 
675
716
  // Phase 3: Regenerate awareness
@@ -682,7 +723,7 @@ async function cmdUpdateGlobal() {
682
723
  const meta = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
683
724
  meta.updatedAt = new Date().toISOString();
684
725
  meta.squads = squads.length;
685
- meta.commands = cmdCount;
726
+ meta.commands = writtenAgents.size;
686
727
  fs.writeFileSync(metaPath, JSON.stringify(meta, null, 2));
687
728
 
688
729
  let startCmd;
@@ -695,7 +736,7 @@ async function cmdUpdateGlobal() {
695
736
  console.log(`${GREEN} SINAPSE AI atualizado para v${VERSION}!${NC}`);
696
737
  console.log(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
697
738
  console.log('');
698
- console.log(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${cmdCount} orqx commands${NC}`);
739
+ console.log(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${writtenAgents.size} orqx commands${NC}`);
699
740
  console.log(` ${startCmd}`);
700
741
  console.log('');
701
742
  }
@@ -858,7 +899,7 @@ const command = args[0] || 'help';
858
899
  const isLocal = args.includes('--local');
859
900
 
860
901
  switch (command) {
861
- case 'install': isLocal ? cmdInstallLocal() : cmdInstallGlobal(); break;
902
+ case 'install': isLocal ? cmdInstallLocal() : cmdInstallGlobal().catch(e => { console.error(e.message); process.exit(1); }); break;
862
903
  case 'update': isLocal ? cmdUpdateLocal() : cmdUpdateGlobal().catch(e => { console.error(e.message); process.exit(1); }); break;
863
904
  case 'uninstall': cmdUninstall(); break;
864
905
  case 'list': cmdList(); break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinapse-ai",
3
- "version": "7.1.0",
3
+ "version": "7.2.0",
4
4
  "description": "SINAPSE AI: Framework de orquestracao de IA — 18 squads, 174 agentes especializados",
5
5
  "bin": {
6
6
  "sinapse": "bin/sinapse.js",
@@ -21,6 +21,7 @@
21
21
  ".claude/rules/",
22
22
  ".claude/hooks/",
23
23
  "squads/squad-*/**",
24
+ "squads/claude-code-mastery/**",
24
25
  "squads/sinapse/**",
25
26
  "sinapse/**",
26
27
  "install-squads.sh",
@@ -0,0 +1,22 @@
1
+ # Changelog — claude-code-mastery
2
+
3
+ All notable changes to the Claude Code Mastery squad.
4
+
5
+ ## [1.0.0] - 2026-03-02
6
+
7
+ ### Added
8
+ - 8 specialist agents: claude-mastery-chief (Orion), hooks-architect (Latch), mcp-integrator (Piper), swarm-orqx (Nexus), config-engineer (Sigil), skill-craftsman (Anvil), project-integrator (Conduit), roadmap-sentinel (Vigil)
9
+ - 26 executable tasks across all agents
10
+ - 3 multi-phase workflows (wf-project-setup, wf-knowledge-update, wf-audit-complete)
11
+ - 5 knowledge base files (quick-ref, project-type-signatures, hook-patterns, ci-cd-patterns, mcp-catalog)
12
+ - 7 templates (5 CLAUDE.md project templates + 2 GitHub Actions workflows)
13
+ - 8 mind DNA summaries (disler, steipete, kieran-klaassen, reuven-cohen, superclaude-org, bmad-code-org, daniel-miessler, boris-cherny)
14
+ - 1 validation script (validate-setup.js)
15
+ - Tier architecture: Tier 0 (Diagnosis), Tier 1 (Core Mastery), Tier 2 (Strategic & Context)
16
+ - Handoff matrix with full routing between all agents
17
+ - SINAPSE integration bridge (agents, tasks, hooks, config mapping)
18
+
19
+ ### Architecture
20
+ - Entry agent: claude-mastery-chief (Orion) with 7-domain routing matrix
21
+ - Cross-cutting concern: all agents understand SINAPSE architecture
22
+ - Knowledge sources: Claude Code changelog, official docs, community resources
@@ -0,0 +1,146 @@
1
+ # Claude Code Mastery Squad
2
+
3
+ > Full-spectrum expertise in Claude Code: hooks, skills, subagents, MCP, plugins, agent teams, customization, integration, and roadmap awareness.
4
+
5
+ **Version:** 1.0.0 | **Created:** 2026-03-01 | **Total:** 8 agents, 6,741 lines
6
+
7
+ ## Squad Architecture
8
+
9
+ ```
10
+ Orion (Orchestrator)
11
+ claude-mastery-chief [Tier 0]
12
+ |
13
+ ┌─────────┬───────┴───────┬──────────┐
14
+ | | | |
15
+ ┌───────┴──┐ ┌───┴────┐ ┌──────┴───┐ ┌───┴──────┐
16
+ | Latch | | Piper | | Nexus | | Sigil |
17
+ | Hooks | | MCP | | Swarm | | Config |
18
+ | Tier 1 | | Tier 1 | | Tier 1 | | Tier 1 |
19
+ └──────────┘ └────────┘ └──────────┘ └──────────┘
20
+ | | |
21
+ ┌───────┴──┐ ┌───┴────┐ ┌──────┴───┐
22
+ | Anvil | | Conduit| | Vigil |
23
+ | Skills | | Project| | Roadmap |
24
+ | Tier 2 | | Tier 2 | | Tier 2 |
25
+ └──────────┘ └────────┘ └──────────┘
26
+ ```
27
+
28
+ ## Agents
29
+
30
+ | Tier | Agent | Persona | Based On | Lines | Focus |
31
+ |------|-------|---------|----------|-------|-------|
32
+ | 0 | claude-mastery-chief | Orion | Original | 554 | Triage, routing, cross-cutting knowledge |
33
+ | 1 | hooks-architect | Latch | disler (IndyDevDan) | 1,013 | 17 hook events, automation, damage control |
34
+ | 1 | mcp-integrator | Piper | Peter Steinberger (@steipete) | 791 | MCP servers, tool discovery, context budget |
35
+ | 1 | swarm-orqx | Nexus | Kieran Klaassen + Reuven Cohen | 1,008 | Agent teams, subagents, parallel execution |
36
+ | 1 | config-engineer | Sigil | SuperClaude-Org | 663 | Settings, permissions, CLAUDE.md, sandbox |
37
+ | 2 | skill-craftsman | Anvil | BMAD-CODE-ORG | 1,046 | Skills, plugins, commands, context engineering |
38
+ | 2 | project-integrator | Conduit | Daniel Miessler (PAI) | 959 | Project integration, CI/CD, SINAPSE bridge |
39
+ | 2 | roadmap-sentinel | Vigil | Boris Cherny | 707 | Roadmap, changelog, feature adoption |
40
+
41
+ ## Quick Start
42
+
43
+ ### Activate the Orchestrator
44
+ ```
45
+ @claude-code-mastery:claude-mastery-chief
46
+ ```
47
+ Or use the SINAPSE activation:
48
+ ```
49
+ /SINAPSE:agents:claude-mastery-chief
50
+ ```
51
+
52
+ ### Direct Specialist Access
53
+ ```
54
+ /SINAPSE:agents:hooks-architect # Hook automation
55
+ /SINAPSE:agents:mcp-integrator # MCP servers
56
+ /SINAPSE:agents:swarm-orqx # Multi-agent orchestration
57
+ /SINAPSE:agents:config-engineer # Settings & permissions
58
+ /SINAPSE:agents:skill-craftsman # Skills & plugins
59
+ /SINAPSE:agents:project-integrator # Project integration
60
+ /SINAPSE:agents:roadmap-sentinel # Updates & roadmap
61
+ ```
62
+
63
+ ## Feature Coverage
64
+
65
+ | Claude Code Feature | Specialist | Key Commands |
66
+ |-------------------|-----------|-------------|
67
+ | Hooks (17 events) | Latch | `*create-hook`, `*audit-hooks`, `*hook-patterns` |
68
+ | MCP Integration | Piper | `*add-server`, `*audit-mcp`, `*create-mcp-server` |
69
+ | Subagents & Teams | Nexus | `*create-agent`, `*create-team`, `*orchestrate` |
70
+ | Settings & Permissions | Sigil | `*configure`, `*permission-strategy`, `*sandbox-setup` |
71
+ | Skills & Plugins | Anvil | `*create-skill`, `*create-plugin`, `*context-strategy` |
72
+ | Project Integration | Conduit | `*integrate-project`, `*brownfield-setup`, `*ci-cd-setup` |
73
+ | Roadmap & Updates | Vigil | `*update-knowledge`, `*feature-radar`, `*migration-guide` |
74
+ | SINAPSE Bridge | Orion + Conduit | `*sinapse-bridge`, `*sinapse-guide` |
75
+
76
+ ## Elite Minds Research Attribution
77
+
78
+ This squad was created through iterative research with devil's advocate validation (3 iterations). Each agent is based on real people/projects with documented frameworks:
79
+
80
+ | Mind | Contribution | Source |
81
+ |------|-------------|--------|
82
+ | **disler** (IndyDevDan) | Hooks Mastery framework, meta-agent patterns, damage control | [GitHub](https://github.com/disler/claude-code-hooks-mastery) |
83
+ | **Peter Steinberger** (@steipete) | claude-code-mcp, multi-instance workflow, CLI-first philosophy | [Blog](https://steipete.me/), [GitHub](https://github.com/steipete/claude-code-mcp) |
84
+ | **Kieran Klaassen** | TeammateTool discovery, swarm patterns documentation | [Gists](https://gist.github.com/kieranklaassen) |
85
+ | **Reuven Cohen** (ruvnet) | Ruflo orchestration platform, 54+ agents, WASM kernels | [GitHub](https://github.com/ruvnet/ruflo) |
86
+ | **SuperClaude-Org** | 9 cognitive personas, 5 behavioral modes, pure .md config | [GitHub](https://github.com/SuperClaude-Org/SuperClaude_Framework) |
87
+ | **BMAD-CODE-ORG** | BMAD Method, 21 agents, 50+ workflows, spec-driven development | [Docs](https://docs.bmad-method.org/) |
88
+ | **Daniel Miessler** | Personal AI Infrastructure (PAI), Unix philosophy for AI | [Blog](https://danielmiessler.com/), [GitHub](https://github.com/danielmiessler/Personal_AI_Infrastructure) |
89
+ | **Boris Cherny** | Claude Code creator, plan-first methodology, parallel instances | [Blog](https://boristane.com/), [Pragmatic Engineer](https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built) |
90
+
91
+ ## SINAPSE Integration
92
+
93
+ This squad understands both Claude Code native capabilities AND the SINAPSE framework:
94
+
95
+ | SINAPSE Concept | Claude Code Equivalent | Bridge Agent |
96
+ |-------------|----------------------|-------------|
97
+ | Agents (@developer, @qa...) | Subagents (.claude/agents/) | Nexus |
98
+ | Tasks (.sinapse-ai/tasks/) | Skills (.claude/skills/) | Anvil |
99
+ | Workflows | Multi-step sessions | Nexus + Orion |
100
+ | core-config.yaml | .claude/settings.json | Sigil |
101
+ | Python hooks (monitor/) | Native hooks (command/http/prompt/agent) | Latch |
102
+ | Quality gates | Hook-based validation | Latch + Sigil |
103
+ | Entity registry | Tool Search + MCP registry | Piper |
104
+
105
+ ## Directory Structure
106
+
107
+ ```
108
+ squads/claude-code-mastery/
109
+ ├── config.yaml # Squad configuration and tier architecture
110
+ ├── README.md # This file
111
+ ├── agents/
112
+ │ ├── claude-mastery-chief.md # Tier 0: Orchestrator (Orion)
113
+ │ ├── hooks-architect.md # Tier 1: Hooks (Latch)
114
+ │ ├── mcp-integrator.md # Tier 1: MCP (Piper)
115
+ │ ├── swarm-orqx.md # Tier 1: Subagents/Teams (Nexus)
116
+ │ ├── config-engineer.md # Tier 1: Settings/Config (Sigil)
117
+ │ ├── skill-craftsman.md # Tier 2: Skills/Plugins (Anvil)
118
+ │ ├── project-integrator.md # Tier 2: Integration (Conduit)
119
+ │ └── roadmap-sentinel.md # Tier 2: Roadmap (Vigil)
120
+ ├── tasks/ # Squad-specific tasks
121
+ ├── workflows/ # Multi-phase workflows
122
+ ├── templates/ # Output templates
123
+ ├── data/ # Reference data
124
+ ├── scripts/ # Utility scripts
125
+ └── outputs/
126
+ └── minds/ # Mind DNA extractions
127
+ ```
128
+
129
+ ## Quality Metrics
130
+
131
+ | Metric | Value |
132
+ |--------|-------|
133
+ | Total agents | 8 |
134
+ | Total lines | 6,741 |
135
+ | Avg lines/agent | 843 |
136
+ | Tier 0 coverage | 1 orchestrator |
137
+ | Tier 1 coverage | 4 core specialists |
138
+ | Tier 2 coverage | 3 strategic specialists |
139
+ | Minds cloned | 8 (from 7 distinct sources) |
140
+ | Research iterations | 3 (with devil's advocate) |
141
+ | Naming collisions fixed | 2 (Piper, Sigil) |
142
+
143
+ ---
144
+
145
+ *Claude Code Mastery Squad v1.0 — Created by Squad Architect*
146
+ *Philosophy: "Master the tool to master the craft."*