fwinit 1.6.0 → 1.6.2

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 (3) hide show
  1. package/README.md +2 -2
  2. package/dist/index.js +17 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -86,7 +86,7 @@ mi-proyecto/
86
86
  ├── backend/ # API (template elegido — trae su DB: Prisma o EF)
87
87
  ├── frontend/ # App (template frontend elegido)
88
88
  ├── .gitignore # .atl/ · odd (.opencode/, .pi/ y .agents/ SÍ se versionan)
89
- ├── .opencode/ # Skills de OpenCode (create-specs, create-specs-from-code, create-prompt + biblioteca de diseño)
89
+ ├── .opencode/ # Skills de OpenCode (create-specs, create-specs-from-code, create-prompt, biblioteca de diseño y catálogo ui-ux-pro-max)
90
90
  ├── .pi/ # Mismo bundle para Pi y Gentle Shell (skills + prompt templates)
91
91
  ├── .agents/ # Mismo bundle para Freebuff y agentes Agent Skills
92
92
  ├── README.md # Cómo correr backend y frontend
@@ -148,7 +148,7 @@ El runtime `bun` de un template se porta automáticamente a `node` (npm/pnpm) si
148
148
  2. Extrae y copia el template (o los dos, `backend/` + `frontend/`) al proyecto
149
149
  3. Sustituye el nombre del proyecto (package.json, app.json de Expo, proyectos ASP.NET con "Example", y en Flutter el paquete Dart, los imports, los bundle ids nativos y los nombres de binario)
150
150
  4. Si corresponde, porta el template de runtime bun a node (npm/pnpm)
151
- 5. Instala `.opencode/`, `.pi/` y `.agents/` con las skills `create-specs` y `create-specs-from-code`, sus comandos (`/create-specs` rutea entre ambos según el estado del repo) y la biblioteca de diseño (mismo bundle para OpenCode, Pi/Gentle Shell y Agent Skills: elegí el agente que quieras)
151
+ 5. Instala `.opencode/`, `.pi/` y `.agents/` con las skills `create-specs` y `create-specs-from-code`, sus comandos (`/create-specs` rutea entre ambos según el estado del repo), la biblioteca de diseño y el catálogo `ui-ux-pro-max` (mismo bundle para OpenCode, Pi/Gentle Shell y Agent Skills: elegí el agente que quieras)
152
152
  6. Limpia los lock files (cada proyecto instala los suyos; incluye `pubspec.lock` en Flutter)
153
153
  7. Si lo elegís (o pasás `--git`), inicializa un repositorio git en la raíz
154
154
  8. Te muestra los próximos pasos (install y dev de cada carpeta)
