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.
- package/.sinapse-ai/data/entity-registry.yaml +749 -757
- package/.sinapse-ai/install-manifest.yaml +4 -4
- package/bin/cli.js +116 -75
- package/package.json +2 -1
- package/squads/claude-code-mastery/CHANGELOG.md +22 -0
- package/squads/claude-code-mastery/README.md +146 -0
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
- package/squads/claude-code-mastery/agents/config-engineer.md +865 -0
- package/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
- package/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
- package/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
- package/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
- package/squads/claude-code-mastery/agents/swarm-orqx.md +1008 -0
- package/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
- package/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
- package/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
- package/squads/claude-code-mastery/checklists/context-rot-checklist.md +114 -0
- package/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
- package/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
- package/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
- package/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
- package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +314 -0
- package/squads/claude-code-mastery/data/hook-patterns.yaml +512 -0
- package/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
- package/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
- package/squads/claude-code-mastery/scripts/validate-setup.js +163 -0
- package/squads/claude-code-mastery/squad.yaml +205 -0
- package/squads/claude-code-mastery/tasks/audit-integration.md +219 -0
- package/squads/claude-code-mastery/tasks/audit-settings.md +206 -0
- package/squads/claude-code-mastery/tasks/audit-setup.md +225 -0
- package/squads/claude-code-mastery/tasks/brownfield-setup.md +322 -0
- package/squads/claude-code-mastery/tasks/ci-cd-setup.md +335 -0
- package/squads/claude-code-mastery/tasks/claude-md-engineer.md +334 -0
- package/squads/claude-code-mastery/tasks/configure-claude-code.md +215 -0
- package/squads/claude-code-mastery/tasks/context-rot-audit.md +329 -0
- package/squads/claude-code-mastery/tasks/create-agent-definition.md +278 -0
- package/squads/claude-code-mastery/tasks/create-rules.md +206 -0
- package/squads/claude-code-mastery/tasks/create-team-topology.md +258 -0
- package/squads/claude-code-mastery/tasks/diagnose.md +166 -0
- package/squads/claude-code-mastery/tasks/enterprise-config.md +346 -0
- package/squads/claude-code-mastery/tasks/hook-designer.md +272 -0
- package/squads/claude-code-mastery/tasks/integrate-project.md +304 -0
- package/squads/claude-code-mastery/tasks/mcp-integration-plan.md +229 -0
- package/squads/claude-code-mastery/tasks/mcp-workflow.md +285 -0
- package/squads/claude-code-mastery/tasks/multi-project-setup.md +228 -0
- package/squads/claude-code-mastery/tasks/optimize-context.md +217 -0
- package/squads/claude-code-mastery/tasks/optimize-workflow.md +226 -0
- package/squads/claude-code-mastery/tasks/parallel-decomposition.md +293 -0
- package/squads/claude-code-mastery/tasks/permission-strategy.md +266 -0
- package/squads/claude-code-mastery/tasks/sandbox-setup.md +279 -0
- package/squads/claude-code-mastery/tasks/setup-repository.md +230 -0
- package/squads/claude-code-mastery/tasks/setup-wizard.md +236 -0
- package/squads/claude-code-mastery/tasks/worktree-strategy.md +320 -0
- package/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
- package/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
- package/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
- package/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
- package/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
- package/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
- package/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
- package/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +140 -0
- package/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +165 -0
- 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.
|
|
11
|
-
generated_at: "2026-03-
|
|
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:
|
|
1220
|
+
hash: sha256:a6566bf25cc73144d7fde73b13baacc08ed1c23e917eb42463d19cad97a09d4d
|
|
1221
1221
|
type: data
|
|
1222
|
-
size:
|
|
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.
|
|
53
|
-
|
|
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
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
259
|
+
writtenAgents.add(file);
|
|
222
260
|
}
|
|
223
261
|
}
|
|
224
262
|
}
|
|
225
|
-
console.log(` ${GREEN}OK${NC} ${
|
|
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:
|
|
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}${
|
|
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 (
|
|
569
|
-
const
|
|
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
|
-
|
|
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
|
-
//
|
|
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(
|
|
644
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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} ${
|
|
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 (${
|
|
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 (${
|
|
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 =
|
|
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}${
|
|
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.
|
|
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."*
|