ostacky 0.0.1 → 0.0.3

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 (28) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -26
  3. package/assets/agents/ostacky.md +65 -594
  4. package/assets/commands/install-stack.md +53 -19
  5. package/assets/commands/opsx-sync.md +25 -0
  6. package/assets/skills/brainstorming/SKILL.md +164 -0
  7. package/assets/skills/brainstorming/SKILL.md.placeholder +36 -0
  8. package/assets/skills/dispatching-parallel-agents/SKILL.md +182 -0
  9. package/assets/skills/dispatching-parallel-agents/SKILL.md.placeholder +36 -0
  10. package/assets/skills/openspec-apply-change/SKILL.md +156 -0
  11. package/assets/skills/openspec-apply-change/SKILL.md.placeholder +36 -0
  12. package/assets/skills/openspec-archive-change/SKILL.md +114 -0
  13. package/assets/skills/openspec-archive-change/SKILL.md.placeholder +36 -0
  14. package/assets/skills/openspec-explore/SKILL.md +288 -0
  15. package/assets/skills/openspec-explore/SKILL.md.placeholder +36 -0
  16. package/assets/skills/openspec-propose/SKILL.md +110 -0
  17. package/assets/skills/openspec-propose/SKILL.md.placeholder +36 -0
  18. package/assets/skills/review/SKILL.md +214 -0
  19. package/assets/skills/review/SKILL.md.placeholder +36 -0
  20. package/assets/skills/subagent-driven-development/SKILL.md +279 -0
  21. package/assets/skills/subagent-driven-development/SKILL.md.placeholder +36 -0
  22. package/assets/skills/tdd/SKILL.md +371 -0
  23. package/assets/skills/tdd/SKILL.md.placeholder +36 -0
  24. package/assets/skills/writing-plans/SKILL.md +152 -0
  25. package/assets/skills/writing-plans/SKILL.md.placeholder +36 -0
  26. package/dist/cli.js +389 -47
  27. package/manifest.json +101 -22
  28. package/package.json +39 -38
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Jaime Horacio
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -134,24 +134,24 @@ Tras instalar, el proyecto queda así:
134
134
 
135
135
  ```json
136
136
  {
137
- "version": "0.0.1",
138
- "lockedAt": "2025-01-01T00:00:00.000Z",
139
- "repo": "JaimeHoracio/Ostacky",
140
- "tag": "v0.0.1",
141
- "agents": {
142
- "ostacky": {
143
- "version": "0.0.1",
144
- "installedAt": "2025-01-01T00:00:00.000Z",
145
- "sha256": "abc123..."
137
+ "version": "0.0.3",
138
+ "lockedAt": "2025-01-01T00:00:00.000Z",
139
+ "repo": "JaimeHoracio/Ostacky",
140
+ "tag": "v0.0.3",
141
+ "agents": {
142
+ "ostacky": {
143
+ "version": "0.0.3",
144
+ "installedAt": "2025-01-01T00:00:00.000Z",
145
+ "sha256": "abc123..."
146
+ }
147
+ },
148
+ "commands": {
149
+ "install-stack": {
150
+ "version": "0.0.3",
151
+ "installedAt": "2025-01-01T00:00:00.000Z",
152
+ "sha256": "def456..."
153
+ }
146
154
  }
147
- },
148
- "commands": {
149
- "install-stack": {
150
- "version": "0.0.1",
151
- "installedAt": "2025-01-01T00:00:00.000Z",
152
- "sha256": "def456..."
153
- }
154
- }
155
155
  }
156
156
  ```
157
157
 
@@ -163,24 +163,36 @@ Al terminar la instalación, el CLI imprime en la terminal un panel con los pró
163
163
 
164
164
  1. **Recargar OpenCode** para que detecte los nuevos archivos en `.opencode/`.
165
165
  2. Ejecutar el command:
166
- ```
167
- /install-stack
168
- ```
169
- Si el command `/install-stack` no aparece en la terminal, recargá OpenCode (paso 1) y volvé a tipearlo. Es un command de OpenCode — el CLI lo instala pero OpenCode necesita recargarlo para registrarlo.
166
+ ```
167
+ /install-stack
168
+ ```
169
+ Si el command `/install-stack` no aparece en la terminal, recargá OpenCode (paso 1) y volvé a tipearlo. Es un command de OpenCode — el CLI lo instala pero OpenCode necesita recargarlo para registrarlo.
170
170
  3. **Recargar OpenCode nuevamente** después de que `/install-stack` haya corrido.
171
171
  4. Ya puedes usar el agente:
172
- ```
173
- @Ostacky
174
- ```
175
- o seleccionarlo desde la interfaz de OpenCode según la configuración del proyecto. `@Ostacky` invoca al agente que el CLI instaló en `.opencode/agents/ostacky.md`.
172
+ ```
173
+ @Ostacky
174
+ ```
175
+ o seleccionarlo desde la interfaz de OpenCode según la configuración del proyecto. `@Ostacky` invoca al agente que el CLI instaló en `.opencode/agents/ostacky.md`.
176
176
 
177
177
  ## Seguridad
178
178
 
179
- - Las URLs de descarga usan **tags de GitHub** (ej. `v0.0.1`), nunca `main` — instalaciones reproducibles
179
+ - Las URLs de descarga usan **tags de GitHub** (ej. `v0.0.3`), nunca `main` — instalaciones reproducibles
180
180
  - Cada path de archivo descargado es validado para prevenir **path traversal**
181
181
  - Los archivos incluyen **checksum SHA-256** opcional; si el manifest lo define, el contenido se verifica antes de escribir
182
182
  - El cache local (`~/.opencode/cache/`) también valida integridad al servir archivos cacheados
183
183
 
184
+ #### Restricciones de acceso a credenciales
185
+
186
+ - La configuración local de OpenCode (`opencode.jsonc`, por ahora no versionado) bloquea lectura y escritura de `*.env` y `.secret/**` con `deny`.
187
+ - El plugin versionado en `.opencode/plugins/deny-credentials.ts` registra el intento y deja una advertencia con la ruta exacta.
188
+ - Cuando se bloquea un acceso, el mensaje puede empezar así:
189
+
190
+ ```text
191
+ >>>> Control: No se puede leer o modificar las credenciales: "/ruta/al/proyecto/.env"
192
+ ```
193
+
194
+ - La sesión sigue ejecutándose después del bloqueo porque `experimental.continue_loop_on_deny` está activado.
195
+
184
196
  ## Cache
185
197
 
186
198
  Los archivos descargados se guardan en: