@cristiancorreau/forge 2.7.0 → 2.8.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 (39) hide show
  1. package/README.md +64 -5
  2. package/dist/cli.js +44 -10
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/aitmpl-search.d.ts +2 -0
  5. package/dist/commands/aitmpl-search.d.ts.map +1 -0
  6. package/dist/commands/aitmpl-search.js +711 -0
  7. package/dist/commands/aitmpl-search.js.map +1 -0
  8. package/dist/commands/doctor.d.ts.map +1 -1
  9. package/dist/commands/doctor.js +113 -2
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/init.js +1 -1
  12. package/dist/commands/migrate.d.ts +2 -0
  13. package/dist/commands/migrate.d.ts.map +1 -0
  14. package/dist/commands/migrate.js +261 -0
  15. package/dist/commands/migrate.js.map +1 -0
  16. package/dist/commands/scaffold.d.ts +2 -0
  17. package/dist/commands/scaffold.d.ts.map +1 -0
  18. package/dist/commands/scaffold.js +214 -0
  19. package/dist/commands/scaffold.js.map +1 -0
  20. package/dist/commands/skills.d.ts +2 -0
  21. package/dist/commands/skills.d.ts.map +1 -0
  22. package/dist/commands/skills.js +86 -0
  23. package/dist/commands/skills.js.map +1 -0
  24. package/dist/commands/teardown.d.ts +2 -0
  25. package/dist/commands/teardown.d.ts.map +1 -0
  26. package/dist/commands/teardown.js +186 -0
  27. package/dist/commands/teardown.js.map +1 -0
  28. package/dist/commands/wiki.d.ts +2 -0
  29. package/dist/commands/wiki.d.ts.map +1 -0
  30. package/dist/commands/wiki.js +400 -0
  31. package/dist/commands/wiki.js.map +1 -0
  32. package/dist/lib/catalog.d.ts +22 -0
  33. package/dist/lib/catalog.d.ts.map +1 -0
  34. package/dist/lib/catalog.js +49 -0
  35. package/dist/lib/catalog.js.map +1 -0
  36. package/dist/lib/yaml.d.ts +4 -0
  37. package/dist/lib/yaml.d.ts.map +1 -1
  38. package/dist/lib/yaml.js.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aitmpl-search.js","sourceRoot":"","sources":["../../src/commands/aitmpl-search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAOA,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqG7D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAwCA,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuL7D"}
@@ -1,9 +1,38 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { join } from 'path';
3
+ import { spawnSync } from 'child_process';
3
4
  import { resolveForgeRoot } from '../lib/paths.js';
4
- import { findProjectYaml } from '../lib/yaml.js';
5
- import { bold, dim, green, red, cyan, icons } from '../ui/colors.js';
5
+ import { findProjectYaml, loadProjectYaml } from '../lib/yaml.js';
6
+ import { bold, dim, green, red, yellow, cyan, icons, gray } from '../ui/colors.js';
6
7
  import { box } from '../ui/box.js';
