@luanpdd/kit-mcp 1.18.0 → 1.20.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/LICENSE +21 -21
- package/README.md +648 -648
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +52 -52
- package/kit/agents/advisor-researcher.md +106 -106
- package/kit/agents/assumptions-analyzer.md +107 -107
- package/kit/agents/codebase-mapper.md +768 -768
- package/kit/agents/debugger.md +772 -772
- package/kit/agents/example-reviewer.md +21 -21
- package/kit/agents/executor.md +523 -523
- package/kit/agents/integration-checker.md +200 -200
- package/kit/agents/nyquist-auditor.md +178 -178
- package/kit/agents/phase-researcher.md +696 -696
- package/kit/agents/plan-checker.md +272 -272
- package/kit/agents/planner.md +891 -891
- package/kit/agents/project-researcher.md +652 -652
- package/kit/agents/research-synthesizer.md +245 -245
- package/kit/agents/roadmapper.md +677 -677
- package/kit/agents/ui-auditor.md +437 -437
- package/kit/agents/ui-checker.md +302 -302
- package/kit/agents/ui-researcher.md +355 -355
- package/kit/agents/user-profiler.md +175 -175
- package/kit/agents/verifier.md +728 -728
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +338 -70
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +3 -3
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/package.json +63 -59
- package/src/core/kit.js +216 -216
- package/src/core/metrics.js +135 -10
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +418 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +34 -3
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// hook-version: 1.30.1
|
|
3
|
-
// SEC-13-05: flush-before-exit category = A (stdout.write + immediate exit)
|
|
4
|
-
// Fix applied: process.stdout.write(payload, () => process.exit(0)) on warning path.
|
|
5
|
-
// framework Workflow Guard — PreToolUse hook
|
|
6
|
-
// Detects when Claude attempts file edits outside a framework workflow context
|
|
7
|
-
// (no active / command or Task subagent) and injects an advisory warning.
|
|
8
|
-
//
|
|
9
|
-
// This is a SOFT guard — it advises, not blocks. The edit still proceeds.
|
|
10
|
-
// The warning nudges Claude to use /quick or /fast instead of
|
|
11
|
-
// making direct edits that bypass state tracking.
|
|
12
|
-
//
|
|
13
|
-
// Enable via config: hooks.workflow_guard: true (default: false)
|
|
14
|
-
// Only triggers on Write/Edit tool calls to non-.planning/ files.
|
|
15
|
-
|
|
16
|
-
const fs = require('fs');
|
|
17
|
-
const path = require('path');
|
|
18
|
-
|
|
19
|
-
let input = '';
|
|
20
|
-
const stdinTimeout = setTimeout(() => process.exit(0), 3000);
|
|
21
|
-
process.stdin.setEncoding('utf8');
|
|
22
|
-
process.stdin.on('data', chunk => input += chunk);
|
|
23
|
-
process.stdin.on('end', () => {
|
|
24
|
-
clearTimeout(stdinTimeout);
|
|
25
|
-
try {
|
|
26
|
-
const data = JSON.parse(input);
|
|
27
|
-
const toolName = data.tool_name;
|
|
28
|
-
|
|
29
|
-
// Only guard Write and Edit tool calls
|
|
30
|
-
if (toolName !== 'Write' && toolName !== 'Edit') {
|
|
31
|
-
process.exit(0);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Check if we're inside a framework workflow (Task subagent or / command)
|
|
35
|
-
// Subagents have a session_id that differs from the parent
|
|
36
|
-
// and typically have a description field set by the orchestrator
|
|
37
|
-
if (data.tool_input?.is_subagent || data.session_type === 'task') {
|
|
38
|
-
process.exit(0);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Check the file being edited
|
|
42
|
-
const filePath = data.tool_input?.file_path || data.tool_input?.path || '';
|
|
43
|
-
|
|
44
|
-
// Allow edits to .planning/ files (framework state management)
|
|
45
|
-
if (filePath.includes('.planning/') || filePath.includes('.planning\\')) {
|
|
46
|
-
process.exit(0);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Allow edits to common config/docs files that don't need framework tracking
|
|
50
|
-
const allowedPatterns = [
|
|
51
|
-
/\.gitignore$/,
|
|
52
|
-
/\.env/,
|
|
53
|
-
/CLAUDE\.md$/,
|
|
54
|
-
/AGENTS\.md$/,
|
|
55
|
-
/GEMINI\.md$/,
|
|
56
|
-
/settings\.json$/,
|
|
57
|
-
];
|
|
58
|
-
if (allowedPatterns.some(p => p.test(filePath))) {
|
|
59
|
-
process.exit(0);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Check if workflow guard is enabled
|
|
63
|
-
const cwd = data.cwd || process.cwd();
|
|
64
|
-
const configPath = path.join(cwd, '.planning', 'config.json');
|
|
65
|
-
if (fs.existsSync(configPath)) {
|
|
66
|
-
try {
|
|
67
|
-
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
68
|
-
if (!config.hooks?.workflow_guard) {
|
|
69
|
-
process.exit(0); // Guard disabled (default)
|
|
70
|
-
}
|
|
71
|
-
} catch (e) {
|
|
72
|
-
process.exit(0);
|
|
73
|
-
}
|
|
74
|
-
} else {
|
|
75
|
-
process.exit(0); // No framework project — don't guard
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// If we get here: framework project, guard enabled, file edit outside .planning/,
|
|
79
|
-
// not in a subagent context. Inject advisory warning.
|
|
80
|
-
const output = {
|
|
81
|
-
hookSpecificOutput: {
|
|
82
|
-
hookEventName: "PreToolUse",
|
|
83
|
-
additionalContext: `⚠️ AVISO DE FLUXO DE TRABALHO: Você está editando ${path.basename(filePath)} diretamente sem um comando do framework. ` +
|
|
84
|
-
'Esta edição não será rastreada no STATE.md nem produzirá um SUMMARY.md. ' +
|
|
85
|
-
'Considere usar /fast para correções triviais ou /quick para mudanças maiores ' +
|
|
86
|
-
'para manter o rastreamento de estado do projeto. ' +
|
|
87
|
-
'Se isso for intencional (ex.: usuário solicitou explicitamente uma edição direta), prossiga normalmente.'
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// SEC-13-05: aguardar flush do stdout antes do exit. Sem callback, em
|
|
92
|
-
// pipes lentos (CI/Windows/Git Bash) o JSON pode ser dropado quando o
|
|
93
|
-
// process termina antes do kernel drenar o buffer.
|
|
94
|
-
process.stdout.write(JSON.stringify(output), () => {
|
|
95
|
-
process.exit(0);
|
|
96
|
-
});
|
|
97
|
-
} catch (e) {
|
|
98
|
-
// Silent fail — never block tool execution
|
|
99
|
-
process.exit(0);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// hook-version: 1.30.1
|
|
3
|
+
// SEC-13-05: flush-before-exit category = A (stdout.write + immediate exit)
|
|
4
|
+
// Fix applied: process.stdout.write(payload, () => process.exit(0)) on warning path.
|
|
5
|
+
// framework Workflow Guard — PreToolUse hook
|
|
6
|
+
// Detects when Claude attempts file edits outside a framework workflow context
|
|
7
|
+
// (no active / command or Task subagent) and injects an advisory warning.
|
|
8
|
+
//
|
|
9
|
+
// This is a SOFT guard — it advises, not blocks. The edit still proceeds.
|
|
10
|
+
// The warning nudges Claude to use /quick or /fast instead of
|
|
11
|
+
// making direct edits that bypass state tracking.
|
|
12
|
+
//
|
|
13
|
+
// Enable via config: hooks.workflow_guard: true (default: false)
|
|
14
|
+
// Only triggers on Write/Edit tool calls to non-.planning/ files.
|
|
15
|
+
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const path = require('path');
|
|
18
|
+
|
|
19
|
+
let input = '';
|
|
20
|
+
const stdinTimeout = setTimeout(() => process.exit(0), 3000);
|
|
21
|
+
process.stdin.setEncoding('utf8');
|
|
22
|
+
process.stdin.on('data', chunk => input += chunk);
|
|
23
|
+
process.stdin.on('end', () => {
|
|
24
|
+
clearTimeout(stdinTimeout);
|
|
25
|
+
try {
|
|
26
|
+
const data = JSON.parse(input);
|
|
27
|
+
const toolName = data.tool_name;
|
|
28
|
+
|
|
29
|
+
// Only guard Write and Edit tool calls
|
|
30
|
+
if (toolName !== 'Write' && toolName !== 'Edit') {
|
|
31
|
+
process.exit(0);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Check if we're inside a framework workflow (Task subagent or / command)
|
|
35
|
+
// Subagents have a session_id that differs from the parent
|
|
36
|
+
// and typically have a description field set by the orchestrator
|
|
37
|
+
if (data.tool_input?.is_subagent || data.session_type === 'task') {
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Check the file being edited
|
|
42
|
+
const filePath = data.tool_input?.file_path || data.tool_input?.path || '';
|
|
43
|
+
|
|
44
|
+
// Allow edits to .planning/ files (framework state management)
|
|
45
|
+
if (filePath.includes('.planning/') || filePath.includes('.planning\\')) {
|
|
46
|
+
process.exit(0);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Allow edits to common config/docs files that don't need framework tracking
|
|
50
|
+
const allowedPatterns = [
|
|
51
|
+
/\.gitignore$/,
|
|
52
|
+
/\.env/,
|
|
53
|
+
/CLAUDE\.md$/,
|
|
54
|
+
/AGENTS\.md$/,
|
|
55
|
+
/GEMINI\.md$/,
|
|
56
|
+
/settings\.json$/,
|
|
57
|
+
];
|
|
58
|
+
if (allowedPatterns.some(p => p.test(filePath))) {
|
|
59
|
+
process.exit(0);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Check if workflow guard is enabled
|
|
63
|
+
const cwd = data.cwd || process.cwd();
|
|
64
|
+
const configPath = path.join(cwd, '.planning', 'config.json');
|
|
65
|
+
if (fs.existsSync(configPath)) {
|
|
66
|
+
try {
|
|
67
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
68
|
+
if (!config.hooks?.workflow_guard) {
|
|
69
|
+
process.exit(0); // Guard disabled (default)
|
|
70
|
+
}
|
|
71
|
+
} catch (e) {
|
|
72
|
+
process.exit(0);
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
process.exit(0); // No framework project — don't guard
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// If we get here: framework project, guard enabled, file edit outside .planning/,
|
|
79
|
+
// not in a subagent context. Inject advisory warning.
|
|
80
|
+
const output = {
|
|
81
|
+
hookSpecificOutput: {
|
|
82
|
+
hookEventName: "PreToolUse",
|
|
83
|
+
additionalContext: `⚠️ AVISO DE FLUXO DE TRABALHO: Você está editando ${path.basename(filePath)} diretamente sem um comando do framework. ` +
|
|
84
|
+
'Esta edição não será rastreada no STATE.md nem produzirá um SUMMARY.md. ' +
|
|
85
|
+
'Considere usar /fast para correções triviais ou /quick para mudanças maiores ' +
|
|
86
|
+
'para manter o rastreamento de estado do projeto. ' +
|
|
87
|
+
'Se isso for intencional (ex.: usuário solicitou explicitamente uma edição direta), prossiga normalmente.'
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
// SEC-13-05: aguardar flush do stdout antes do exit. Sem callback, em
|
|
92
|
+
// pipes lentos (CI/Windows/Git Bash) o JSON pode ser dropado quando o
|
|
93
|
+
// process termina antes do kernel drenar o buffer.
|
|
94
|
+
process.stdout.write(JSON.stringify(output), () => {
|
|
95
|
+
process.exit(0);
|
|
96
|
+
});
|
|
97
|
+
} catch (e) {
|
|
98
|
+
// Silent fail — never block tool execution
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
});
|
package/kit/settings.json
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": []
|
|
4
|
-
},
|
|
5
|
-
"hooks": {
|
|
6
|
-
"SessionStart": [
|
|
7
|
-
{
|
|
8
|
-
"hooks": [
|
|
9
|
-
{
|
|
10
|
-
"type": "command",
|
|
11
|
-
"command": "node .claude/hooks/check-update.js"
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
"PostToolUse": [
|
|
17
|
-
{
|
|
18
|
-
"matcher": "Bash|Edit|Write|MultiEdit|Agent|Task",
|
|
19
|
-
"hooks": [
|
|
20
|
-
{
|
|
21
|
-
"type": "command",
|
|
22
|
-
"command": "node .claude/hooks/context-monitor.js",
|
|
23
|
-
"timeout": 10
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
],
|
|
28
|
-
"PreToolUse": [
|
|
29
|
-
{
|
|
30
|
-
"matcher": "Write|Edit",
|
|
31
|
-
"hooks": [
|
|
32
|
-
{
|
|
33
|
-
"type": "command",
|
|
34
|
-
"command": "node .claude/hooks/prompt-guard.js",
|
|
35
|
-
"timeout": 5
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
"statusLine": {
|
|
42
|
-
"type": "command",
|
|
43
|
-
"command": "node .claude/hooks/statusline.js"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": []
|
|
4
|
+
},
|
|
5
|
+
"hooks": {
|
|
6
|
+
"SessionStart": [
|
|
7
|
+
{
|
|
8
|
+
"hooks": [
|
|
9
|
+
{
|
|
10
|
+
"type": "command",
|
|
11
|
+
"command": "node .claude/hooks/check-update.js"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"PostToolUse": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "Bash|Edit|Write|MultiEdit|Agent|Task",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "node .claude/hooks/context-monitor.js",
|
|
23
|
+
"timeout": 10
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"PreToolUse": [
|
|
29
|
+
{
|
|
30
|
+
"matcher": "Write|Edit",
|
|
31
|
+
"hooks": [
|
|
32
|
+
{
|
|
33
|
+
"type": "command",
|
|
34
|
+
"command": "node .claude/hooks/prompt-guard.js",
|
|
35
|
+
"timeout": 5
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"statusLine": {
|
|
42
|
+
"type": "command",
|
|
43
|
+
"command": "node .claude/hooks/statusline.js"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: example-skill
|
|
3
|
-
description: Example skill template. Replace with your own. Use when the user mentions "example", "demo", or asks how skills work.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Example skill
|
|
7
|
-
|
|
8
|
-
This is the SKILL.md of an example skill. Skills are lightweight expertise
|
|
9
|
-
packs that an LLM loads when its description matches the user's intent.
|
|
10
|
-
|
|
11
|
-
## When to use
|
|
12
|
-
|
|
13
|
-
The frontmatter `description` is what triggers a skill. Be specific about
|
|
14
|
-
*when* to use it, not just *what* it does.
|
|
15
|
-
|
|
16
|
-
Example trigger phrases:
|
|
17
|
-
- "show me an example skill"
|
|
18
|
-
- "how do skills work"
|
|
19
|
-
- "demo the skill loading"
|
|
20
|
-
|
|
21
|
-
## What this skill does
|
|
22
|
-
|
|
23
|
-
When loaded, this skill instructs the LLM to:
|
|
24
|
-
|
|
25
|
-
1. Acknowledge that the example skill loaded.
|
|
26
|
-
2. Explain in one sentence what skills are.
|
|
27
|
-
3. Point the user at `kit/skills/<name>/SKILL.md` so they know where to author their own.
|
|
28
|
-
|
|
29
|
-
## References
|
|
30
|
-
|
|
31
|
-
Optional `references/` folder next to this file can hold longer docs the LLM
|
|
32
|
-
loads only when needed (saves context window). For example:
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
kit/skills/example-skill/
|
|
36
|
-
├── SKILL.md (this file — always loaded when triggered)
|
|
37
|
-
└── references/
|
|
38
|
-
├── advanced-usage.md
|
|
39
|
-
└── api-reference.md
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Replace this whole folder with your own skill when ready.
|
|
1
|
+
---
|
|
2
|
+
name: example-skill
|
|
3
|
+
description: Example skill template. Replace with your own. Use when the user mentions "example", "demo", or asks how skills work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Example skill
|
|
7
|
+
|
|
8
|
+
This is the SKILL.md of an example skill. Skills are lightweight expertise
|
|
9
|
+
packs that an LLM loads when its description matches the user's intent.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
The frontmatter `description` is what triggers a skill. Be specific about
|
|
14
|
+
*when* to use it, not just *what* it does.
|
|
15
|
+
|
|
16
|
+
Example trigger phrases:
|
|
17
|
+
- "show me an example skill"
|
|
18
|
+
- "how do skills work"
|
|
19
|
+
- "demo the skill loading"
|
|
20
|
+
|
|
21
|
+
## What this skill does
|
|
22
|
+
|
|
23
|
+
When loaded, this skill instructs the LLM to:
|
|
24
|
+
|
|
25
|
+
1. Acknowledge that the example skill loaded.
|
|
26
|
+
2. Explain in one sentence what skills are.
|
|
27
|
+
3. Point the user at `kit/skills/<name>/SKILL.md` so they know where to author their own.
|
|
28
|
+
|
|
29
|
+
## References
|
|
30
|
+
|
|
31
|
+
Optional `references/` folder next to this file can hold longer docs the LLM
|
|
32
|
+
loads only when needed (saves context window). For example:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
kit/skills/example-skill/
|
|
36
|
+
├── SKILL.md (this file — always loaded when triggered)
|
|
37
|
+
└── references/
|
|
38
|
+
├── advanced-usage.md
|
|
39
|
+
└── api-reference.md
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Replace this whole folder with your own skill when ready.
|
package/package.json
CHANGED
|
@@ -1,59 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@luanpdd/kit-mcp",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Generic infrastructure to ship YOUR personal kit of agents/commands/skills as an MCP server, with cross-IDE sync (Claude Code, Cursor, Codex, Gemini, Windsurf, Antigravity, Copilot, Trae).",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"kit-mcp": "bin/mcp.js",
|
|
8
|
-
"kit": "bin/cli.js"
|
|
9
|
-
},
|
|
10
|
-
"publishConfig": {
|
|
11
|
-
"access": "public"
|
|
12
|
-
},
|
|
13
|
-
"files": [
|
|
14
|
-
"bin/",
|
|
15
|
-
"src/",
|
|
16
|
-
"kit/",
|
|
17
|
-
"gates/",
|
|
18
|
-
"README.md",
|
|
19
|
-
"LICENSE"
|
|
20
|
-
],
|
|
21
|
-
"keywords": [
|
|
22
|
-
"mcp",
|
|
23
|
-
"model-context-protocol",
|
|
24
|
-
"claude",
|
|
25
|
-
"cursor",
|
|
26
|
-
"codex",
|
|
27
|
-
"gemini",
|
|
28
|
-
"agents",
|
|
29
|
-
"skills"
|
|
30
|
-
],
|
|
31
|
-
"author": "luanpdd",
|
|
32
|
-
"license": "MIT",
|
|
33
|
-
"repository": {
|
|
34
|
-
"type": "git",
|
|
35
|
-
"url": "git+https://github.com/luanpdd/kit-mcp.git"
|
|
36
|
-
},
|
|
37
|
-
"engines": {
|
|
38
|
-
"node": ">=20"
|
|
39
|
-
},
|
|
40
|
-
"scripts": {
|
|
41
|
-
"start": "node bin/mcp.js",
|
|
42
|
-
"cli": "node bin/cli.js",
|
|
43
|
-
"smoke": "node bin/cli.js kit list-agents | head -5",
|
|
44
|
-
"test": "node test/run.mjs test/unit",
|
|
45
|
-
"test:
|
|
46
|
-
"test:
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@luanpdd/kit-mcp",
|
|
3
|
+
"version": "1.20.0",
|
|
4
|
+
"description": "Generic infrastructure to ship YOUR personal kit of agents/commands/skills as an MCP server, with cross-IDE sync (Claude Code, Cursor, Codex, Gemini, Windsurf, Antigravity, Copilot, Trae).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"kit-mcp": "bin/mcp.js",
|
|
8
|
+
"kit": "bin/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"bin/",
|
|
15
|
+
"src/",
|
|
16
|
+
"kit/",
|
|
17
|
+
"gates/",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"mcp",
|
|
23
|
+
"model-context-protocol",
|
|
24
|
+
"claude",
|
|
25
|
+
"cursor",
|
|
26
|
+
"codex",
|
|
27
|
+
"gemini",
|
|
28
|
+
"agents",
|
|
29
|
+
"skills"
|
|
30
|
+
],
|
|
31
|
+
"author": "luanpdd",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/luanpdd/kit-mcp.git"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=20"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"start": "node bin/mcp.js",
|
|
42
|
+
"cli": "node bin/cli.js",
|
|
43
|
+
"smoke": "node bin/cli.js kit list-agents | head -5",
|
|
44
|
+
"test": "node test/run.mjs test/unit",
|
|
45
|
+
"test:all": "node test/run.mjs test",
|
|
46
|
+
"test:integration": "node test/run.mjs test/integration",
|
|
47
|
+
"test:mutation": "stryker run",
|
|
48
|
+
"prepublishOnly": "node scripts/regen-manifest.js && node scripts/update-readme-counts.js && node test/run.mjs test/unit && node test/run.mjs test/integration"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
52
|
+
"commander": "^14.0.3",
|
|
53
|
+
"picocolors": "^1.1.1"
|
|
54
|
+
},
|
|
55
|
+
"optionalDependencies": {
|
|
56
|
+
"@inquirer/prompts": "^8.4.2",
|
|
57
|
+
"chokidar": "^5.0.0",
|
|
58
|
+
"open": "^11.0.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@stryker-mutator/core": "9.6.1"
|
|
62
|
+
}
|
|
63
|
+
}
|