package/dist/index.js CHANGED
@@ -656,6 +656,13 @@ var AGENT_BUNDLE = [
656
656
  {
657
657
  // Biblioteca de estilos: skills/design/ con una subskill por estilo y sus
658
658
  // commands (/design, /design-<estilo>) que leen specs/frontend/02-design.md.
659
+ // Adentro vive también el catálogo search-driven ui-ux-pro-max (Python
660
+ // stdlib, offline): no es un estilo fijo sino una base consultable que
661
+ // genera un design system, pero comparte familia, carpeta y comando
662
+ // (/design-ui-ux-pro-max). Como la biblioteca se copia entera, el catálogo
663
+ // viaja con su data/ y sus scripts/ — si sólo viajara su SKILL.md, cada
664
+ // búsqueda devolvería 0 resultados y el agente caería a defaults genéricos
665
+ // sin avisar.
659
666
  kind: "library",
660
667
  dir: "design",
661
668
  required: false
@@ -712,13 +719,12 @@ async function planAgentBundle(repoRoot, bundle = AGENT_BUNDLE) {
712
719
  }
713
720
  for (const extra of entry.extras ?? []) {
714
721
  const from = join4(src, extra);
715
- if (await exists(from)) {
716
- installs.push({
717
- from,
718
- to: `skills/${entry.dir}/${extra}`,
719
- recursive: true
720
- });
721
- }
722
+ if (!await exists(from)) continue;
723
+ installs.push({
724
+ from,
725
+ to: `skills/${entry.dir}/${extra}`,
726
+ recursive: true
727
+ });
722
728
  }
723
729
  }
724
730
  return { installs, skillDirs, commandDirs: ["commands"], missingRequired };
@@ -1226,7 +1232,7 @@ async function writeRootFiles(info) {
1226
1232
  "",
1227
1233
  `- \`backend/\` \u2014 ${info.backend.description}`,
1228
1234
  `- \`frontend/\` \u2014 ${info.frontend.description}`,
1229
- "- `.opencode/`, `.pi/` y `.agents/` \u2014 skills de agentes: `/create-prompt` para detallar tu idea, `/create-specs` para generar las specs, `/create-specs-from-code` para documentar un proyecto que ya existe, + biblioteca de dise\xF1o (dark-luxury, minimal-dashboard, minimal-light, neo-brutalist, glassmorphism). Mismo bundle en las 3 ubicaciones: OpenCode lee `.opencode/`; Pi y Gentle Shell leen `.pi/` (skills + prompt templates); los agentes Agent Skills leen `.agents/`",
1235
+ "- `.opencode/`, `.pi/` y `.agents/` \u2014 skills de agentes: `/create-prompt` para detallar tu idea, `/create-specs` para generar las specs, `/create-specs-from-code` para documentar un proyecto que ya existe, + biblioteca de dise\xF1o con `/design` (estilos dark-luxury, docs-starship, minimal-dashboard, minimal-light, neo-brutalist, glassmorphism) y el cat\xE1logo search-driven `/design-ui-ux-pro-max` (requiere Python 3). Mismo bundle en las 3 ubicaciones: OpenCode lee `.opencode/`; Pi y Gentle Shell leen `.pi/` (skills + prompt templates); los agentes Agent Skills leen `.agents/`",
1230
1236
  "- `specs/` \u2014 especificaciones del proyecto",
1231
1237
  "",
1232
1238
  "## Backend",
@@ -1399,7 +1405,8 @@ async function runSkillsFlow(opts = {}) {
1399
1405
  console.log(chalk.bold("\nSkills disponibles:\n"));
1400
1406
  console.log(chalk.dim(" create-specs \u2014 specs para proyecto nuevo (/create-specs)"));
1401
1407
  console.log(chalk.dim(" create-specs-from-code \u2014 specs desde c\xF3digo existente (/create-specs-from-code)"));
1402
- console.log(chalk.dim(" design/ \u2014 dark-luxury, glassmorphism, minimal-dashboard, minimal-light, neo-brutalist (/design-<estilo>)\n"));
1408
+ console.log(chalk.dim(" create-prompt \u2014 detalla una idea en specs/prompt.md (/create-prompt)"));
1409
+ console.log(chalk.dim(" design/ \u2014 dark-luxury, glassmorphism, minimal-dashboard, minimal-light, neo-brutalist, docs-starship + cat\xE1logo ui-ux-pro-max (/design-<estilo>; el cat\xE1logo requiere Python 3)\n"));
1403
1410
  let bundle;
1404
1411
  if (opts.only) {
1405
1412
  const names = opts.only.split(",").map((s) => s.trim()).filter(Boolean);
@@ -1472,7 +1479,7 @@ program.command("skills").description(
1472
1479
  "Destinos separados por coma: opencode, pi, gentle-shell, agents (o 'all'). Saltea la pregunta"
1473
1480
  ).option(
1474
1481
  "-o, --only <skills>",
1475
- "Solo estas skills, separadas por coma: create-specs, create-specs-from-code, design"
1482
+ "Solo estas skills, separadas por coma: create-specs, create-specs-from-code, create-prompt, design"
1476
1483
  ).option(
1477
1484
  "-r, --remove",
1478
1485
  "Eliminar en vez de instalar (combinar con --global y opcionalmente --only)"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fwinit",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "CLI para crear proyectos desde templates",
5
5
  "type": "module",
6
6
  "bin": {