ostacky 0.7.2 → 0.7.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
@@ -22,7 +22,7 @@ Después de instalar Ostacky (con `npx ostacky install`), necesitás iniciar Ope
22
22
  opencode
23
23
  ```
24
24
 
25
- Abre la interfaz de terminal interactiva. Seleccioná el agente `@Ostacky` desde el panel de agentes o escribí `/agent Ostacky`.
25
+ Abre la interfaz de terminal interactiva. **Para elegir el agente Ostacky: usá `Tab` para navegar entre agentes** en el panel lateral, o escribí `/agent Ostacky` en el chat.
26
26
 
27
27
  ### Web UI — para usar desde el navegador
28
28
 
@@ -30,7 +30,7 @@ Abre la interfaz de terminal interactiva. Seleccioná el agente `@Ostacky` desde
30
30
  opencode web --port 4096
31
31
  ```
32
32
 
33
- Abre OpenCode en el navegador en `http://localhost:4096`. Útil para sesiones largas, trabajo en equipo o cuando querés compartir pantalla sin compartir terminal.
33
+ Abre OpenCode en el navegador en `http://localhost:4096`. **Para elegir el agente Ostacky: abrí el combo/selector de agentes** en la barra superior y seleccioná "Ostacky". Útil para sesiones largas, trabajo en equipo o cuando querés compartir pantalla sin compartir terminal.
34
34
 
35
35
  Opciones útiles:
36
36
 
@@ -221,33 +221,33 @@ Tras instalar, el proyecto queda así:
221
221
 
222
222
  ```json
223
223
  {
224
- "version": "0.7.2",
224
+ "version": "0.7.4",
225
225
  "lockedAt": "2025-01-01T00:00:00.000Z",
226
226
  "repo": "JaimeHoracio/Ostacky",
227
- "tag": "v0.7.2",
227
+ "tag": "v0.7.4",
228
228
  "agents": {
229
229
  "ostacky": {
230
- "version": "0.7.2",
230
+ "version": "0.7.4",
231
231
  "installedAt": "2025-01-01T00:00:00.000Z",
232
232
  "sha256": "abc123..."
233
233
  }
234
234
  },
235
235
  "commands": {
236
236
  "install-stack": {
237
- "version": "0.7.2",
237
+ "version": "0.7.4",
238
238
  "installedAt": "2025-01-01T00:00:00.000Z",
239
239
  "sha256": "def456..."
240
240
  },
241
241
  "opsx-sync": {
242
- "version": "0.7.2",
242
+ "version": "0.7.4",
243
243
  "installedAt": "2025-01-01T00:00:00.000Z",
244
244
  "sha256": "ghi789..."
245
245
  }
246
246
  },
247
247
  "skills": {
248
- "brainstorming": { "version": "0.7.2", ... },
249
- "execution-mode-evaluation": { "version": "0.7.2", ... },
250
- "openspec-propose": { "version": "0.7.2", ... }
248
+ "brainstorming": { "version": "0.7.4", ... },
249
+ "execution-mode-evaluation": { "version": "0.7.4", ... },
250
+ "openspec-propose": { "version": "0.7.4", ... }
251
251
  }
252
252
  }
253
253
  ```
@@ -259,10 +259,10 @@ Se recomienda agregar `ostacky-lock.json` al control de versiones para que el eq
259
259
  Al terminar la instalación, el flujo normal es:
260
260
 
261
261
  1. **Iniciar OpenCode** (si no está corriendo):
262
- - **TUI:** `opencode` en tu terminal
263
- - **Web:** `opencode web --port 4096` y abrí `http://localhost:4096`
262
+ - **TUI:** `opencode` en tu terminal → **usá `Tab` para navegar al agente Ostacky** en el panel lateral
263
+ - **Web:** `opencode web --port 4096` y abrí `http://localhost:4096` → **abrí el combo/selector de agentes** en la barra superior y elegí "Ostacky"
264
264
  2. OpenCode detecta automáticamente los archivos nuevos en `.opencode/` al iniciar, no necesita recarga manual.
265
- 3. Para usar el agente **escribí `@Ostacky`** en el chat de OpenCode (TUI o web) y enviá tu mensaje. También podés seleccionarlo desde el selector de agentes si tu versión de OpenCode lo soporta.
265
+ 3. Para usar el agente **escribí `@Ostacky`** en el chat de OpenCode (TUI o web) y enviá tu mensaje. También podés seleccionarlo desde el selector de agentes (ver arriba cómo).
266
266
 
267
267
  ### Regenerar el stack manualmente
268
268
 
@@ -277,7 +277,7 @@ Es opcional y solo necesario si algo falló durante la instalación o si querés
277
277
  ## Seguridad
278
278
 
279
279
  - `opencode.jsonc` se versiona en el repo para compartir permisos y MCP de forma reproducible.
280
- - Las URLs de descarga usan **tags de GitHub** (ej. `v0.7.2`), nunca `main` — instalaciones reproducibles
280
+ - Las URLs de descarga usan **tags de GitHub** (ej. `v0.7.4`), nunca `main` — instalaciones reproducibles
281
281
  - Cada path de archivo descargado es validado para prevenir **path traversal**
282
282
  - Los archivos incluyen **checksum SHA-256** opcional; si el manifest lo define, el contenido se verifica antes de escribir
283
283
  - El cache local (`.opencode/cache/`) también valida integridad al servir archivos cacheados
@@ -288,6 +288,17 @@ Es opcional y solo necesario si algo falló durante la instalación o si querés
288
288
  - La sesión sigue ejecutándose después del bloqueo porque `experimental.continue_loop_on_deny` está activado.
289
289
  - Para worktrees, el repo prefiere `.worktrees/` o `worktrees/` (ambos project-local).
290
290
 
291
+ #### Patrones sensibles configurables (hardening-v2)
292
+
293
+ - Variable `OSTACKY_SENSITIVE_PATTERNS` overridea los patrones por defecto (`**/.env*`, `**/.secrets/**`, `**/*.pem`, `**/*.key`, `**/.aws/**`, `**/.ssh/**`, `**/credentials.json`, `**/.npmrc`).
294
+ - Ejemplo: `OSTACKY_SENSITIVE_PATTERNS="**/.env*,**/.secrets/**" bunx ostacky doctor` — `doctor` imprime el patrón efectivo.
295
+ - Allowlist: `.env.example`, `.env.template`, `.env.sample` nunca se bloquean.
296
+ - Fuente única: `src/security.ts` (`SENSITIVE_DEFAULT`, `isSensitive`, `BASH_SENSITIVE_RE`) — guard y controller usan la misma lógica (ver `doctor` para verificar).
297
+
298
+ #### Aislamiento de worktrees (harness-prod-hardening)
299
+
300
+ Cada worktree de git tiene su **propio** `ostacky-state.json` aislado (resuelto via `findProjectRoot()` con `git rev-parse --show-toplevel`). Dos worktrees no comparten `statePath`, locks ni backups — 3 agentes en 3 worktrees no corrompen el estado del otro. Ver `assets/skills/using-git-worktrees/SKILL.md` §Ostacky Worktree Isolation y `src/fs.ts:findProjectRoot`.
301
+
291
302
  ## Cache
292
303
 
293
304
  Los archivos descargados se guardan en: