@cristiancorreau/forge 2.9.12 → 2.10.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 (61) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +8 -3
  3. package/assets/adapters/claude-code/commands/session-close.md +5 -106
  4. package/assets/adapters/claude-code/commands/session-start.md +5 -56
  5. package/assets/adapters/codex/HOOKS.md +55 -0
  6. package/assets/adapters/codex/commands/session-close.md +5 -45
  7. package/assets/adapters/codex/commands/session-start.md +6 -41
  8. package/assets/adapters/opencode/HOOKS.md +31 -3
  9. package/assets/adapters/opencode/commands/session-close.md +5 -106
  10. package/assets/adapters/opencode/commands/session-start.md +6 -57
  11. package/assets/core/hooks/hooks-registry.yaml +18 -31
  12. package/assets/core/hooks/pre-edit-check.js +108 -0
  13. package/assets/core/schemas/project.schema.json +5 -0
  14. package/assets/core/skills/README.md +9 -0
  15. package/assets/core/skills/session-close/SKILL.md +137 -0
  16. package/assets/core/skills/session-start/SKILL.md +86 -0
  17. package/assets/manifest.json +1 -1
  18. package/dist/cli.js +12 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/audit.d.ts.map +1 -1
  21. package/dist/commands/audit.js +11 -0
  22. package/dist/commands/audit.js.map +1 -1
  23. package/dist/commands/generate.d.ts.map +1 -1
  24. package/dist/commands/generate.js +28 -5
  25. package/dist/commands/generate.js.map +1 -1
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +40 -4
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/scaffold.d.ts.map +1 -1
  30. package/dist/commands/scaffold.js +107 -4
  31. package/dist/commands/scaffold.js.map +1 -1
  32. package/dist/commands/session.d.ts +3 -0
  33. package/dist/commands/session.d.ts.map +1 -0
  34. package/dist/commands/session.js +78 -0
  35. package/dist/commands/session.js.map +1 -0
  36. package/dist/commands/validate.d.ts.map +1 -1
  37. package/dist/commands/validate.js +27 -1
  38. package/dist/commands/validate.js.map +1 -1
  39. package/dist/lib/catalog.d.ts.map +1 -1
  40. package/dist/lib/catalog.js +2 -0
  41. package/dist/lib/catalog.js.map +1 -1
  42. package/dist/lib/generators/codex.d.ts +1 -0
  43. package/dist/lib/generators/codex.d.ts.map +1 -1
  44. package/dist/lib/generators/codex.js +13 -3
  45. package/dist/lib/generators/codex.js.map +1 -1
  46. package/dist/lib/generators/kiro.d.ts +2 -0
  47. package/dist/lib/generators/kiro.d.ts.map +1 -1
  48. package/dist/lib/generators/kiro.js +32 -0
  49. package/dist/lib/generators/kiro.js.map +1 -1
  50. package/dist/lib/generators/opencode.d.ts +9 -0
  51. package/dist/lib/generators/opencode.d.ts.map +1 -1
  52. package/dist/lib/generators/opencode.js +64 -1
  53. package/dist/lib/generators/opencode.js.map +1 -1
  54. package/dist/tui/dashboard.js +5 -3
  55. package/dist/tui/dashboard.js.map +1 -1
  56. package/dist/tui/wizard.d.ts.map +1 -1
  57. package/dist/tui/wizard.js +14 -6
  58. package/dist/tui/wizard.js.map +1 -1
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +1 -1
  61. package/package.json +2 -2