8
+ import { RUNTIMES } from '../lib/catalog.js';
9
+ /**
10
+ * Probe a runtime by running its `cmd` (e.g. `claude --version`) with a short
11
+ * timeout. Returns whether the binary is installed and the captured version.
12
+ */
13
+ function probeRuntime(cmd) {
14
+ const [bin, ...rest] = cmd;
15
+ if (!bin)
16
+ return { installed: false };
17
+ try {
18
+ const res = spawnSync(bin, rest, {
19
+ timeout: 2000,
20
+ encoding: 'utf-8',
21
+ stdio: ['ignore', 'pipe', 'pipe'],
22
+ });
23
+ if (res.error || res.status === null || res.status !== 0) {
24
+ // status null => killed by timeout or signal; non-zero => failed
25
+ if (res.error || res.status === null)
26
+ return { installed: false };
27
+ }
28
+ const out = `${res.stdout ?? ''}${res.stderr ?? ''}`.trim();
29
+ const firstLine = out.split('\n')[0]?.trim();
30
+ return { installed: true, version: firstLine || undefined };
31
+ }
32
+ catch {
33
+ return { installed: false };
34
+ }
35
+ }
7
36
  export async function doctor(_args) {
8
37
  let ok = true;
9
38
  const lines = [];
@@ -53,10 +82,21 @@ export async function doctor(_args) {
53
82
  }
54
83
  // project.yaml
55
84
  const projectYaml = findProjectYaml(process.cwd());
85
+ let config = null;
56
86
  if (projectYaml) {
57
87
  const line = `${icons.ok} project.yaml: ${projectYaml}`;
58
88
  console.log(' ' + line);
59
89
  lines.push(line);
90
+ try {
91
+ config = loadProjectYaml(projectYaml);
92
+ }
93
+ catch (e) {
94
+ const msg = e instanceof Error ? e.message : String(e);
95
+ const parseLine = `${icons.error} project.yaml: error al parsear — ${msg}`;
96
+ console.log(' ' + parseLine);
97
+ lines.push(parseLine);
98
+ ok = false;
99
+ }
60
100
  }
61
101
  else {
62
102
  const line = `${icons.skip} project.yaml: no encontrado (ejecutar forge init)`;
@@ -88,6 +128,77 @@ export async function doctor(_args) {
88
128
  console.log(' ' + line);
89
129
  lines.push(line);
90
130
  }
131
+ // ── Runtimes instalados (detección en vivo) ──────────────────────────────
132
+ console.log('\n' + bold('Runtimes instalados'));
133
+ const active = config?.runtimes?.active ?? [];
134
+ const activeSet = new Set(active);
135
+ for (const rt of RUNTIMES) {
136
+ const isActive = activeSet.has(rt.id);
137
+ const activeTag = isActive ? ' ' + cyan('● active') : '';
138
+ const probe = probeRuntime(rt.cmd);
139
+ if (probe.installed) {
140
+ const ver = probe.version ? ' ' + gray(`(${probe.version})`) : '';
141
+ const line = `${icons.ok} ${rt.label}${ver}${activeTag}`;
142
+ console.log(' ' + line);
143
+ lines.push(`${icons.ok} ${rt.label} instalado`);
144
+ }
145
+ else {
146
+ const line = `${yellow('○')} ${rt.label}${dim(' — ausente')} ${dim('install: ' + rt.install)}${activeTag}`;
147
+ console.log(' ' + line);
148
+ lines.push(`${yellow('○')} ${rt.label} ausente`);
149
+ // Un runtime marcado como activo pero no instalado es un fallo.
150
+ if (isActive) {
151
+ const warn = `${icons.error} ${rt.label} está marcado como activo pero no está instalado`;
152
+ console.log(' ' + warn);
153
+ lines.push(warn);
154
+ ok = false;
155
+ }
156
+ }
157
+ }
158
+ // ── Completitud del project.yaml v2 ──────────────────────────────────────
159
+ if (config) {
160
+ console.log('\n' + bold('project.yaml (v2)'));
161
+ // Campos requeridos
162
+ if (config.project?.mode) {
163
+ const line = `${icons.ok} project.mode: ${config.project.mode}`;
164
+ console.log(' ' + line);
165
+ lines.push(line);
166
+ }
167
+ else {
168
+ const line = `${icons.error} project.mode: ausente (requerido)`;
169
+ console.log(' ' + line);
170
+ lines.push(line);
171
+ ok = false;
172
+ }
173
+ if (active.length > 0) {
174
+ const line = `${icons.ok} runtimes.active: ${active.join(', ')}`;
175
+ console.log(' ' + line);
176
+ lines.push(line);
177
+ }
178
+ else {
179
+ const line = `${icons.error} runtimes.active: ausente (requerido en v2)`;
180
+ console.log(' ' + line);
181
+ lines.push(line);
182
+ ok = false;
183
+ }
184
+ // Secciones recomendadas
185
+ const recommended = [
186
+ ['deploy', 'deploy.provider + smoke_tests'],
187
+ ['rules', 'guardrails del proyecto'],
188
+ ];
189
+ for (const [key, hint] of recommended) {
190
+ if (config[key]) {
191
+ const line = `${icons.ok} sección '${String(key)}' presente`;
192
+ console.log(' ' + line);
193
+ lines.push(line);
194
+ }
195
+ else {
196
+ const line = `${icons.warn} sección '${String(key)}' ausente — recomendada (${hint})`;
197
+ console.log(' ' + line);
198
+ lines.push(line);
199
+ }
200
+ }
201
+ }
91
202
  console.log('');
92
203
  if (ok) {
93
204
  const summaryLine = green('All checks passed.');
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAU,IAAI,EAAE,KAAK,EAAQ,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAe;IAC1C,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,CAAC;IAE7E,kBAAkB;IAClB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,YAAY,WAAW,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,YAAY,WAAW,sBAAsB,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,EAAE,GAAG,KAAK,CAAC;IACb,CAAC;IAED,aAAa;IACb,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,cAAc;QACd,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;eAClD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;eACzC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,EAAE,0BAA0B,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,KAAK,wEAAwE,CAAC;YAC1G,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,gBAAgB,GAAG,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,EAAE,GAAG,KAAK,CAAC;IACb,CAAC;IAED,eAAe;IACf,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,kBAAkB,WAAW,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,oDAAoD,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,8BAA8B;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,kCAAkC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,wCAAwC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,8CAA8C,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -409,7 +409,7 @@ export async function init(args) {
409
409
  ...allAgents.map(a => `.claude/agents/${a}.md`),
410
410
  ];
411
411
  const ts = new Date().toISOString();
412
- saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.7.0', ts));
412
+ saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.8.0', ts));
413
413
  },
414
414
  },
415
415
  ]);
