Lines 1-37javascript
2// fractalia-faro — Wizard INICIAL de creación de repos (PRE-harness).
3// Pieza independiente: el harness vive DENTRO de cada repo ya creado; este CLI es quien lo crea.
5// MODELO (validado 2026-07-08):
6// - Nombre AGNÓSTICO y estable: faro-<slug> (nada de plataforma/gobernanza en el nombre).
7// - Clasificación en GitHub TOPICS + metadato in-repo:
8// faro · plat-core|plat-orbital · gob-servicio|funcionalidad|proyecto|iniciativa · sys-<slug>
9// - Evolución (iniciativa→proyecto→servicio) = cambiar el topic, SIN renombrar.
10// - El wizard estampa los topics vía API al crear.
11// Sin dependencias. Node >= 18 (usa fetch nativo).
14import fs from 'node:fs';
15import os from 'node:os';
16import path from 'node:path';
17import readline from 'node:readline/promises';
18import { execFileSync } from 'node:child_process';
19
HighChild Process
Package source references child process execution.
bin/crear.mjsView on unpkg · L17 HighSandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
bin/crear.mjsView on unpkg · L17 20// ---------- Plataformas (EXTENSIBLE; el catalog.json de la org las sobreescribe) ----------
21// Core = plataforma principal (visible a todos). Orbital y futuras = transversales; soloOwner.
23 { id: 'core', nombre: 'Core', nota: 'plataforma principal' },
24 { id: 'orbital', nombre: 'Orbital', nota: 'solución transversal', soloOwner: true },
26// ENTIDAD (la CLASE, modelo v2): QUÉ es el trabajo. El usuario elige de las 11 (lenguaje amigable).
27// Se guarda como `entidad` en .fractalia-template.json (+ topic ent-*). El catalog.json de la org la sobreescribe.
29 plataforma: { etiqueta: 'Plataforma', explica: 'La base sobre la que se montan otras cosas.' },
30 sistema: { etiqueta: 'Sistema', explica: 'Varias piezas que funcionan como un todo.' },
31 servicio: { etiqueta: 'Servicio', explica: 'En marcha y sin fecha de fin: se mantiene y mejora.' },
32 funcionalidad: { etiqueta: 'Funcionalidad', explica: 'Una pieza que se añade a algo mayor.' },
33 proceso: { etiqueta: 'Proceso', explica: 'Una forma de trabajar que se repite.' },
34 proyecto: { etiqueta: 'Proyecto', explica: 'Con objetivo y fecha; se cierra al terminar.' },
35 iniciativa: { etiqueta: 'Iniciativa / investigación', explica: 'Una exploración; el alcance aún está abierto.' },
36 libreria: { etiqueta: 'Librería', explica: 'Código reutilizable por otros repos.' },
37 generico: { etiqueta: 'Genérico', explica: 'Cajón para lo que no encaja en los demás.' },