ostacky 0.9.3 → 0.9.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 +27 -25
- package/assets/agents/ostacky.md +5 -4
- package/assets/commands/install-stack.md +2 -2
- package/assets/mcp/ostacky-controller/bun.lock +20 -0
- package/assets/mcp/ostacky-controller/index.js +185 -29
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-B2Q9_Vxp.d.cts → auth--n_Yzytt.d.cts} +14 -9
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-CVhIKulL.d.mts.map → auth--n_Yzytt.d.cts.map} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-CfDMXiII.cjs → auth-4-zilcqg.cjs} +3 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-4-zilcqg.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-CUe6YdwF.mjs → auth-CGP0BDVq.mjs} +3 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CGP0BDVq.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-CVhIKulL.d.mts → auth-YUQV3RRv.d.mts} +14 -9
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/{auth-B2Q9_Vxp.d.cts.map → auth-YUQV3RRv.d.mts.map} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/package.json +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/README.md +3 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-CplOkyLC.mjs → ajvProvider-CEoC__sr.mjs} +483 -38
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CEoC__sr.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-BdSo9BII.d.mts → ajvProvider-CgI-5L6O.d.mts} +25 -8
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-BdSo9BII.d.mts.map → ajvProvider-CgI-5L6O.d.mts.map} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-B_4czhCS.d.cts → ajvProvider-FOQRM7up.d.cts} +24 -7
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-B_4czhCS.d.cts.map → ajvProvider-FOQRM7up.d.cts.map} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{ajvProvider-Brn-Q2J_.cjs → ajvProvider-ZaoO9afR.cjs} +483 -38
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/ajvProvider-ZaoO9afR.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{cfWorkerProvider-ojcZaap3.cjs → cfWorkerProvider-BwbPzsdI.cjs} +25 -15
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BwbPzsdI.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{cfWorkerProvider-BYRW5af5.d.mts → cfWorkerProvider-C03CSigr.d.mts} +21 -6
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-C03CSigr.d.mts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{cfWorkerProvider-D9GAttn8.d.cts → cfWorkerProvider-doTkZbTr.d.cts} +20 -5
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-doTkZbTr.d.cts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{cfWorkerProvider-Bd-iTHAF.mjs → cfWorkerProvider-p3WaZPqB.mjs} +26 -15
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-p3WaZPqB.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-DzBzpE4_.d.cts → createMcpHandler-BLVe3qmU.d.cts} +137 -32
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BLVe3qmU.d.cts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-CEckaSEs.d.mts → createMcpHandler-Bt6U_Fqb.d.mts} +138 -33
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs +46 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/dialects-DoSzNhcb.mjs +34 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/dialects-DoSzNhcb.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.cjs +209 -257
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.cts +45 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.mts +46 -4
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.mjs +201 -252
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{mcp-DM1iHYFo.cjs → mcp-DUcCQSTW.cjs} +458 -35
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{mcp-IJurDZVN.mjs → mcp-Dw2OlZ1f.mjs} +389 -32
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsNode.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{src-BX_fm-dB.cjs → src-CgFsfg3E.cjs} +161 -48
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{src-D86MbS1I.mjs → src-D-y6h4N7.mjs} +161 -48
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +30 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.cjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +9 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +9 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +30 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.mjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{types-mS0yxCL0.d.mts → types-DUs7mGBv.d.mts} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/{types-mS0yxCL0.d.mts.map → types-DUs7mGBv.d.mts.map} +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/ajv.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/ajv.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/package.json +4 -4
- package/assets/mcp/ostacky-controller/package.json +1 -1
- package/assets/plugins/ostacky-controller/index.ts +53 -11
- package/dist/cli.js +93 -53
- package/manifest.json +28 -28
- package/package.json +5 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CUe6YdwF.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CfDMXiII.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/ajvProvider-Brn-Q2J_.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CplOkyLC.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BYRW5af5.d.mts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-Bd-iTHAF.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-D9GAttn8.d.cts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-ojcZaap3.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CEckaSEs.d.mts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzBzpE4_.d.cts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-DM1iHYFo.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-IJurDZVN.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-BX_fm-dB.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D86MbS1I.mjs.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -255,6 +255,18 @@ function findProjectRoot(startDir = process.cwd()) {
|
|
|
255
255
|
current = parent;
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
|
+
function isGitRepo(dir = process.cwd()) {
|
|
259
|
+
try {
|
|
260
|
+
const out = execFileSync("git", ["rev-parse", "--is-inside-work-tree"], {
|
|
261
|
+
encoding: "utf-8",
|
|
262
|
+
cwd: dir,
|
|
263
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
264
|
+
}).trim();
|
|
265
|
+
return out === "true";
|
|
266
|
+
} catch {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
258
270
|
function getOpenCodeDirForScope(scope, cwd = process.cwd()) {
|
|
259
271
|
const existing = findOpenCodeDir(cwd);
|
|
260
272
|
if (existing)
|
|
@@ -621,31 +633,31 @@ var init_fs = __esm(() => {
|
|
|
621
633
|
var manifest_default;
|
|
622
634
|
var init_manifest = __esm(() => {
|
|
623
635
|
manifest_default = {
|
|
624
|
-
version: "0.9.
|
|
636
|
+
version: "0.9.5",
|
|
625
637
|
repo: "JaimeHoracio/Ostacky",
|
|
626
|
-
tag: "v0.9.
|
|
638
|
+
tag: "v0.9.5",
|
|
627
639
|
agents: [
|
|
628
640
|
{
|
|
629
641
|
name: "ostacky",
|
|
630
642
|
file: "assets/agents/ostacky.md",
|
|
631
|
-
description: "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.
|
|
632
|
-
version: "0.9.
|
|
633
|
-
sha256: "
|
|
643
|
+
description: "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.5: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
|
|
644
|
+
version: "0.9.5",
|
|
645
|
+
sha256: "986c41356dcdea8d74fea6a17127a45e78e16a5cda43152efb5c7ffd11593b8c"
|
|
634
646
|
}
|
|
635
647
|
],
|
|
636
648
|
commands: [
|
|
637
649
|
{
|
|
638
650
|
name: "install-stack",
|
|
639
651
|
file: "assets/commands/install-stack.md",
|
|
640
|
-
description: "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.
|
|
641
|
-
version: "0.9.
|
|
642
|
-
sha256: "
|
|
652
|
+
description: "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.5: controller plugin como alma hard-gate, Context7 removido del stack.",
|
|
653
|
+
version: "0.9.5",
|
|
654
|
+
sha256: "e218ec7db404fc8bd5fa1d92312eef5ea517bb0940af054f8665048ec2e9da5f"
|
|
643
655
|
},
|
|
644
656
|
{
|
|
645
657
|
name: "opsx-sync",
|
|
646
658
|
file: "assets/commands/opsx-sync.md",
|
|
647
659
|
description: "Sincroniza delta specs del change activo sin inicializar CodeGraph si ya existe índice",
|
|
648
|
-
version: "0.9.
|
|
660
|
+
version: "0.9.5",
|
|
649
661
|
sha256: "fe0158478f2ca63b315037a85fc1632b77868532e319af6c7384285441767d64"
|
|
650
662
|
}
|
|
651
663
|
],
|
|
@@ -653,15 +665,15 @@ var init_manifest = __esm(() => {
|
|
|
653
665
|
{
|
|
654
666
|
name: "ostacky-controller",
|
|
655
667
|
file: "assets/mcp/ostacky-controller/",
|
|
656
|
-
description: "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.
|
|
657
|
-
version: "0.9.
|
|
658
|
-
sha256: "
|
|
668
|
+
description: "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.5: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
|
|
669
|
+
version: "0.9.5",
|
|
670
|
+
sha256: "775f4b8b28a315e97f9192d71a9433fa28235fe84c29401451ace628829c7076"
|
|
659
671
|
},
|
|
660
672
|
{
|
|
661
673
|
name: "openspec",
|
|
662
674
|
file: "assets/mcp/openspec/",
|
|
663
675
|
description: "MCP server local para OpenSpec - proposal, apply, archive, sync de cambios",
|
|
664
|
-
version: "0.9.
|
|
676
|
+
version: "0.9.5",
|
|
665
677
|
sha256: "fa4be28bfc1e75db8f1a037e2580f04a60066c80e8e5934e90e1041020d04609"
|
|
666
678
|
}
|
|
667
679
|
],
|
|
@@ -670,105 +682,105 @@ var init_manifest = __esm(() => {
|
|
|
670
682
|
name: "brainstorming",
|
|
671
683
|
file: "assets/skills/brainstorming/SKILL.md",
|
|
672
684
|
description: "Skill unificado de pensamiento con dos modos: creative-design (producción de diseño → transición a implementación directa o openspec-propose) y open-exploration (exploración libre)",
|
|
673
|
-
version: "0.9.
|
|
685
|
+
version: "0.9.5",
|
|
674
686
|
sha256: "f1013a86a8f27914d85a716e23c7fd32db1786d93615e8b0834b13d184308549"
|
|
675
687
|
},
|
|
676
688
|
{
|
|
677
689
|
name: "execution-mode-evaluation",
|
|
678
690
|
file: "assets/skills/execution-mode-evaluation/SKILL.md",
|
|
679
691
|
description: "Skill de análisis de modo de ejecución — output reconciliado con controller snapshot contract (recommendation field)",
|
|
680
|
-
version: "0.9.
|
|
692
|
+
version: "0.9.5",
|
|
681
693
|
sha256: "2158a6864c0912e868a9d720db7fd79441e6cc298e3320833d2527c9727c852e"
|
|
682
694
|
},
|
|
683
695
|
{
|
|
684
696
|
name: "tdd",
|
|
685
697
|
file: "assets/skills/tdd/SKILL.md",
|
|
686
698
|
description: "Skill de test-driven development (Superpowers)",
|
|
687
|
-
version: "0.9.
|
|
699
|
+
version: "0.9.5",
|
|
688
700
|
sha256: "f0ebfbbc43a8868d31a3fd2df37ae7f60fe8add09c6475862395a68269e5ff7f"
|
|
689
701
|
},
|
|
690
702
|
{
|
|
691
703
|
name: "subagent-driven-development",
|
|
692
704
|
file: "assets/skills/subagent-driven-development/SKILL.md",
|
|
693
705
|
description: "Skill de ejecución con subagentes (Superpowers) — ejecuta solo después de confirmación del coordinador Ostacky",
|
|
694
|
-
version: "0.9.
|
|
706
|
+
version: "0.9.5",
|
|
695
707
|
sha256: "1a42d714a9a13faf05f0bf7b580e8d837c2e77a5633839542ccce603023419e8"
|
|
696
708
|
},
|
|
697
709
|
{
|
|
698
710
|
name: "dispatching-parallel-agents",
|
|
699
711
|
file: "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
700
712
|
description: "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
701
|
-
version: "0.9.
|
|
713
|
+
version: "0.9.5",
|
|
702
714
|
sha256: "7e7b712ef742d5631e302e6a71583e2bbbd33094da9281abfb84b43505fc3ef1"
|
|
703
715
|
},
|
|
704
716
|
{
|
|
705
717
|
name: "review",
|
|
706
718
|
file: "assets/skills/review/SKILL.md",
|
|
707
719
|
description: "Skill de revisión de código (Superpowers)",
|
|
708
|
-
version: "0.9.
|
|
720
|
+
version: "0.9.5",
|
|
709
721
|
sha256: "b19650ed4d1d4d9857a4dd5b7e08e91328a1a1fc9c45bcc2fb600fa9d0213279"
|
|
710
722
|
},
|
|
711
723
|
{
|
|
712
724
|
name: "receiving-code-review",
|
|
713
725
|
file: "assets/skills/receiving-code-review/SKILL.md",
|
|
714
726
|
description: "Skill de recibir y procesar feedback de code review",
|
|
715
|
-
version: "0.9.
|
|
727
|
+
version: "0.9.5",
|
|
716
728
|
sha256: "d761e884e71d8d3476ac734d287cae403a4024506a7d12e7361a448217c0a831"
|
|
717
729
|
},
|
|
718
730
|
{
|
|
719
731
|
name: "openspec-propose",
|
|
720
732
|
file: "assets/skills/openspec-propose/SKILL.md",
|
|
721
733
|
description: "Skill de generación de proposal (OpenSpec)",
|
|
722
|
-
version: "0.9.
|
|
734
|
+
version: "0.9.5",
|
|
723
735
|
sha256: "6a517f750f24c008208156a2d653e97ed30b1e53878aeac5ce394e573db0678f"
|
|
724
736
|
},
|
|
725
737
|
{
|
|
726
738
|
name: "openspec-apply-change",
|
|
727
739
|
file: "assets/skills/openspec-apply-change/SKILL.md",
|
|
728
740
|
description: "Skill de aplicación de change (OpenSpec)",
|
|
729
|
-
version: "0.9.
|
|
741
|
+
version: "0.9.5",
|
|
730
742
|
sha256: "dfc823bf89fc7505e91ab6dee9c1f004be38a410bd3d88fb67b211b1b6cbb1d0"
|
|
731
743
|
},
|
|
732
744
|
{
|
|
733
745
|
name: "openspec-archive-change",
|
|
734
746
|
file: "assets/skills/openspec-archive-change/SKILL.md",
|
|
735
747
|
description: "Skill de archivo de change (OpenSpec)",
|
|
736
|
-
version: "0.9.
|
|
748
|
+
version: "0.9.5",
|
|
737
749
|
sha256: "16e4b561de7747283663fed602e506abf502452c49a8d4b86d7a5539c40f0195"
|
|
738
750
|
},
|
|
739
751
|
{
|
|
740
752
|
name: "openspec-explore",
|
|
741
753
|
file: "assets/skills/openspec-explore/SKILL.md",
|
|
742
754
|
description: "Modo explore para OpenSpec — thinking partner para explorar ideas, investigar problemas y clarificar requisitos antes/durante un cambio",
|
|
743
|
-
version: "0.9.
|
|
755
|
+
version: "0.9.5",
|
|
744
756
|
sha256: "9eafc3a8c693b8d9916867ef764d49e5222da717fde501c957bb3f6c312d2415"
|
|
745
757
|
},
|
|
746
758
|
{
|
|
747
759
|
name: "using-git-worktrees",
|
|
748
760
|
file: "assets/skills/using-git-worktrees/SKILL.md",
|
|
749
761
|
description: "Skill de uso de git worktrees para aislamiento de trabajo",
|
|
750
|
-
version: "0.9.
|
|
762
|
+
version: "0.9.5",
|
|
751
763
|
sha256: "93341bc1b7c053618a8b6dc07e3615b77990d7b549a0201f5835d95fef67ce13"
|
|
752
764
|
},
|
|
753
765
|
{
|
|
754
766
|
name: "using-superpowers",
|
|
755
767
|
file: "assets/skills/using-superpowers/SKILL.md",
|
|
756
768
|
description: "Skill de orquestación de Superpowers skills",
|
|
757
|
-
version: "0.9.
|
|
769
|
+
version: "0.9.5",
|
|
758
770
|
sha256: "7e54536f96d2a379185a10bfc1e970850caa2561b6d8aca7080f0defea0381a4"
|
|
759
771
|
},
|
|
760
772
|
{
|
|
761
773
|
name: "writing-skills",
|
|
762
774
|
file: "assets/skills/writing-skills/SKILL.md",
|
|
763
775
|
description: "Skill de creación y edición de skills",
|
|
764
|
-
version: "0.9.
|
|
776
|
+
version: "0.9.5",
|
|
765
777
|
sha256: "3d76b906cee518a2b809febb70db95697a35b9f368986bb504b4120c3bfb437a"
|
|
766
778
|
},
|
|
767
779
|
{
|
|
768
780
|
name: "graceful-degradation",
|
|
769
781
|
file: "assets/skills/graceful-degradation/SKILL.md",
|
|
770
782
|
description: "Skill de degradación graceful cuando múltiples tools están indisponibles",
|
|
771
|
-
version: "0.9.
|
|
783
|
+
version: "0.9.5",
|
|
772
784
|
sha256: "363449bd9e6f800a0a3168667cf78f767fb105d86e4a4adadcc649d418139303"
|
|
773
785
|
}
|
|
774
786
|
]
|
|
@@ -1288,11 +1300,15 @@ async function installCodeGraph(toolsDir) {
|
|
|
1288
1300
|
return failAfterExtraction(`CodeGraph fue extraído pero no se puede ejecutar: ${error.message}`);
|
|
1289
1301
|
}
|
|
1290
1302
|
let indexWarning = null;
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
}
|
|
1294
|
-
|
|
1295
|
-
|
|
1303
|
+
if (!isGitRepo(projectRoot)) {
|
|
1304
|
+
indexWarning = `Sin repo git en ${projectRoot}: índice pendiente. ` + `Ejecutá \`git init\` y reintentá con \`npx ostacky install-stack --scope local\`. ` + `El binario y el MCP quedaron configurados.`;
|
|
1305
|
+
} else {
|
|
1306
|
+
try {
|
|
1307
|
+
runTool(localBin, ["init", "-i"], projectRoot, 120000);
|
|
1308
|
+
} catch (error) {
|
|
1309
|
+
const msg = error.message;
|
|
1310
|
+
indexWarning = `El índice no se pudo inicializar todavía: ${msg}. Sugerencia: ejecutá manualmente \`${localBin} init -i\` en ${projectRoot} o \`npx ostacky install-stack --scope local\` para reintentar. Si el path del binario (${localBin}) apunta a ${cgToolDir} y esperabas otro proyecto, verificá que corriste el comando dentro del proyecto correcto (con .git) y con --scope local.`;
|
|
1311
|
+
}
|
|
1296
1312
|
}
|
|
1297
1313
|
try {
|
|
1298
1314
|
configureLocalTool(projectRoot, "codegraph", buildLocalMcpCommand(localBin, ["serve", "--mcp"]));
|
|
@@ -1674,7 +1690,7 @@ var init_doctor_v2 = __esm(() => {
|
|
|
1674
1690
|
// package.json
|
|
1675
1691
|
var package_default = {
|
|
1676
1692
|
name: "ostacky",
|
|
1677
|
-
version: "0.9.
|
|
1693
|
+
version: "0.9.5",
|
|
1678
1694
|
description: "Instalador interactivo de agentes y comandos para OpenCode",
|
|
1679
1695
|
type: "module",
|
|
1680
1696
|
bin: {
|
|
@@ -1686,6 +1702,10 @@ var package_default = {
|
|
|
1686
1702
|
build: "bun build src/cli.ts --target=node --format=esm --outfile dist/cli.js && bun scripts/add-shebang.ts",
|
|
1687
1703
|
start: "node dist/cli.js",
|
|
1688
1704
|
test: "bun test",
|
|
1705
|
+
"check:skills": "bun run scripts/check-skill-sync.ts",
|
|
1706
|
+
"hash:check": "bun run scripts/update-manifest-hashes.ts --check",
|
|
1707
|
+
"hash:update": "bun run scripts/update-manifest-hashes.ts",
|
|
1708
|
+
prepublishOnly: "bun run build",
|
|
1689
1709
|
update: "bun run scripts/check-skill-sync.ts && bun run scripts/sync-controller-core.ts && bun run scripts/update-manifest-hashes.ts"
|
|
1690
1710
|
},
|
|
1691
1711
|
files: [
|
|
@@ -2847,7 +2867,7 @@ async function probeMcpServer(nodeExecutable, serverPath, cwd, statePath, option
|
|
|
2847
2867
|
params: {
|
|
2848
2868
|
protocolVersion: "2025-03-26",
|
|
2849
2869
|
capabilities: {},
|
|
2850
|
-
clientInfo: { name: "ostacky-installer", version: "0.9.
|
|
2870
|
+
clientInfo: { name: "ostacky-installer", version: "0.9.5" }
|
|
2851
2871
|
}
|
|
2852
2872
|
});
|
|
2853
2873
|
});
|
|
@@ -3226,7 +3246,7 @@ function printPostInstallSteps() {
|
|
|
3226
3246
|
ye([
|
|
3227
3247
|
"Cerrá y reiniciá OpenCode si ya estaba corriendo (los MCP no recargan su config en caliente):",
|
|
3228
3248
|
" TUI → opencode",
|
|
3229
|
-
" Web → opencode
|
|
3249
|
+
" Web → opencode pair (abrí el link/QR en el navegador)",
|
|
3230
3250
|
"Seleccioná el agente: `/agents` → `ostacky` (o Shift+Tab / Ctrl+X A)",
|
|
3231
3251
|
"Skills bundleadas en .opencode/skills/ — revisá cuáles activás",
|
|
3232
3252
|
"¿Errores en el stack? Ejecutá /install-stack desde el chat de OpenCode"
|
|
@@ -3372,11 +3392,13 @@ async function doInstallStack(toolsDir, projectRoot) {
|
|
|
3372
3392
|
} catch {}
|
|
3373
3393
|
return allOk;
|
|
3374
3394
|
}
|
|
3375
|
-
async function doInstallAll(manifest, paths) {
|
|
3395
|
+
async function doInstallAll(manifest, paths, opts) {
|
|
3376
3396
|
const spin = L2();
|
|
3377
3397
|
let errors = 0;
|
|
3378
3398
|
v2.info(`Scope → local | opencodeDir: ${paths.root} | tools: ${paths.tools}`);
|
|
3379
|
-
|
|
3399
|
+
if (!opts?.noStack) {
|
|
3400
|
+
ensureToolDirs(paths.tools, ["codegraph", "engram"]);
|
|
3401
|
+
}
|
|
3380
3402
|
for (const agent of manifest.agents) {
|
|
3381
3403
|
spin.start(`Descargando agente: ${agent.name} (${agent.version})`);
|
|
3382
3404
|
try {
|
|
@@ -3452,24 +3474,37 @@ async function doInstallAll(manifest, paths) {
|
|
|
3452
3474
|
} catch {}
|
|
3453
3475
|
let stackOk = true;
|
|
3454
3476
|
let missingTools = [];
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3477
|
+
if (opts?.noStack) {
|
|
3478
|
+
v2.info("Stack omitido (--no-stack): solo núcleo (agente/commands/skills/MCPs/plugins).");
|
|
3479
|
+
} else {
|
|
3480
|
+
v2.info("Instalando stack de herramientas...");
|
|
3481
|
+
stackOk = await doInstallStack(paths.tools, dirname6(paths.root));
|
|
3482
|
+
if (!stackOk)
|
|
3483
|
+
errors++;
|
|
3484
|
+
}
|
|
3459
3485
|
const codegraphDir = join8(paths.tools, "codegraph");
|
|
3460
3486
|
const engramDir = join8(paths.tools, "engram");
|
|
3461
|
-
if (!
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3487
|
+
if (!opts?.noStack) {
|
|
3488
|
+
if (!existsSync7(codegraphDir) || !findBinaryInDir(codegraphDir, "codegraph"))
|
|
3489
|
+
missingTools.push("CodeGraph");
|
|
3490
|
+
if (!existsSync7(engramDir) || !findBinaryInDir(engramDir, "engram"))
|
|
3491
|
+
missingTools.push("Engram");
|
|
3492
|
+
}
|
|
3465
3493
|
if (missingTools.length > 0) {
|
|
3466
3494
|
v2.warn(`Faltan herramientas del stack: ${missingTools.join(", ")}.
|
|
3467
3495
|
` + "Ejecutá `/install-stack` desde el agente para instalarlas manualmente.");
|
|
3468
3496
|
}
|
|
3469
|
-
|
|
3497
|
+
const coreOk = errors === 0;
|
|
3498
|
+
const stackPartial = !stackOk || missingTools.length > 0;
|
|
3499
|
+
if (coreOk && !stackPartial) {
|
|
3470
3500
|
v2.success("Todo instalado correctamente.");
|
|
3501
|
+
} else if (coreOk) {
|
|
3502
|
+
const missing = missingTools.length > 0 ? ` Faltan: ${missingTools.join(", ")}.` : "";
|
|
3503
|
+
v2.warn(`Núcleo OK (agente/commands/skills/MCPs instalados). Stack parcial.${missing} ` + `Revisá los mensajes de error arriba y reintentá con \`npx ostacky install-stack --scope local\`.`);
|
|
3471
3504
|
} else {
|
|
3472
|
-
v2.warn(`
|
|
3505
|
+
v2.warn(`Núcleo con errores: ${errors} componente(s) requieren atención. Revisá los mensajes de error arriba.`);
|
|
3506
|
+
if (stackPartial)
|
|
3507
|
+
v2.warn("Además el stack quedó parcial: reintentá con `npx ostacky install-stack --scope local`.");
|
|
3473
3508
|
}
|
|
3474
3509
|
try {
|
|
3475
3510
|
const projectRoot = dirname6(paths.root);
|
|
@@ -3479,7 +3514,7 @@ async function doInstallAll(manifest, paths) {
|
|
|
3479
3514
|
else if (gi.updated)
|
|
3480
3515
|
v2.info(`.gitignore actualizado: ${gi.patternsAdded.join(", ")}`);
|
|
3481
3516
|
} catch {}
|
|
3482
|
-
return
|
|
3517
|
+
return coreOk && !stackPartial;
|
|
3483
3518
|
}
|
|
3484
3519
|
|
|
3485
3520
|
// src/prompts/add.ts
|
|
@@ -4196,7 +4231,7 @@ async function runInteractiveMenu(scope) {
|
|
|
4196
4231
|
break;
|
|
4197
4232
|
}
|
|
4198
4233
|
}
|
|
4199
|
-
async function runInstallCommand(scope) {
|
|
4234
|
+
async function runInstallCommand(scope, opts) {
|
|
4200
4235
|
we(" OpenCode Installer ");
|
|
4201
4236
|
await ensureOpencodeInstalled();
|
|
4202
4237
|
const manifest = await loadManifest();
|
|
@@ -4205,7 +4240,7 @@ async function runInstallCommand(scope) {
|
|
|
4205
4240
|
fe("Cancelado.");
|
|
4206
4241
|
return;
|
|
4207
4242
|
}
|
|
4208
|
-
if (!await doInstallAll(manifest, paths))
|
|
4243
|
+
if (!await doInstallAll(manifest, paths, opts))
|
|
4209
4244
|
process.exitCode = 1;
|
|
4210
4245
|
printPostInstallSteps();
|
|
4211
4246
|
fe(process.exitCode ? "Instalación parcial." : "Instalación completada.");
|
|
@@ -4472,7 +4507,7 @@ ostacky — Instalador de agentes, comandos, skills y MCPs para OpenCode
|
|
|
4472
4507
|
|
|
4473
4508
|
Uso:
|
|
4474
4509
|
npx ostacky [--scope local] Menú interactivo (instalación completa, siempre local)
|
|
4475
|
-
npx ostacky install [--scope local]
|
|
4510
|
+
npx ostacky install [--scope local] [--no-stack] Instalar TODO (agente + skills + MCPs + CodeGraph + OpenSpec + Engram; --no-stack omite el stack)
|
|
4476
4511
|
npx ostacky add agent [--scope local] Agregar agente(s)
|
|
4477
4512
|
npx ostacky add command [--scope local] Agregar command(s)
|
|
4478
4513
|
npx ostacky add skill [--scope local] Agregar skill(s)
|
|
@@ -4515,6 +4550,10 @@ function parseScopeArg(argv = process.argv) {
|
|
|
4515
4550
|
process.exit(1);
|
|
4516
4551
|
}
|
|
4517
4552
|
}
|
|
4553
|
+
if (arg === "-g") {
|
|
4554
|
+
console.error(`Error: -g/global removido; Ostacky instala siempre local en <proyecto>/.opencode. Hacé cd al proyecto y re-ejecutá sin -g.`);
|
|
4555
|
+
process.exit(1);
|
|
4556
|
+
}
|
|
4518
4557
|
}
|
|
4519
4558
|
return null;
|
|
4520
4559
|
}
|
|
@@ -4534,6 +4573,7 @@ function withoutScopeArgs(argv) {
|
|
|
4534
4573
|
}
|
|
4535
4574
|
var scope = parseScopeArg();
|
|
4536
4575
|
var argvNoScope = withoutScopeArgs(process.argv);
|
|
4576
|
+
var noStack = process.argv.includes("--no-stack");
|
|
4537
4577
|
var [, , cmd, subcmd] = argvNoScope;
|
|
4538
4578
|
async function runDoctorCommand() {
|
|
4539
4579
|
const cwd = process.cwd();
|
|
@@ -4869,7 +4909,7 @@ async function main() {
|
|
|
4869
4909
|
}
|
|
4870
4910
|
switch (cmd) {
|
|
4871
4911
|
case "install":
|
|
4872
|
-
await runInstallCommand(scope);
|
|
4912
|
+
await runInstallCommand(scope, { noStack });
|
|
4873
4913
|
break;
|
|
4874
4914
|
case "install-stack":
|
|
4875
4915
|
await runInstallStackCommand(scope);
|
package/manifest.json
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.9.
|
|
2
|
+
"version": "0.9.5",
|
|
3
3
|
"repo": "JaimeHoracio/Ostacky",
|
|
4
|
-
"tag": "v0.9.
|
|
4
|
+
"tag": "v0.9.5",
|
|
5
5
|
"agents": [
|
|
6
6
|
{
|
|
7
7
|
"name": "ostacky",
|
|
8
8
|
"file": "assets/agents/ostacky.md",
|
|
9
|
-
"description": "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.
|
|
10
|
-
"version": "0.9.
|
|
11
|
-
"sha256": "
|
|
9
|
+
"description": "Orquestador con recuperación automática (nunca se congela), ruteo por nivel de impacto, controller MCP con SDK oficial, edición segura con fallback inline, y delegación en OpenSpec + Superpowers. v0.9.5: prune de skills obsoletas, lastHandoff, getAvailableTransitions, consecutiveFailures real, mem_session_summary automático al cierre.",
|
|
10
|
+
"version": "0.9.5",
|
|
11
|
+
"sha256": "986c41356dcdea8d74fea6a17127a45e78e16a5cda43152efb5c7ffd11593b8c"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
"commands": [
|
|
15
15
|
{
|
|
16
16
|
"name": "install-stack",
|
|
17
17
|
"file": "assets/commands/install-stack.md",
|
|
18
|
-
"description": "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.
|
|
19
|
-
"version": "0.9.
|
|
20
|
-
"sha256": "
|
|
18
|
+
"description": "Instala el stack tecnológico del proyecto (CodeGraph, skills, OpenSpec, Engram, controller plugin). v0.9.5: controller plugin como alma hard-gate, Context7 removido del stack.",
|
|
19
|
+
"version": "0.9.5",
|
|
20
|
+
"sha256": "e218ec7db404fc8bd5fa1d92312eef5ea517bb0940af054f8665048ec2e9da5f"
|
|
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 sin inicializar CodeGraph si ya existe índice",
|
|
26
|
-
"version": "0.9.
|
|
26
|
+
"version": "0.9.5",
|
|
27
27
|
"sha256": "fe0158478f2ca63b315037a85fc1632b77868532e319af6c7384285441767d64"
|
|
28
28
|
}
|
|
29
29
|
],
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
{
|
|
32
32
|
"name": "ostacky-controller",
|
|
33
33
|
"file": "assets/mcp/ostacky-controller/",
|
|
34
|
-
"description": "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.
|
|
35
|
-
"version": "0.9.
|
|
36
|
-
"sha256": "
|
|
34
|
+
"description": "Máquina de estados persistida con @modelcontextprotocol/server SDK. v0.9.5: 22 tools (incluye set_handoff, get_handoff, clear_handoff, get_available_transitions funcional). Bugfixes: consecutiveFailures real, lastHandoff state, defaultChoice persistido. Robustez: degraded mode automático tras 3 fallos, persistence condicional para Nivel 0, prune de skills obsoletas.",
|
|
35
|
+
"version": "0.9.5",
|
|
36
|
+
"sha256": "775f4b8b28a315e97f9192d71a9433fa28235fe84c29401451ace628829c7076"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "openspec",
|
|
40
40
|
"file": "assets/mcp/openspec/",
|
|
41
41
|
"description": "MCP server local para OpenSpec - proposal, apply, archive, sync de cambios",
|
|
42
|
-
"version": "0.9.
|
|
42
|
+
"version": "0.9.5",
|
|
43
43
|
"sha256": "fa4be28bfc1e75db8f1a037e2580f04a60066c80e8e5934e90e1041020d04609"
|
|
44
44
|
}
|
|
45
45
|
],
|
|
@@ -48,105 +48,105 @@
|
|
|
48
48
|
"name": "brainstorming",
|
|
49
49
|
"file": "assets/skills/brainstorming/SKILL.md",
|
|
50
50
|
"description": "Skill unificado de pensamiento con dos modos: creative-design (producción de diseño → transición a implementación directa o openspec-propose) y open-exploration (exploración libre)",
|
|
51
|
-
"version": "0.9.
|
|
51
|
+
"version": "0.9.5",
|
|
52
52
|
"sha256": "f1013a86a8f27914d85a716e23c7fd32db1786d93615e8b0834b13d184308549"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"name": "execution-mode-evaluation",
|
|
56
56
|
"file": "assets/skills/execution-mode-evaluation/SKILL.md",
|
|
57
57
|
"description": "Skill de análisis de modo de ejecución — output reconciliado con controller snapshot contract (recommendation field)",
|
|
58
|
-
"version": "0.9.
|
|
58
|
+
"version": "0.9.5",
|
|
59
59
|
"sha256": "2158a6864c0912e868a9d720db7fd79441e6cc298e3320833d2527c9727c852e"
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
"name": "tdd",
|
|
63
63
|
"file": "assets/skills/tdd/SKILL.md",
|
|
64
64
|
"description": "Skill de test-driven development (Superpowers)",
|
|
65
|
-
"version": "0.9.
|
|
65
|
+
"version": "0.9.5",
|
|
66
66
|
"sha256": "f0ebfbbc43a8868d31a3fd2df37ae7f60fe8add09c6475862395a68269e5ff7f"
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
"name": "subagent-driven-development",
|
|
70
70
|
"file": "assets/skills/subagent-driven-development/SKILL.md",
|
|
71
71
|
"description": "Skill de ejecución con subagentes (Superpowers) — ejecuta solo después de confirmación del coordinador Ostacky",
|
|
72
|
-
"version": "0.9.
|
|
72
|
+
"version": "0.9.5",
|
|
73
73
|
"sha256": "1a42d714a9a13faf05f0bf7b580e8d837c2e77a5633839542ccce603023419e8"
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"name": "dispatching-parallel-agents",
|
|
77
77
|
"file": "assets/skills/dispatching-parallel-agents/SKILL.md",
|
|
78
78
|
"description": "Skill de dispatch paralelo de agentes (Superpowers)",
|
|
79
|
-
"version": "0.9.
|
|
79
|
+
"version": "0.9.5",
|
|
80
80
|
"sha256": "7e7b712ef742d5631e302e6a71583e2bbbd33094da9281abfb84b43505fc3ef1"
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"name": "review",
|
|
84
84
|
"file": "assets/skills/review/SKILL.md",
|
|
85
85
|
"description": "Skill de revisión de código (Superpowers)",
|
|
86
|
-
"version": "0.9.
|
|
86
|
+
"version": "0.9.5",
|
|
87
87
|
"sha256": "b19650ed4d1d4d9857a4dd5b7e08e91328a1a1fc9c45bcc2fb600fa9d0213279"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"name": "receiving-code-review",
|
|
91
91
|
"file": "assets/skills/receiving-code-review/SKILL.md",
|
|
92
92
|
"description": "Skill de recibir y procesar feedback de code review",
|
|
93
|
-
"version": "0.9.
|
|
93
|
+
"version": "0.9.5",
|
|
94
94
|
"sha256": "d761e884e71d8d3476ac734d287cae403a4024506a7d12e7361a448217c0a831"
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
"name": "openspec-propose",
|
|
98
98
|
"file": "assets/skills/openspec-propose/SKILL.md",
|
|
99
99
|
"description": "Skill de generación de proposal (OpenSpec)",
|
|
100
|
-
"version": "0.9.
|
|
100
|
+
"version": "0.9.5",
|
|
101
101
|
"sha256": "6a517f750f24c008208156a2d653e97ed30b1e53878aeac5ce394e573db0678f"
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
"name": "openspec-apply-change",
|
|
105
105
|
"file": "assets/skills/openspec-apply-change/SKILL.md",
|
|
106
106
|
"description": "Skill de aplicación de change (OpenSpec)",
|
|
107
|
-
"version": "0.9.
|
|
107
|
+
"version": "0.9.5",
|
|
108
108
|
"sha256": "dfc823bf89fc7505e91ab6dee9c1f004be38a410bd3d88fb67b211b1b6cbb1d0"
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
"name": "openspec-archive-change",
|
|
112
112
|
"file": "assets/skills/openspec-archive-change/SKILL.md",
|
|
113
113
|
"description": "Skill de archivo de change (OpenSpec)",
|
|
114
|
-
"version": "0.9.
|
|
114
|
+
"version": "0.9.5",
|
|
115
115
|
"sha256": "16e4b561de7747283663fed602e506abf502452c49a8d4b86d7a5539c40f0195"
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
"name": "openspec-explore",
|
|
119
119
|
"file": "assets/skills/openspec-explore/SKILL.md",
|
|
120
120
|
"description": "Modo explore para OpenSpec — thinking partner para explorar ideas, investigar problemas y clarificar requisitos antes/durante un cambio",
|
|
121
|
-
"version": "0.9.
|
|
121
|
+
"version": "0.9.5",
|
|
122
122
|
"sha256": "9eafc3a8c693b8d9916867ef764d49e5222da717fde501c957bb3f6c312d2415"
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
"name": "using-git-worktrees",
|
|
126
126
|
"file": "assets/skills/using-git-worktrees/SKILL.md",
|
|
127
127
|
"description": "Skill de uso de git worktrees para aislamiento de trabajo",
|
|
128
|
-
"version": "0.9.
|
|
128
|
+
"version": "0.9.5",
|
|
129
129
|
"sha256": "93341bc1b7c053618a8b6dc07e3615b77990d7b549a0201f5835d95fef67ce13"
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
"name": "using-superpowers",
|
|
133
133
|
"file": "assets/skills/using-superpowers/SKILL.md",
|
|
134
134
|
"description": "Skill de orquestación de Superpowers skills",
|
|
135
|
-
"version": "0.9.
|
|
135
|
+
"version": "0.9.5",
|
|
136
136
|
"sha256": "7e54536f96d2a379185a10bfc1e970850caa2561b6d8aca7080f0defea0381a4"
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
"name": "writing-skills",
|
|
140
140
|
"file": "assets/skills/writing-skills/SKILL.md",
|
|
141
141
|
"description": "Skill de creación y edición de skills",
|
|
142
|
-
"version": "0.9.
|
|
142
|
+
"version": "0.9.5",
|
|
143
143
|
"sha256": "3d76b906cee518a2b809febb70db95697a35b9f368986bb504b4120c3bfb437a"
|
|
144
144
|
},
|
|
145
145
|
{
|
|
146
146
|
"name": "graceful-degradation",
|
|
147
147
|
"file": "assets/skills/graceful-degradation/SKILL.md",
|
|
148
148
|
"description": "Skill de degradación graceful cuando múltiples tools están indisponibles",
|
|
149
|
-
"version": "0.9.
|
|
149
|
+
"version": "0.9.5",
|
|
150
150
|
"sha256": "363449bd9e6f800a0a3168667cf78f767fb105d86e4a4adadcc649d418139303"
|
|
151
151
|
}
|
|
152
152
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ostacky",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.5",
|
|
4
4
|
"description": "Instalador interactivo de agentes y comandos para OpenCode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"build": "bun build src/cli.ts --target=node --format=esm --outfile dist/cli.js && bun scripts/add-shebang.ts",
|
|
13
13
|
"start": "node dist/cli.js",
|
|
14
14
|
"test": "bun test",
|
|
15
|
+
"check:skills": "bun run scripts/check-skill-sync.ts",
|
|
16
|
+
"hash:check": "bun run scripts/update-manifest-hashes.ts --check",
|
|
17
|
+
"hash:update": "bun run scripts/update-manifest-hashes.ts",
|
|
18
|
+
"prepublishOnly": "bun run build",
|
|
15
19
|
"update": "bun run scripts/check-skill-sync.ts && bun run scripts/sync-controller-core.ts && bun run scripts/update-manifest-hashes.ts"
|
|
16
20
|
},
|
|
17
21
|
"files": [
|