@@ -0,0 +1,78 @@
1
+ import { existsSync, readFileSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { resolveForgeRoot } from '../lib/paths.js';
4
+ import { bold, dim, cyan } from '../ui/colors.js';
5
+ import { box } from '../ui/box.js';
6
+ const META = {
7
+ start: {
8
+ id: 'session-start',
9
+ command: '/session-start',
10
+ title: 'forge session-start',
11
+ blurb: 'Abre la sesión: detecta el estado del repo y enruta según el escenario.',
12
+ },
13
+ close: {
14
+ id: 'session-close',
15
+ command: '/session-close',
16
+ title: 'forge session-close',
17
+ blurb: 'Cierra la sesión: commit → changeset → daily note → sync → PR.',
18
+ },
19
+ };
20
+ function help(phase) {
21
+ const m = META[phase];
22
+ return `Usage: forge ${m.id} [options]
23
+
24
+ ${m.blurb}
25
+
26
+ Estos comandos son guías para el agente: imprimen el skill central
27
+ core/skills/${m.id}/SKILL.md para que lo ejecutes en tu runtime (${m.command}).
28
+
29
+ Options:
30
+ --json Output the skill metadata and body as JSON
31
+ -h, --help Show this help
32
+ `;
33
+ }
34
+ /** Read the central SKILL.md for the given session phase, if bundled. */
35
+ function readSkillBody(phase) {
36
+ let root;
37
+ try {
38
+ root = resolveForgeRoot();
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ const path = join(root, 'core', 'skills', META[phase].id, 'SKILL.md');
44
+ if (!existsSync(path))
45
+ return null;
46
+ return readFileSync(path, 'utf-8');
47
+ }
48
+ async function run(phase, args) {
49
+ if (args.includes('-h') || args.includes('--help')) {
50
+ process.stdout.write(help(phase));
51
+ return 0;
52
+ }
53
+ const m = META[phase];
54
+ const body = readSkillBody(phase);
55
+ if (args.includes('--json')) {
56
+ console.log(JSON.stringify({ id: m.id, command: m.command, body }, null, 2));
57
+ return body ? 0 : 1;
58
+ }
59
+ console.log(cyan(bold(m.title)) + '\n');
60
+ console.log(dim(m.blurb) + '\n');
61
+ if (!body) {
62
+ console.log(dim(`No se encontró core/skills/${m.id}/SKILL.md en los assets de forge.`));
63
+ console.log(box('Skill', [`${m.command} — ${m.blurb}`]));
64
+ return 1;
65
+ }
66
+ console.log(body.trimEnd() + '\n');
67
+ console.log(box('Skill central', [
68
+ `${cyan(m.command)} — ejecutá estos pasos en tu runtime (Claude Code, OpenCode, Codex).`,
69
+ ]));
70
+ return 0;
71
+ }
72
+ export async function sessionStart(args) {
73
+ return run('start', args);
74
+ }
75
+ export async function sessionClose(args) {
76
+ return run('close', args);
77
+ }
78
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAyCA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmE9D"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAiEA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwE9D"}
@@ -6,7 +6,7 @@ const require = createRequire(import.meta.url);
6
6
  const Ajv = require('ajv');
7
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
8
  const addFormats = require('ajv-formats');
9
- import { findProjectYaml, loadProjectYaml } from '../lib/yaml.js';
9
+ import { findProjectYaml, loadProjectYaml, projectRoot } from '../lib/yaml.js';
10
10
  import { resolveForgeRoot } from '../lib/paths.js';
11
11
  const HELP = `Usage: forge validate [options]
12
12
 
@@ -38,6 +38,28 @@ function businessWarnings(data) {
38
38
  warnings.push("Sección 'github' ausente — considera integrar con GitHub Projects (v2)");
39
39
  return warnings;
40
40
  }
41
+ /**
42
+ * Verifica que cada agente Tier 3 declarado en agents.specialized exista como
43
+ * archivo en .claude/agents/<agente>.md. Devuelve una lista de errores (vacía si
44
+ * todos existen o si no hay agentes especializados declarados).
45
+ */
46
+ function specializedAgentErrors(data, root) {
47
+ const errors = [];
48
+ const agents = (data.agents ?? null);
49
+ const specialized = agents?.specialized;
50
+ if (!Array.isArray(specialized))
51
+ return errors;
52
+ const agentsDir = join(root, '.claude', 'agents');
53
+ for (const name of specialized) {
54
+ if (typeof name !== 'string')
55
+ continue;
56
+ const file = join(agentsDir, `${name}.md`);
57
+ if (!existsSync(file)) {
58
+ errors.push(`/agents/specialized: el agente Tier 3 '${name}' está en agents.specialized pero no existe .claude/agents/${name}.md`);
59
+ }
60
+ }
61
+ return errors;
62
+ }
41
63
  export async function validate(args) {
42
64
  if (args.includes('-h') || args.includes('--help')) {
43
65
  process.stdout.write(HELP);
@@ -81,6 +103,10 @@ export async function validate(args) {
81
103
  catch {
82
104
  // schema not available — skip schema validation
83
105
  }
106
+ // Tier 3: cada agente en agents.specialized debe tener su archivo en .claude/agents/.
107
+ if (errors.length === 0) {
108
+ errors = specializedAgentErrors(data, projectRoot(projectYamlPath));
109
+ }
84
110
  const warnings = businessWarnings(data);
85
111
  const valid = errors.length === 0;
86
112
  const result = { valid, errors, warnings };
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/lib/catalog.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAC/G,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAE3G,eAAO,MAAM,MAAM,EAAE,SAAS,EAa7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,EAKjC,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAiB3G"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/lib/catalog.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAC/G,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAE3G,eAAO,MAAM,MAAM,EAAE,SAAS,EAe7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,WAAW,EAKjC,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAiB3G"}
@@ -6,6 +6,8 @@
6
6
  import { existsSync, readdirSync } from 'fs';
7
7
  import { join } from 'path';
8
8
  export const SKILLS = [
9
+ { id: 'session-start', command: '/session-start', category: 'Sesión', purpose: 'Abre la sesión: detecta estado del repo y enruta', trigger: '"iniciar sesión", al empezar a trabajar' },
10
+ { id: 'session-close', command: '/session-close', category: 'Sesión', purpose: 'Cierra la sesión: commit → daily note → sync → PR', trigger: '"cerrar sesión", al terminar de trabajar' },
9
11
  { id: 'spec', command: '/spec', category: 'Desarrollo', purpose: 'Redacta specs siguiendo la plantilla forge', trigger: 'antes de escribir una spec' },
10
12
  { id: 'new-feature', command: '/new-feature', category: 'Desarrollo', purpose: 'Checklist de feature de plan a deploy', trigger: '"nueva feature", "implementar"' },
11
13
  { id: 'security-audit', command: '/security-audit', category: 'Desarrollo', purpose: 'Checklist de seguridad para endpoints y auth', trigger: '"auditar seguridad", "revisar auth"' },
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/lib/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/lib/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { ProjectYaml } from '../yaml.js';
2
+ export { generateSharedPreCommitHook } from './opencode.js';
2
3
  export declare function generateCodexAgentsMd(config: ProjectYaml): string;
3
4
  //# sourceMappingURL=codex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAwEjE"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+EjE"}
@@ -1,3 +1,6 @@
1
+ // Codex has no native blocking hooks: it shares the executable git pre-commit
2
+ // fallback with OpenCode so branch guard + debug detection still run automatically.
3
+ export { generateSharedPreCommitHook } from './opencode.js';
1
4
  export function generateCodexAgentsMd(config) {
2
5
  const proj = config.project;
3
6
  const stack = config.stack ?? {};
@@ -42,9 +45,16 @@ rm -rf / # Borra sistema
42
45
  git push --force # Sobreescribe historial remoto
43
46
  \`\`\`
44
47
 
45
- > Codex no tiene hooks de bloqueo automático como Claude Code: el cumplimiento
46
- > de estas reglas es responsabilidad del agente. Ante cualquier comando
47
- > destructivo en producción, pará y pedí confirmación explícita al humano.
48
+ > Codex no tiene hooks de bloqueo automático nativos como Claude Code. Como
49
+ > complemento, forge genera un git hook compartido en \`.githooks/pre-commit\`
50
+ > (branch guard + detección de debug). Activalo una vez con:
51
+ >
52
+ > \`\`\`
53
+ > git config core.hooksPath .githooks
54
+ > \`\`\`
55
+ >
56
+ > Aún así, ante cualquier comando destructivo en producción, pará y pedí
57
+ > confirmación explícita al humano: el git hook solo corre en \`git commit\`.
48
58
 
49
59
  ## Branch guard
50
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;IAEzF,OAAO,iBAAiB,IAAI;;;;;gBAKd,IAAI;kBACF,QAAQ;iBACT,KAAK,CAAC,OAAO,IAAI,KAAK;kBACrB,KAAK,CAAC,QAAQ,IAAI,KAAK;;;;EAIvC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;IAEzF,OAAO,iBAAiB,IAAI;;;;;gBAKd,IAAI;kBACF,QAAQ;iBACT,KAAK,CAAC,OAAO,IAAI,KAAK;kBACrB,KAAK,CAAC,QAAQ,IAAI,KAAK;;;;EAIvC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDV,CAAC;AACF,CAAC"}
@@ -4,4 +4,6 @@ export declare function generateKiroStructure(config: ProjectYaml): string;
4
4
  export declare function generateKiroAgents(config: ProjectYaml): string;
5
5
  export declare function generateKiroCommands(deployProvider: string): string;
6
6
  export declare function generateKiroBranchGuardHook(): string;
7
+ export declare function generateKiroBashCheckHook(): string;
8
+ export declare function generateKiroPostTurnHook(): string;
7
9
  //# sourceMappingURL=kiro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsB/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+BjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC9D;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAgBnE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAcpD"}
1
+ {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsB/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+BjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC9D;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAgBnE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAcpD;AAGD,wBAAgB,yBAAyB,IAAI,MAAM,CAclD;AAGD,wBAAgB,wBAAwB,IAAI,MAAM,CAcjD"}
@@ -130,4 +130,36 @@ export function generateKiroBranchGuardHook() {
130
130
  }
131
131
  }, null, 2);
132
132
  }
133
+ // Mirrors core/hooks/pre-bash-check.js: blocks destructive commands before they run.
134
+ export function generateKiroBashCheckHook() {
135
+ return JSON.stringify({
136
+ name: 'forge-bash-check',
137
+ description: 'Block destructive commands (DROP TABLE, --force-reset, rm -rf /, git push --force)',
138
+ event: 'PreBash',
139
+ condition: {
140
+ type: 'script',
141
+ script: 'echo "$KIRO_BASH_COMMAND" | grep -qiE "(--force-reset|prisma +migrate +reset|DROP +TABLE|DROP +DATABASE|TRUNCATE|rm +-rf +/|git +push +--force([^-]|$))"'
142
+ },
143
+ action: {
144
+ type: 'block',
145
+ message: 'forge: comando potencialmente destructivo bloqueado. Si apunta a producción, ejecutalo manualmente con plena consciencia.\n Lección 2026-04-28: --force-reset borró 225 usuarios en producción.'
146
+ }
147
+ }, null, 2);
148
+ }
149
+ // Mirrors core/hooks/post-turn-check.sh: warns about leftover debug statements after a turn.
150
+ export function generateKiroPostTurnHook() {
151
+ return JSON.stringify({
152
+ name: 'forge-post-turn-check',
153
+ description: 'After each turn, warn about debug statements left in changed files',
154
+ event: 'PostTurn',
155
+ condition: {
156
+ type: 'script',
157
+ script: 'git diff --name-only HEAD 2>/dev/null | xargs -r grep -nE "(console\\.log\\(|debugger;|binding\\.pry|var_dump\\(|dd\\()" 2>/dev/null | grep -q .'
158
+ },
159
+ action: {
160
+ type: 'warn',
161
+ message: 'forge: se detectaron sentencias de debug (console.log, debugger, binding.pry, var_dump, dd) en archivos modificados. Eliminalas antes de commitear.'
162
+ }
163
+ }, null, 2);
164
+ }
133
165
  //# sourceMappingURL=kiro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
1
  import type { ProjectYaml } from '../yaml.js';
2
+ /**
3
+ * Shared git pre-commit hook. Runtimes without native blocking hooks
4
+ * (OpenCode, Codex) rely on this executable fallback so branch guard and
5
+ * debug detection still run automatically. Install it with:
6
+ * git config core.hooksPath .githooks
7
+ *
8
+ * POSIX sh, zero Python, never blocks on documentation-only edits.
9
+ */
10
+ export declare function generateSharedPreCommitHook(): string;
2
11
  export declare function generateAgentsMd(config: ProjectYaml): string;
3
12
  //# sourceMappingURL=opencode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4D9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4C5D"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CA6CpD;AAqED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4C5D"}
@@ -1,3 +1,57 @@
1
+ /**
2
+ * Shared git pre-commit hook. Runtimes without native blocking hooks
3
+ * (OpenCode, Codex) rely on this executable fallback so branch guard and
4
+ * debug detection still run automatically. Install it with:
5
+ * git config core.hooksPath .githooks
6
+ *
7
+ * POSIX sh, zero Python, never blocks on documentation-only edits.
8
+ */
9
+ export function generateSharedPreCommitHook() {
10
+ return `#!/bin/sh
11
+ # forge — shared git pre-commit hook (fallback for runtimes without native hooks)
12
+ # Generated by forge v2. Enable with: git config core.hooksPath .githooks
13
+ #
14
+ # Guardrails:
15
+ # 1. Branch guard — block commits straight to main/master
16
+ # 2. Debug detection — block leftover console.log/debugger/print/dd/var_dump
17
+ set -eu
18
+
19
+ branch=$(git symbolic-ref --short HEAD 2>/dev/null || echo "")
20
+ staged=$(git diff --cached --name-only --diff-filter=ACM 2>/dev/null || echo "")
21
+
22
+ # Only documentation/config edits are exempt from the branch guard.
23
+ code_staged=$(printf '%s\\n' "$staged" | grep -vE '\\.(md|ya?ml|json|txt)$' || true)
24
+
25
+ if [ "$branch" = "main" ] || [ "$branch" = "master" ]; then
26
+ if [ -n "$code_staged" ]; then
27
+ echo "forge: BLOQUEADO — estás commiteando código en '$branch'." >&2
28
+ echo " Creá una rama de feature antes de commitear:" >&2
29
+ echo " git checkout -b feat/descripcion" >&2
30
+ echo " (solo *.md / *.yaml / *.json / *.txt pueden commitearse en main)" >&2
31
+ exit 1
32
+ fi
33
+ fi
34
+
35
+ # Debug detection on staged code files.
36
+ debug_hits=""
37
+ for f in $code_staged; do
38
+ [ -f "$f" ] || continue
39
+ hit=$(grep -nE '(console\\.log\\(|debugger;|binding\\.pry|var_dump\\(|[^a-zA-Z_]dd\\()' "$f" 2>/dev/null || true)
40
+ if [ -n "$hit" ]; then
41
+ debug_hits="$debug_hits\\n$f:\\n$hit"
42
+ fi
43
+ done
44
+
45
+ if [ -n "$debug_hits" ]; then
46
+ echo "forge: BLOQUEADO — sentencias de debug en archivos staged:" >&2
47
+ printf '%b\\n' "$debug_hits" >&2
48
+ echo " Eliminalas (o usá 'git commit --no-verify' bajo tu responsabilidad)." >&2
49
+ exit 1
50
+ fi
51
+
52
+ exit 0
53
+ `;
54
+ }
1
55
  const AGENT_DESCRIPTIONS = {
2
56
  'orchestrator': 'Coordina agentes y descompone tareas complejas',
3
57
  'backend-engineer': 'API, base de datos, lógica de negocio',
@@ -17,7 +71,16 @@ const AGENT_DESCRIPTIONS = {
17
71
  function guardrailSection() {
18
72
  return `## Guardrails de seguridad
19
73
 
20
- Las siguientes reglas aplican a TODOS los agentes sin excepción:
74
+ OpenCode no tiene hooks PreToolUse/Stop nativos. Branch guard y detección de
75
+ debug se aplican de forma **automática** mediante el git hook compartido en
76
+ \`.githooks/pre-commit\` (generado por forge). Activalo una vez con:
77
+
78
+ \`\`\`
79
+ git config core.hooksPath .githooks
80
+ \`\`\`
81
+
82
+ Las siguientes reglas aplican a TODOS los agentes sin excepción (el git hook
83
+ refuerza branch guard y debug detection en cada \`git commit\`):
21
84
 
22
85
  ### Branch guard
23
86
  - Verificar siempre la rama antes de hacer cambios: \`git branch --show-current\`
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAA2B;IACjD,cAAc,EAAU,gDAAgD;IACxE,kBAAkB,EAAM,uCAAuC;IAC/D,cAAc,EAAU,0CAA0C;IAClE,mBAAmB,EAAK,sCAAsC;IAC9D,gBAAgB,EAAQ,2CAA2C;IACnE,iBAAiB,EAAO,uCAAuC;IAC/D,oBAAoB,EAAI,0CAA0C;IAClE,eAAe,EAAS,oCAAoC;IAC5D,aAAa,EAAW,qCAAqC;IAC7D,qBAAqB,EAAG,kDAAkD;IAC1E,kBAAkB,EAAM,8CAA8C;IACtE,sBAAsB,EAAE,qCAAqC;IAC7D,aAAa,EAAW,iCAAiC;IACzD,kBAAkB,EAAM,yCAAyC;CAClE,CAAC;AAEF,SAAS,gBAAgB;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;CAoBR,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,cAAsB;IAC7C,OAAO;;;;;;;;;;wBAUe,cAAc;;;CAGrC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,SAAS;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,kBAAkB,CAAC,CAAC,CAAC,IAAI,sBAAsB,IAAI,CAAC;SAC7E,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACjF,CAAC,CAAC,sCAAsC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACtG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,iBAAiB,IAAI;;;;;;gBAMd,IAAI;kBACF,QAAQ;iBACT,KAAK,CAAC,OAAO,IAAI,KAAK;kBACrB,KAAK,CAAC,QAAQ,IAAI,KAAK;uBAClB,KAAK,CAAC,QAAQ,IAAI,KAAK;0BACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG;;;;;;EAMlD,SAAS,IAAI,gDAAgD;;;;EAI7D,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,yBAAyB,CAAC;EACrE,gBAAgB,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CR,CAAC;AACF,CAAC;AAED,MAAM,kBAAkB,GAA2B;IACjD,cAAc,EAAU,gDAAgD;IACxE,kBAAkB,EAAM,uCAAuC;IAC/D,cAAc,EAAU,0CAA0C;IAClE,mBAAmB,EAAK,sCAAsC;IAC9D,gBAAgB,EAAQ,2CAA2C;IACnE,iBAAiB,EAAO,uCAAuC;IAC/D,oBAAoB,EAAI,0CAA0C;IAClE,eAAe,EAAS,oCAAoC;IAC5D,aAAa,EAAW,qCAAqC;IAC7D,qBAAqB,EAAG,kDAAkD;IAC1E,kBAAkB,EAAM,8CAA8C;IACtE,sBAAsB,EAAE,qCAAqC;IAC7D,aAAa,EAAW,iCAAiC;IACzD,kBAAkB,EAAM,yCAAyC;CAClE,CAAC;AAEF,SAAS,gBAAgB;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BR,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,cAAsB;IAC7C,OAAO;;;;;;;;;;wBAUe,cAAc;;;CAGrC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,SAAS;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,kBAAkB,CAAC,CAAC,CAAC,IAAI,sBAAsB,IAAI,CAAC;SAC7E,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACjF,CAAC,CAAC,sCAAsC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACtG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,iBAAiB,IAAI;;;;;;gBAMd,IAAI;kBACF,QAAQ;iBACT,KAAK,CAAC,OAAO,IAAI,KAAK;kBACrB,KAAK,CAAC,QAAQ,IAAI,KAAK;uBAClB,KAAK,CAAC,QAAQ,IAAI,KAAK;0BACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG;;;;;;EAMlD,SAAS,IAAI,gDAAgD;;;;EAI7D,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,yBAAyB,CAAC;EACrE,gBAAgB,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC3C,CAAC"}
@@ -227,9 +227,11 @@ async function runDashboardLoop(renderer, data) {
227
227
  const nav = new SelectRenderable(renderer, {
228
228
  id: 'nav-sel', width: LEFT_W - 4, height: BODY_H - 3,
229
229
  options: SECTIONS, selectedIndex: 0,
230
- backgroundColor: C.bgPanel, focusedBackgroundColor: '#1c3a5e', focusedTextColor: C.cyan,
231
- selectedBackgroundColor: '#162032', selectedTextColor: C.yellow,
232
- showDescription: true, descriptionColor: C.muted,
230
+ itemSpacing: 1, showScrollIndicator: true,
231
+ // Highlighted (cursor) row gets the bright background; others stay on panel.
232
+ backgroundColor: C.bgPanel, focusedBackgroundColor: C.bgPanel, focusedTextColor: C.white,
233
+ selectedBackgroundColor: '#1e3a5f', selectedTextColor: C.yellow,
234
+ showDescription: true, descriptionColor: C.muted, selectedDescriptionColor: C.cyan,
233
235
  });
234
236
  navPanel.add(nav);
235
237
  // Content (right)
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA+GrD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAoTrE"}
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA+GrD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA4TrE"}
@@ -235,19 +235,26 @@ export async function runOpenTUIWizard() {
235
235
  const initIdx = initialValue
236
236
  ? Math.max(0, options.findIndex((o) => o.value === initialValue))
237
237
  : 0;
238
+ // itemSpacing gives each option breathing room (name + description +
239
+ // blank line ≈ 3 rows). The highlighted (cursor) row uses the bright
240
+ // selected* colors; non-selected rows stay on the panel background.
241
+ const rowsPerItem = 3;
238
242
  const sel = new SelectRenderable(renderer, {
239
243
  id: 'q-select',
240
244
  width: RIGHT_W - 4,
241
- height: Math.min(options.length + 2, BODY_H - 8),
245
+ height: Math.min(options.length * rowsPerItem + 1, BODY_H - 4),
242
246
  options,
243
247
  selectedIndex: initIdx,
248
+ itemSpacing: 1,
249
+ showScrollIndicator: true,
244
250
  backgroundColor: C.bgPanel,
245
- focusedBackgroundColor: '#1c3a5e',
246
- focusedTextColor: C.cyan,
247
- selectedBackgroundColor: '#162032',
251
+ focusedBackgroundColor: C.bgPanel,
252
+ focusedTextColor: C.white,
253
+ selectedBackgroundColor: C.bgFocus,
248
254
  selectedTextColor: C.yellow,
249
255
  showDescription: true,
250
256
  descriptionColor: C.muted,
257
+ selectedDescriptionColor: C.cyan,
251
258
  });
252
259
  contentPanel.add(sel);
253
260
  // focus() attaches the keypress handler so ↑↓ + Enter work
@@ -288,8 +295,9 @@ export async function runOpenTUIWizard() {
288
295
  const go = new SelectRenderable(renderer, {
289
296
  id: 'q-select', width: RIGHT_W - 4, height: 3,
290
297
  options: [o('Comenzar configuración →', 'go', 'Enter para continuar')],
291
- backgroundColor: C.bgPanel, focusedBackgroundColor: '#1c3a5e', focusedTextColor: C.cyan,
292
- selectedBackgroundColor: '#162032', selectedTextColor: C.yellow, showDescription: true, descriptionColor: C.muted,
298
+ backgroundColor: C.bgPanel, focusedBackgroundColor: C.bgPanel, focusedTextColor: C.white,
299
+ selectedBackgroundColor: C.bgFocus, selectedTextColor: C.yellow, showDescription: true,
300
+ descriptionColor: C.muted, selectedDescriptionColor: C.cyan,
293
301
  });
294
302
  contentPanel.add(go);
295
303
  go.focus();