@@ -0,0 +1,2 @@
1
+ export declare function migrate(args: string[]): Promise<number>;
2
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AA8MA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyF7D"}
@@ -0,0 +1,261 @@
1
+ import { readFileSync, writeFileSync, copyFileSync } from 'fs';
2
+ import yaml from 'js-yaml';
3
+ import { findProjectYaml } from '../lib/yaml.js';
4
+ import { bold, dim, green, red, yellow, cyan, gray, icons } from '../ui/colors.js';
5
+ import { box } from '../ui/box.js';
6
+ const HELP = `Usage: forge migrate [options]
7
+
8
+ Migrate project.yaml from the v1 schema to v2. Detects the legacy format,
9
+ appends the new v2 sections (mode, deploy fields, mcp, github, rules, scripts)
10
+ preserving every existing value, and reports the changes.
11
+
12
+ Options:
13
+ --dry-run Show the diff without writing changes
14
+ --backup Create project.yaml.bak before modifying
15
+ -h, --help Show this help
16
+ `;
17
+ function loadYamlRaw(path) {
18
+ const raw = readFileSync(path, 'utf-8');
19
+ const parsed = yaml.load(raw);
20
+ const data = parsed && typeof parsed === 'object' ? parsed : {};
21
+ return { data, raw };
22
+ }
23
+ /**
24
+ * Detects whether the project.yaml is v1 or v2.
25
+ * Criterion: if it has 'rules' OR 'mcp' OR 'github' OR 'project.mode' -> v2.
26
+ */
27
+ function detectVersion(data) {
28
+ if ('rules' in data || 'mcp' in data || 'github' in data)
29
+ return '2';
30
+ const project = data['project'] ?? {};
31
+ if ('mode' in project)
32
+ return '2';
33
+ return '1';
34
+ }
35
+ /**
36
+ * Builds the full v2 YAML. Strategy: append a schema_version header and the
37
+ * new sections at the end, preserving the original content. Sections that
38
+ * already exist are merged intelligently to avoid duplication.
39
+ */
40
+ function buildV2Yaml(data, raw) {
41
+ const existingSections = new Set(Object.keys(data));
42
+ const lines = [];
43
+ // Header
44
+ lines.push('# ---------------------------------------------------------------------------');
45
+ lines.push('# schema_version: "2"');
46
+ lines.push('# Las siguientes secciones fueron agregadas por forge migrate');
47
+ lines.push('# ---------------------------------------------------------------------------');
48
+ lines.push('');
49
+ const project = data['project'] ?? {};
50
+ const needsProjectMode = !('mode' in project);
51
+ const agents = data['agents'] ?? {};
52
+ const needsAgentsByRole = existingSections.has('agents') && !('by_role' in agents);
53
+ const needsMcp = !existingSections.has('mcp');
54
+ const needsGithub = !existingSections.has('github');
55
+ const needsRules = !existingSections.has('rules');
56
+ const needsScripts = !existingSections.has('scripts');
57
+ // --- project.mode patch ---
58
+ if (needsProjectMode) {
59
+ lines.push("# ACCIÓN REQUERIDA: Agrega 'mode' a la sección project arriba.");
60
+ lines.push('# Valores: startup | standard | enterprise');
61
+ lines.push('# Ejemplo:');
62
+ lines.push('# project:');
63
+ lines.push('# mode: "standard"');
64
+ lines.push('');
65
+ }
66
+ // --- agents.by_role ---
67
+ if (needsAgentsByRole) {
68
+ lines.push('# nuevo en v2 — agregar bajo la sección agents existente:');
69
+ lines.push('# agents:');
70
+ lines.push('# by_role:');
71
+ lines.push('# orchestrator: claude-opus-4-7');
72
+ lines.push('# senior-backend: claude-sonnet-4-6');
73
+ lines.push('');
74
+ }
75
+ // --- deploy (new v2 fields) ---
76
+ const deployRaw = data['deploy'];
77
+ const deploy = deployRaw && typeof deployRaw === 'object' ? deployRaw : {};
78
+ const existingDeployKeys = new Set(Object.keys(deploy));
79
+ const deployNewFields = [];
80
+ if (!existingDeployKeys.has('project_id')) {
81
+ deployNewFields.push(' project_id: null # ID del proyecto en la plataforma (ej: prj_xxx en Vercel)');
82
+ }
83
+ if (!existingDeployKeys.has('production_url')) {
84
+ deployNewFields.push(' production_url: null # https://mi-proyecto.vercel.app');
85
+ }
86
+ if (!existingDeployKeys.has('smoke_tests')) {
87
+ deployNewFields.push(' smoke_tests: [] # Tests de humo post-deploy');
88
+ deployNewFields.push(' # Ejemplo de smoke test:');
89
+ deployNewFields.push(' # smoke_tests:');
90
+ deployNewFields.push(' # - url: /api/health');
91
+ deployNewFields.push(' # expect_status: 200');
92
+ deployNewFields.push(' # expect_json:');
93
+ deployNewFields.push(' # status: ok');
94
+ }
95
+ if (deployNewFields.length > 0) {
96
+ if (existingSections.has('deploy')) {
97
+ lines.push('# nuevo en v2 — campos adicionales para la sección deploy existente:');
98
+ lines.push('# (agregar manualmente bajo la sección deploy arriba)');
99
+ for (const field of deployNewFields) {
100
+ lines.push('# ' + field.trimStart());
101
+ }
102
+ }
103
+ else {
104
+ lines.push('');
105
+ lines.push('deploy: # nuevo en v2');
106
+ if (!existingDeployKeys.has('provider')) {
107
+ lines.push(' provider: null # vercel | railway | fly | aws | github-actions | custom | null');
108
+ }
109
+ lines.push(...deployNewFields);
110
+ }
111
+ lines.push('');
112
+ }
113
+ // --- mcp ---
114
+ if (needsMcp) {
115
+ lines.push('mcp: # nuevo en v2');
116
+ lines.push(' servers: []');
117
+ lines.push(' # Ejemplo:');
118
+ lines.push(' # servers:');
119
+ lines.push(' # - name: supabase');
120
+ lines.push(' # auto_approve:');
121
+ lines.push(' # - list_tables');
122
+ lines.push(' # - execute_sql');
123
+ lines.push('');
124
+ }
125
+ // --- github ---
126
+ if (needsGithub) {
127
+ lines.push('github: # nuevo en v2');
128
+ lines.push(' project:');
129
+ lines.push(' number: null # Número del GitHub Project');
130
+ lines.push(' owner: null # usuario u organización');
131
+ lines.push(' repo: null # nombre del repositorio');
132
+ lines.push(' status_field_id: null # ID del campo Status');
133
+ lines.push(' status_in_progress: null # ej: "In Progress"');
134
+ lines.push(' status_done: null # ej: "Done"');
135
+ lines.push('');
136
+ }
137
+ // --- rules ---
138
+ if (needsRules) {
139
+ lines.push('rules: # nuevo en v2');
140
+ lines.push(' forbidden_in_production:');
141
+ lines.push(' - "console.log"');
142
+ lines.push(' - "TODO:"');
143
+ lines.push(' - "FIXME:"');
144
+ lines.push(' required_review_before_ship: false');
145
+ lines.push(' require_spec_before_implementation: false');
146
+ lines.push(' conventional_commits: true');
147
+ lines.push(' forbidden_patterns: []');
148
+ lines.push('');
149
+ }
150
+ // --- scripts ---
151
+ if (needsScripts) {
152
+ lines.push('scripts: # nuevo en v2');
153
+ lines.push(' check: null # ej: "pnpm typecheck && pnpm lint"');
154
+ lines.push('');
155
+ }
156
+ // Header (5 lines) + nothing else -> nothing to migrate.
157
+ if (lines.slice(5).every((l) => l === '')) {
158
+ return raw;
159
+ }
160
+ const additions = lines.join('\n');
161
+ return raw.replace(/\n+$/, '') + '\n\n' + additions + '\n';
162
+ }
163
+ /** Minimal line-based unified diff (added/removed lines only). */
164
+ function showDiff(original, updated) {
165
+ const origLines = original.split('\n');
166
+ const newLines = updated.split('\n');
167
+ const origSet = new Set(origLines);
168
+ const newSet = new Set(newLines);
169
+ let printed = false;
170
+ for (const line of newLines) {
171
+ if (!origSet.has(line) && line !== '') {
172
+ console.log(green('+ ' + line));
173
+ printed = true;
174
+ }
175
+ }
176
+ for (const line of origLines) {
177
+ if (!newSet.has(line) && line !== '') {
178
+ console.log(red('- ' + line));
179
+ printed = true;
180
+ }
181
+ }
182
+ if (!printed) {
183
+ console.log(dim('(sin cambios)'));
184
+ }
185
+ }
186
+ export async function migrate(args) {
187
+ if (args.includes('-h') || args.includes('--help')) {
188
+ process.stdout.write(HELP);
189
+ return 0;
190
+ }
191
+ const dryRun = args.includes('--dry-run');
192
+ const backup = args.includes('--backup');
193
+ const projectYamlPath = findProjectYaml(process.cwd());
194
+ if (!projectYamlPath) {
195
+ console.error(red('ERROR: No se encontró project.yaml en el directorio actual ni superiores'));
196
+ return 1;
197
+ }
198
+ console.log(cyan(bold('forge migrate')) + '\n');
199
+ console.log(`${dim('Leyendo:')} ${projectYamlPath}`);
200
+ let data;
201
+ let raw;
202
+ try {
203
+ ({ data, raw } = loadYamlRaw(projectYamlPath));
204
+ }
205
+ catch (e) {
206
+ const msg = e instanceof Error ? e.message : String(e);
207
+ console.error(red(`ERROR: No se pudo leer/parsear project.yaml: ${msg}`));
208
+ return 1;
209
+ }
210
+ const version = detectVersion(data);
211
+ if (version === '2') {
212
+ console.log(`\n [${icons.ok}] ${green('El project.yaml ya está en v2')} ${dim("(contiene 'rules', 'mcp', 'github' o 'project.mode')")}`);
213
+ console.log('\n' + box(green('Sin cambios'), ['No se requiere migración.']));
214
+ return 0;
215
+ }
216
+ console.log(`${dim('Versión detectada:')} ${yellow('v' + version)} ${dim('→')} ${green('v2')}\n`);
217
+ const newContent = buildV2Yaml(data, raw);
218
+ if (newContent === raw) {
219
+ console.log(` [${icons.ok}] ${green('Nada que migrar')} ${dim('— el archivo ya contiene todas las secciones v2')}`);
220
+ console.log('\n' + box(green('Sin cambios'), ['No se requiere migración.']));
221
+ return 0;
222
+ }
223
+ if (dryRun) {
224
+ console.log(yellow('--- DRY RUN: mostrando diff (no se escribirán cambios) ---') + '\n');
225
+ showDiff(raw, newContent);
226
+ console.log('\n' + box(cyan('Dry run'), ['Ejecuta sin --dry-run para aplicar los cambios.']));
227
+ return 0;
228
+ }
229
+ if (backup) {
230
+ const backupPath = projectYamlPath.replace(/\.yaml$/, '.yaml.bak');
231
+ try {
232
+ copyFileSync(projectYamlPath, backupPath);
233
+ console.log(` [${icons.ok}] ${green('Backup creado')} ${dim(backupPath)}`);
234
+ }
235
+ catch (e) {
236
+ const msg = e instanceof Error ? e.message : String(e);
237
+ console.error(red(`ERROR: No se pudo crear el backup: ${msg}`));
238
+ return 1;
239
+ }
240
+ }
241
+ try {
242
+ writeFileSync(projectYamlPath, newContent, 'utf-8');
243
+ }
244
+ catch (e) {
245
+ const msg = e instanceof Error ? e.message : String(e);
246
+ console.error(red(`ERROR: No se pudo escribir project.yaml: ${msg}`));
247
+ return 1;
248
+ }
249
+ console.log(` [${icons.ok}] ${green('Migración completada')} ${dim(projectYamlPath)}\n`);
250
+ console.log(bold('--- Cambios aplicados ---'));
251
+ showDiff(raw, newContent);
252
+ console.log('\n' +
253
+ box(green('Migración v1 → v2 completada'), [
254
+ gray('Próximos pasos:'),
255
+ '1. Revisa el archivo y completa los campos null con valores reales',
256
+ '2. Agrega project.mode (startup | standard | enterprise) si no está',
257
+ '3. Valida con: ' + cyan('forge validate'),
258
+ ]));
259
+ return 0;
260
+ }
261
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function scaffold(args: string[]): Promise<number>;
2
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"AAwKA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+E9D"}