fwinit 1.5.3 → 1.5.4

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/README.md CHANGED
@@ -35,11 +35,12 @@ fwinit fullstack mi-proyecto -b fastify -f react-native -p pnpm
35
35
  # Ver templates disponibles (agrupados por capa)
36
36
  fwinit list
37
37
 
38
- # Instalar skills globalmente (OpenCode, Pi, Agent Skills) — interactivo
38
+ # Instalar skills globalmente (OpenCode, Pi, Gentle Shell, Agent Skills) — interactivo
39
39
  fwinit skills
40
40
 
41
41
  # Instalar skills globalmente sin preguntas (modo scripting/CI)
42
42
  fwinit skills --global opencode,pi # o: --global all
43
+ fwinit skills --global gentle-shell
43
44
 
44
45
  # Instalar solo algunas skills
45
46
  fwinit skills --global all --only create-specs,design
@@ -80,9 +81,10 @@ Pregunta qué backend querés (ASP.NET, Express, Fastify, Node.js Vanilla) y qu
80
81
  mi-proyecto/
81
82
  ├── backend/ # API (template elegido — trae su DB: Prisma o EF)
82
83
  ├── frontend/ # App (template frontend elegido)
83
- ├── .gitignore # .atl/ · odd (.opencode/ y .pi/ SÍ se versionan)
84
- ├── .opencode/ # Skills de opencode (create-specs, create-specs-from-code y biblioteca de diseño)
85
- ├── .pi/ # Mismo bundle de skills para Pi (badlogic)
84
+ ├── .gitignore # .atl/ · odd (.opencode/, .pi/ y .agents/ SÍ se versionan)
85
+ ├── .opencode/ # Skills de OpenCode (create-specs, create-specs-from-code, create-prompt + biblioteca de diseño)
86
+ ├── .pi/ # Mismo bundle para Pi y Gentle Shell (skills + prompt templates)
87
+ ├── .agents/ # Mismo bundle para Freebuff y agentes Agent Skills
86
88
  ├── README.md # Cómo correr backend y frontend
87
89
  └── specs/ # La creás con /create-specs
88
90
  ```
@@ -138,12 +140,12 @@ El runtime `bun` de un template se porta automáticamente a `node` (npm/pnpm) si
138
140
  2. Extrae y copia el template (o los dos, `backend/` + `frontend/`) al proyecto
139
141
  3. Sustituye el nombre del proyecto (package.json, app.json de Expo, proyectos ASP.NET con "Example")
140
142
  4. Si corresponde, porta el template de runtime bun a node (npm/pnpm)
141
- 5. Instala `.opencode/` y `.pi/` 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 y Pi: elegí el agente que quieras)
143
+ 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)
142
144
  6. Limpia los lock files (cada proyecto instala los suyos)
143
145
  7. Si lo elegís (o pasás `--git`), inicializa un repositorio git en la raíz
144
146
  8. Te muestra los próximos pasos (install y dev de cada carpeta)
145
147
 
146
- En modo fullstack (y single con layout de capa) crea además `.gitignore` y `README.md` en la raíz: el `.gitignore` excluye solo el estado local de AI (`.atl/` y `odd`). `.opencode/` y `.pi/` NO se ignoran — los bundles de skills se versionan con el proyecto.
148
+ En modo fullstack (y single con layout de capa) crea además `.gitignore` y `README.md` en la raíz: el `.gitignore` excluye solo el estado local de AI (`.atl/` y `odd`). `.opencode/`, `.pi/` y `.agents/` NO se ignoran — los bundles de skills se versionan con el proyecto.
147
149
 
148
150
  ## Desarrollo
149
151
 
package/dist/index.js CHANGED
@@ -455,7 +455,7 @@ async function askGlobalSkillsToo() {
455
455
  {
456
456
  type: "confirm",
457
457
  name: "global",
458
- message: "\xBFInstalar las skills tambi\xE9n globalmente (OpenCode/Pi/Agent Skills)?",
458
+ message: "\xBFInstalar las skills tambi\xE9n globalmente (OpenCode/Pi/Gentle Shell/Agent Skills)?",
459
459
  default: false
460
460
  }
461
461
  ]);
@@ -468,6 +468,7 @@ import { join as join2 } from "path";
468
468
  function resolveGlobalTargets() {
469
469
  const home = process.env.HOME;
470
470
  if (!home) return [];
471
+ const gentleShellRoot = process.env.GENTLE_SHELL_HOME || join2(home, ".gentle-shell", "agent");
471
472
  return [
472
473
  {
473
474
  id: "opencode",
@@ -483,6 +484,13 @@ function resolveGlobalTargets() {
483
484
  skillsDir: "skills",
484
485
  commandsDir: "prompts"
485
486
  },
487
+ {
488
+ id: "gentle-shell",
489
+ label: `Gentle Shell global (${gentleShellRoot})`,
490
+ root: gentleShellRoot,
491
+ skillsDir: "skills",
492
+ commandsDir: "prompts"
493
+ },
486
494
  {
487
495
  id: "agents",
488
496
  label: `Agent Skills global (${home}/.agents/skills)`,
@@ -809,7 +817,7 @@ async function writeRootFiles(info) {
809
817
  "",
810
818
  `- \`backend/\` \u2014 ${info.backend.description}`,
811
819
  `- \`frontend/\` \u2014 ${info.frontend.description}`,
812
- "- `.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",
820
+ "- `.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/`",
813
821
  "- `specs/` \u2014 especificaciones del proyecto",
814
822
  "",
815
823
  "## Backend",
@@ -1045,10 +1053,10 @@ async function runSkillsFlow(opts = {}) {
1045
1053
  return true;
1046
1054
  }
1047
1055
  program.command("skills").description(
1048
- "Instalar o eliminar las skills del repo en ubicaciones globales (OpenCode, Pi, Agent Skills)"
1056
+ "Instalar o eliminar las skills del repo en ubicaciones globales (OpenCode, Pi, Gentle Shell, Agent Skills)"
1049
1057
  ).option(
1050
1058
  "-g, --global <targets>",
1051
- "Destinos separados por coma: opencode, pi, agents (o 'all'). Saltea la pregunta"
1059
+ "Destinos separados por coma: opencode, pi, gentle-shell, agents (o 'all'). Saltea la pregunta"
1052
1060
  ).option(
1053
1061
  "-o, --only <skills>",
1054
1062
  "Solo estas skills, separadas por coma: create-specs, create-specs-from-code, design"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fwinit",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "CLI para crear proyectos desde templates",
5
5
  "type": "module",
6
6
  "bin": {