ostacky 0.0.4 → 0.0.5
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 +15 -20
- package/assets/agents/ostacky.md +17 -3
- package/dist/cli.js +17 -17
- package/manifest.json +15 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -134,20 +134,20 @@ Tras instalar, el proyecto queda así:
|
|
|
134
134
|
|
|
135
135
|
```json
|
|
136
136
|
{
|
|
137
|
-
"version": "0.0.
|
|
137
|
+
"version": "0.0.5",
|
|
138
138
|
"lockedAt": "2025-01-01T00:00:00.000Z",
|
|
139
139
|
"repo": "JaimeHoracio/Ostacky",
|
|
140
|
-
"tag": "v0.0.
|
|
140
|
+
"tag": "v0.0.5",
|
|
141
141
|
"agents": {
|
|
142
142
|
"ostacky": {
|
|
143
|
-
"version": "0.0.
|
|
143
|
+
"version": "0.0.5",
|
|
144
144
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
145
145
|
"sha256": "abc123..."
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
"commands": {
|
|
149
149
|
"install-stack": {
|
|
150
|
-
"version": "0.0.
|
|
150
|
+
"version": "0.0.5",
|
|
151
151
|
"installedAt": "2025-01-01T00:00:00.000Z",
|
|
152
152
|
"sha256": "def456..."
|
|
153
153
|
}
|
|
@@ -159,24 +159,26 @@ Se recomienda agregar `ostacky-lock.json` al control de versiones para que el eq
|
|
|
159
159
|
|
|
160
160
|
## Después de la instalación
|
|
161
161
|
|
|
162
|
-
Al terminar la instalación, el
|
|
162
|
+
Al terminar la instalación, el flujo normal es:
|
|
163
163
|
|
|
164
164
|
1. **Recargar OpenCode** para que detecte los nuevos archivos en `.opencode/`.
|
|
165
|
-
2.
|
|
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
|
-
3. **Recargar OpenCode nuevamente** después de que `/install-stack` haya corrido.
|
|
171
|
-
4. Ya puedes usar el agente:
|
|
165
|
+
2. Ya puedes usar el agente:
|
|
172
166
|
```
|
|
173
167
|
@Ostacky
|
|
174
168
|
```
|
|
175
169
|
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
170
|
|
|
171
|
+
Si por alguna razon querés ejecutar el bootstrap manualmente o regenerar el stack local, también está disponible el command:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
/install-stack
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Ese paso es opcional. Si no aparece en la terminal, recargá OpenCode y volvé a tipearlo.
|
|
178
|
+
|
|
177
179
|
## Seguridad
|
|
178
180
|
|
|
179
|
-
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.0.
|
|
181
|
+
- Las URLs de descarga usan **tags de GitHub** (ej. `v0.0.5`), nunca `main` — instalaciones reproducibles
|
|
180
182
|
- Cada path de archivo descargado es validado para prevenir **path traversal**
|
|
181
183
|
- Los archivos incluyen **checksum SHA-256** opcional; si el manifest lo define, el contenido se verifica antes de escribir
|
|
182
184
|
- El cache local (`~/.opencode/cache/`) también valida integridad al servir archivos cacheados
|
|
@@ -184,13 +186,6 @@ Al terminar la instalación, el CLI imprime en la terminal un panel con los pró
|
|
|
184
186
|
#### Restricciones de acceso a credenciales
|
|
185
187
|
|
|
186
188
|
- 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
189
|
- La sesión sigue ejecutándose después del bloqueo porque `experimental.continue_loop_on_deny` está activado.
|
|
195
190
|
|
|
196
191
|
## Cache
|
package/assets/agents/ostacky.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Agente que orquesta OpenSpec + Superpowers + CodeGraph
|
|
2
|
+
description: Agente unico que orquesta OpenSpec + Superpowers + CodeGraph con ruteo por nivel de impacto y sin recursion de delegacion.
|
|
3
3
|
mode: primary
|
|
4
4
|
tools:
|
|
5
5
|
write: false
|
|
@@ -14,6 +14,14 @@ tools:
|
|
|
14
14
|
|
|
15
15
|
Eres **Ostacky**, el orquestador de desarrollo del proyecto.
|
|
16
16
|
|
|
17
|
+
## Division de responsabilidades
|
|
18
|
+
|
|
19
|
+
- **Interfaz publica:** un solo agente, `@Ostacky`.
|
|
20
|
+
- **Ruteo interno:** decide si el cambio es Nivel 0, Nivel 0+1 o Nivel 1+.
|
|
21
|
+
- **OpenSpec:** define requisitos y contratos cuando el cambio lo requiere.
|
|
22
|
+
- **Superpowers:** ejecuta, prueba, revisa y delega.
|
|
23
|
+
- **Subagentes:** workers de ejecucion para trabajo pesado; no son una interfaz publica separada.
|
|
24
|
+
|
|
17
25
|
## Principios
|
|
18
26
|
|
|
19
27
|
- **OpenSpec** define **WHAT** y **WHY**.
|
|
@@ -44,6 +52,12 @@ Eres **Ostacky**, el orquestador de desarrollo del proyecto.
|
|
|
44
52
|
5. Si el usuario elige `directo`, saltar Specification y Planning, y ejecutar inline con Superpowers usando solo los archivos que CodeGraph justifico.
|
|
45
53
|
6. Si el usuario no responde, detenerse y esperar. No asumir un camino.
|
|
46
54
|
|
|
55
|
+
### 1.6. Nivel 1+
|
|
56
|
+
|
|
57
|
+
1. Un cambio es **Nivel 1+** cuando no entra en la definicion de Nivel 0+1.
|
|
58
|
+
2. Nivel 1+ requiere OpenSpec antes de ejecutar.
|
|
59
|
+
3. Si el cambio toca APIs publicas, agrega archivos nuevos, nuevas dependencias o refactors amplios, tratarlo como Nivel 1+ sin discusion.
|
|
60
|
+
|
|
47
61
|
### 2. Specification
|
|
48
62
|
|
|
49
63
|
1. Si el usuario eligio `spec` y faltan artefactos OpenSpec, generarlos con `/opsx:propose <idea>`.
|
|
@@ -60,8 +74,8 @@ Eres **Ostacky**, el orquestador de desarrollo del proyecto.
|
|
|
60
74
|
### 4. Execution
|
|
61
75
|
|
|
62
76
|
1. Elegir el modo antes de ejecutar:
|
|
63
|
-
- **Inline** para
|
|
64
|
-
- **Subagent-driven** solo si
|
|
77
|
+
- **Inline** para Nivel 0, la ruta `directo` de Nivel 0+1 y cambios contenidos de Nivel 1+.
|
|
78
|
+
- **Subagent-driven** solo si el Nivel 1+ supera 2 modulos, 10 archivos, o backend + frontend + tests con logica independiente.
|
|
65
79
|
2. **Superpowers** es el unico orquestador de ejecucion, TDD, review y delegacion.
|
|
66
80
|
3. Los subagentes son **execution-only**.
|
|
67
81
|
4. Los subagentes no crean proposals, no planifican, no inician nueva delegacion y no repiten retrieval ya resuelto por el coordinador.
|
package/dist/cli.js
CHANGED
|
@@ -161,7 +161,7 @@ var require_picocolors = __commonJS((exports, module) => {
|
|
|
161
161
|
// package.json
|
|
162
162
|
var package_default = {
|
|
163
163
|
name: "ostacky",
|
|
164
|
-
version: "0.0.
|
|
164
|
+
version: "0.0.5",
|
|
165
165
|
description: "Instalador interactivo de agentes y comandos para OpenCode",
|
|
166
166
|
type: "module",
|
|
167
167
|
bin: {
|
|
@@ -877,15 +877,15 @@ var L2 = () => {
|
|
|
877
877
|
import { join as join5 } from "path";
|
|
878
878
|
// manifest.json
|
|
879
879
|
var manifest_default = {
|
|
880
|
-
version: "0.0.
|
|
880
|
+
version: "0.0.5",
|
|
881
881
|
repo: "JaimeHoracio/Ostacky",
|
|
882
|
-
tag: "v0.0.
|
|
882
|
+
tag: "v0.0.5",
|
|
883
883
|
agents: [
|
|
884
884
|
{
|
|
885
885
|
name: "ostacky",
|
|
886
886
|
file: "assets/agents/ostacky.md",
|
|
887
887
|
description: "Agente principal de desarrollo con OpenCode",
|
|
888
|
-
version: "0.0.
|
|
888
|
+
version: "0.0.5",
|
|
889
889
|
sha256: null
|
|
890
890
|
}
|
|
891
891
|
],
|
|
@@ -894,14 +894,14 @@ var manifest_default = {
|
|
|
894
894
|
name: "install-stack",
|
|
895
895
|
file: "assets/commands/install-stack.md",
|
|
896
896
|
description: "Instala el stack tecnológico del proyecto",
|
|
897
|
-
version: "0.0.
|
|
897
|
+
version: "0.0.5",
|
|
898
898
|
sha256: null
|
|
899
899
|
},
|
|
900
900
|
{
|
|
901
901
|
name: "opsx-sync",
|
|
902
902
|
file: "assets/commands/opsx-sync.md",
|
|
903
903
|
description: "Sincroniza delta specs del change activo (wrapper de openspec update)",
|
|
904
|
-
version: "0.0.
|
|
904
|
+
version: "0.0.5",
|
|
905
905
|
sha256: null
|
|
906
906
|
}
|
|
907
907
|
],
|
|
@@ -910,70 +910,70 @@ var manifest_default = {
|
|
|
910
910
|
name: "brainstorming",
|
|
911
911
|
file: "assets/skills/brainstorming/SKILL.md",
|
|
912
912
|
description: "Skill de descubrimiento y exploración (Superpowers)",
|
|
913
|
-
version: "0.0.
|
|
913
|
+
version: "0.0.5",
|
|
914
914
|
sha256: "22be76380b086c4ac6d38b8b124f6f7df47c32a67237a6ceaf8c7fd19aa524b0"
|
|
915
915
|
},
|
|
916
916
|
{
|
|
917
917
|
name: "writing-plans",
|
|
918
918
|
file: "assets/skills/writing-plans/SKILL.md",
|
|
919
919
|
description: "Skill de planificación de implementación (Superpowers)",
|
|
920
|
-
version: "0.0.
|
|
920
|
+
version: "0.0.5",
|
|
921
921
|
sha256: "4d56ce833af79c628e72cd95b06d13597131a09f9d98aae0a42c6a98a8ee1b95"
|
|
922
922
|
},
|
|
923
923
|
{
|
|
924
924
|
name: "tdd",
|
|
925
925
|
file: "assets/skills/tdd/SKILL.md",
|
|
926
926
|
description: "Skill de test-driven development (Superpowers)",
|
|
927
|
-
version: "0.0.
|
|
927
|
+
version: "0.0.5",
|
|
928
928
|
sha256: "b5cd98b3c122162b5a5eac3c78858a64ba165bf4e8c251d8a804a593c0c72312"
|
|
929
929
|
},
|
|
930
930
|
{
|
|
931
931
|
name: "subagent-driven-development",
|
|
932
932
|
file: "assets/skills/subagent-driven-development/SKILL.md",
|
|
933
933
|
description: "Skill de ejecución con subagentes (Superpowers)",
|
|
934
|
-
version: "0.0.
|
|
934
|
+
version: "0.0.5",
|
|
935
935
|
sha256: "7534b60788e05644831347194b1f99bcb41e2eda130994cfddafee3146ba63bd"
|
|
936
936
|
},
|
|
937
937
|
{
|
|
938
938
|
name: "dispatching-parallel-agents",
|
|
939
939
|
file: "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
940
940
|
description: "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
941
|
-
version: "0.0.
|
|
941
|
+
version: "0.0.5",
|
|
942
942
|
sha256: "b7e99d62c5d2ade21a3b6cdc94a7f90772e23fe3294ca600386f192f6181f6b2"
|
|
943
943
|
},
|
|
944
944
|
{
|
|
945
945
|
name: "review",
|
|
946
946
|
file: "assets/skills/review/SKILL.md",
|
|
947
947
|
description: "Skill de revisión de código (Superpowers)",
|
|
948
|
-
version: "0.0.
|
|
948
|
+
version: "0.0.5",
|
|
949
949
|
sha256: "af8fd392835967111e865f170d90d3dd9b8266b517ffb7d551dffda704500a90"
|
|
950
950
|
},
|
|
951
951
|
{
|
|
952
952
|
name: "openspec-explore",
|
|
953
953
|
file: "assets/skills/openspec-explore/SKILL.md",
|
|
954
954
|
description: "Skill de exploración pre-spec (OpenSpec)",
|
|
955
|
-
version: "0.0.
|
|
955
|
+
version: "0.0.5",
|
|
956
956
|
sha256: "c3eaff7d64b7e5e757b120dd231d2e6b56e9f440055dc9ab5431b466d6244bd7"
|
|
957
957
|
},
|
|
958
958
|
{
|
|
959
959
|
name: "openspec-propose",
|
|
960
960
|
file: "assets/skills/openspec-propose/SKILL.md",
|
|
961
961
|
description: "Skill de generación de proposal (OpenSpec)",
|
|
962
|
-
version: "0.0.
|
|
962
|
+
version: "0.0.5",
|
|
963
963
|
sha256: "28c59bdce6e9af0ab07102b2e6d0b47a0f0dc2f1bfb8321576d47f6c240e778b"
|
|
964
964
|
},
|
|
965
965
|
{
|
|
966
966
|
name: "openspec-apply-change",
|
|
967
967
|
file: "assets/skills/openspec-apply-change/SKILL.md",
|
|
968
968
|
description: "Skill de aplicación de change (OpenSpec)",
|
|
969
|
-
version: "0.0.
|
|
969
|
+
version: "0.0.5",
|
|
970
970
|
sha256: "8fa8182e40fd92cefbbcc1e303d9aa9c02e2b7f3f2c0625cb61fb916e4fc5760"
|
|
971
971
|
},
|
|
972
972
|
{
|
|
973
973
|
name: "openspec-archive-change",
|
|
974
974
|
file: "assets/skills/openspec-archive-change/SKILL.md",
|
|
975
975
|
description: "Skill de archivo de change (OpenSpec)",
|
|
976
|
-
version: "0.0.
|
|
976
|
+
version: "0.0.5",
|
|
977
977
|
sha256: "564b8dca28084c75ca192137113e9186c4fb31d2de0e26c081fd67c37f7d4a56"
|
|
978
978
|
}
|
|
979
979
|
]
|
|
@@ -1159,7 +1159,7 @@ function clearLockfile(opencodeRoot) {
|
|
|
1159
1159
|
const lockfile = readLockfile(opencodeRoot);
|
|
1160
1160
|
if (!lockfile) {
|
|
1161
1161
|
writeLockfile(opencodeRoot, {
|
|
1162
|
-
version: "0.0.
|
|
1162
|
+
version: "0.0.5",
|
|
1163
1163
|
lockedAt: new Date().toISOString(),
|
|
1164
1164
|
repo: "",
|
|
1165
1165
|
tag: "",
|
package/manifest.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.5",
|
|
3
3
|
"repo": "JaimeHoracio/Ostacky",
|
|
4
|
-
"tag": "v0.0.
|
|
4
|
+
"tag": "v0.0.5",
|
|
5
5
|
"agents": [
|
|
6
6
|
{
|
|
7
7
|
"name": "ostacky",
|
|
8
8
|
"file": "assets/agents/ostacky.md",
|
|
9
9
|
"description": "Agente principal de desarrollo con OpenCode",
|
|
10
|
-
"version": "0.0.
|
|
10
|
+
"version": "0.0.5",
|
|
11
11
|
"sha256": null
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"name": "install-stack",
|
|
17
17
|
"file": "assets/commands/install-stack.md",
|
|
18
18
|
"description": "Instala el stack tecnológico del proyecto",
|
|
19
|
-
"version": "0.0.
|
|
19
|
+
"version": "0.0.5",
|
|
20
20
|
"sha256": null
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "opsx-sync",
|
|
24
24
|
"file": "assets/commands/opsx-sync.md",
|
|
25
25
|
"description": "Sincroniza delta specs del change activo (wrapper de openspec update)",
|
|
26
|
-
"version": "0.0.
|
|
26
|
+
"version": "0.0.5",
|
|
27
27
|
"sha256": null
|
|
28
28
|
}
|
|
29
29
|
],
|
|
@@ -32,70 +32,70 @@
|
|
|
32
32
|
"name": "brainstorming",
|
|
33
33
|
"file": "assets/skills/brainstorming/SKILL.md",
|
|
34
34
|
"description": "Skill de descubrimiento y exploración (Superpowers)",
|
|
35
|
-
"version": "0.0.
|
|
35
|
+
"version": "0.0.5",
|
|
36
36
|
"sha256": "22be76380b086c4ac6d38b8b124f6f7df47c32a67237a6ceaf8c7fd19aa524b0"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "writing-plans",
|
|
40
40
|
"file": "assets/skills/writing-plans/SKILL.md",
|
|
41
41
|
"description": "Skill de planificación de implementación (Superpowers)",
|
|
42
|
-
"version": "0.0.
|
|
42
|
+
"version": "0.0.5",
|
|
43
43
|
"sha256": "4d56ce833af79c628e72cd95b06d13597131a09f9d98aae0a42c6a98a8ee1b95"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"name": "tdd",
|
|
47
47
|
"file": "assets/skills/tdd/SKILL.md",
|
|
48
48
|
"description": "Skill de test-driven development (Superpowers)",
|
|
49
|
-
"version": "0.0.
|
|
49
|
+
"version": "0.0.5",
|
|
50
50
|
"sha256": "b5cd98b3c122162b5a5eac3c78858a64ba165bf4e8c251d8a804a593c0c72312"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"name": "subagent-driven-development",
|
|
54
54
|
"file": "assets/skills/subagent-driven-development/SKILL.md",
|
|
55
55
|
"description": "Skill de ejecución con subagentes (Superpowers)",
|
|
56
|
-
"version": "0.0.
|
|
56
|
+
"version": "0.0.5",
|
|
57
57
|
"sha256": "7534b60788e05644831347194b1f99bcb41e2eda130994cfddafee3146ba63bd"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"name": "dispatching-parallel-agents",
|
|
61
61
|
"file": "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
62
62
|
"description": "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
63
|
-
"version": "0.0.
|
|
63
|
+
"version": "0.0.5",
|
|
64
64
|
"sha256": "b7e99d62c5d2ade21a3b6cdc94a7f90772e23fe3294ca600386f192f6181f6b2"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"name": "review",
|
|
68
68
|
"file": "assets/skills/review/SKILL.md",
|
|
69
69
|
"description": "Skill de revisión de código (Superpowers)",
|
|
70
|
-
"version": "0.0.
|
|
70
|
+
"version": "0.0.5",
|
|
71
71
|
"sha256": "af8fd392835967111e865f170d90d3dd9b8266b517ffb7d551dffda704500a90"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"name": "openspec-explore",
|
|
75
75
|
"file": "assets/skills/openspec-explore/SKILL.md",
|
|
76
76
|
"description": "Skill de exploración pre-spec (OpenSpec)",
|
|
77
|
-
"version": "0.0.
|
|
77
|
+
"version": "0.0.5",
|
|
78
78
|
"sha256": "c3eaff7d64b7e5e757b120dd231d2e6b56e9f440055dc9ab5431b466d6244bd7"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
"name": "openspec-propose",
|
|
82
82
|
"file": "assets/skills/openspec-propose/SKILL.md",
|
|
83
83
|
"description": "Skill de generación de proposal (OpenSpec)",
|
|
84
|
-
"version": "0.0.
|
|
84
|
+
"version": "0.0.5",
|
|
85
85
|
"sha256": "28c59bdce6e9af0ab07102b2e6d0b47a0f0dc2f1bfb8321576d47f6c240e778b"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"name": "openspec-apply-change",
|
|
89
89
|
"file": "assets/skills/openspec-apply-change/SKILL.md",
|
|
90
90
|
"description": "Skill de aplicación de change (OpenSpec)",
|
|
91
|
-
"version": "0.0.
|
|
91
|
+
"version": "0.0.5",
|
|
92
92
|
"sha256": "8fa8182e40fd92cefbbcc1e303d9aa9c02e2b7f3f2c0625cb61fb916e4fc5760"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "openspec-archive-change",
|
|
96
96
|
"file": "assets/skills/openspec-archive-change/SKILL.md",
|
|
97
97
|
"description": "Skill de archivo de change (OpenSpec)",
|
|
98
|
-
"version": "0.0.
|
|
98
|
+
"version": "0.0.5",
|
|
99
99
|
"sha256": "564b8dca28084c75ca192137113e9186c4fb31d2de0e26c081fd67c37f7d4a56"
|
|
100
100
|
}
|
|
101
101
|
]
|