loadouts 0.2.2 → 0.2.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.
Files changed (108) hide show
  1. package/dist/builtins/agent-transforms.d.ts +9 -0
  2. package/dist/builtins/agent-transforms.d.ts.map +1 -0
  3. package/dist/builtins/agent-transforms.js +231 -0
  4. package/dist/builtins/agent-transforms.js.map +1 -0
  5. package/dist/builtins/index.d.ts.map +1 -1
  6. package/dist/builtins/index.js +7 -0
  7. package/dist/builtins/index.js.map +1 -1
  8. package/dist/builtins/kinds/agent.d.ts +3 -0
  9. package/dist/builtins/kinds/agent.d.ts.map +1 -0
  10. package/dist/builtins/kinds/agent.js +8 -0
  11. package/dist/builtins/kinds/agent.js.map +1 -0
  12. package/dist/builtins/tools/claude-code.d.ts.map +1 -1
  13. package/dist/builtins/tools/claude-code.js +7 -1
  14. package/dist/builtins/tools/claude-code.js.map +1 -1
  15. package/dist/builtins/tools/codex.d.ts.map +1 -1
  16. package/dist/builtins/tools/codex.js +10 -1
  17. package/dist/builtins/tools/codex.js.map +1 -1
  18. package/dist/builtins/tools/cursor.d.ts.map +1 -1
  19. package/dist/builtins/tools/cursor.js +7 -1
  20. package/dist/builtins/tools/cursor.js.map +1 -1
  21. package/dist/builtins/tools/opencode.d.ts.map +1 -1
  22. package/dist/builtins/tools/opencode.js +7 -0
  23. package/dist/builtins/tools/opencode.js.map +1 -1
  24. package/dist/cli/commands/activate.d.ts.map +1 -1
  25. package/dist/cli/commands/activate.js +2 -0
  26. package/dist/cli/commands/activate.js.map +1 -1
  27. package/dist/cli/commands/add-to.d.ts +13 -0
  28. package/dist/cli/commands/add-to.d.ts.map +1 -0
  29. package/dist/cli/commands/add-to.js +56 -0
  30. package/dist/cli/commands/add-to.js.map +1 -0
  31. package/dist/cli/commands/docs.d.ts.map +1 -1
  32. package/dist/cli/commands/docs.js +3 -1
  33. package/dist/cli/commands/docs.js.map +1 -1
  34. package/dist/cli/commands/doctor.d.ts.map +1 -1
  35. package/dist/cli/commands/doctor.js +10 -0
  36. package/dist/cli/commands/doctor.js.map +1 -1
  37. package/dist/cli/commands/init.d.ts.map +1 -1
  38. package/dist/cli/commands/init.js +5 -0
  39. package/dist/cli/commands/init.js.map +1 -1
  40. package/dist/cli/commands/install.d.ts.map +1 -1
  41. package/dist/cli/commands/install.js +15 -3
  42. package/dist/cli/commands/install.js.map +1 -1
  43. package/dist/cli/commands/loadout-include.d.ts +29 -0
  44. package/dist/cli/commands/loadout-include.d.ts.map +1 -0
  45. package/dist/cli/commands/loadout-include.js +138 -0
  46. package/dist/cli/commands/loadout-include.js.map +1 -0
  47. package/dist/cli/commands/migrate.d.ts +31 -0
  48. package/dist/cli/commands/migrate.d.ts.map +1 -0
  49. package/dist/cli/commands/migrate.js +223 -0
  50. package/dist/cli/commands/migrate.js.map +1 -0
  51. package/dist/cli/commands/remove-from.d.ts +9 -0
  52. package/dist/cli/commands/remove-from.d.ts.map +1 -0
  53. package/dist/cli/commands/remove-from.js +51 -0
  54. package/dist/cli/commands/remove-from.js.map +1 -0
  55. package/dist/cli/commands/render-engine.d.ts +1 -0
  56. package/dist/cli/commands/render-engine.d.ts.map +1 -1
  57. package/dist/cli/commands/render-engine.js +10 -35
  58. package/dist/cli/commands/render-engine.js.map +1 -1
  59. package/dist/cli/commands/runtime.d.ts +21 -0
  60. package/dist/cli/commands/runtime.d.ts.map +1 -0
  61. package/dist/cli/commands/runtime.js +100 -0
  62. package/dist/cli/commands/runtime.js.map +1 -0
  63. package/dist/cli/index.d.ts.map +1 -1
  64. package/dist/cli/index.js +8 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/core/agent-migration.d.ts +13 -0
  67. package/dist/core/agent-migration.d.ts.map +1 -0
  68. package/dist/core/agent-migration.js +397 -0
  69. package/dist/core/agent-migration.js.map +1 -0
  70. package/dist/core/import-discovery.d.ts.map +1 -1
  71. package/dist/core/import-discovery.js +27 -0
  72. package/dist/core/import-discovery.js.map +1 -1
  73. package/dist/core/kindLoader.d.ts +10 -4
  74. package/dist/core/kindLoader.d.ts.map +1 -1
  75. package/dist/core/kindLoader.js +22 -10
  76. package/dist/core/kindLoader.js.map +1 -1
  77. package/dist/core/registry.d.ts +4 -2
  78. package/dist/core/registry.d.ts.map +1 -1
  79. package/dist/core/registry.js.map +1 -1
  80. package/dist/core/render.d.ts.map +1 -1
  81. package/dist/core/render.js +14 -6
  82. package/dist/core/render.js.map +1 -1
  83. package/dist/core/resolve.d.ts +17 -1
  84. package/dist/core/resolve.d.ts.map +1 -1
  85. package/dist/core/resolve.js +50 -27
  86. package/dist/core/resolve.js.map +1 -1
  87. package/dist/core/runtime.d.ts +79 -0
  88. package/dist/core/runtime.d.ts.map +1 -0
  89. package/dist/core/runtime.js +345 -0
  90. package/dist/core/runtime.js.map +1 -0
  91. package/dist/lib/artifact-paths.d.ts.map +1 -1
  92. package/dist/lib/artifact-paths.js +4 -0
  93. package/dist/lib/artifact-paths.js.map +1 -1
  94. package/dist/lib/artifact-table.d.ts.map +1 -1
  95. package/dist/lib/artifact-table.js +13 -1
  96. package/dist/lib/artifact-table.js.map +1 -1
  97. package/dist/lib/gitignore.d.ts.map +1 -1
  98. package/dist/lib/gitignore.js +2 -0
  99. package/dist/lib/gitignore.js.map +1 -1
  100. package/docs/authoring.md +81 -4
  101. package/docs/commands.md +45 -0
  102. package/docs/compatibility.md +41 -0
  103. package/docs/concepts.md +8 -7
  104. package/docs/examples/opencode-runtime-plugin.ts +143 -0
  105. package/docs/index.md +2 -0
  106. package/docs/quickstart.md +1 -0
  107. package/docs/runtime.md +72 -0
  108. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ # Runtime Activation (OpenCode First)
2
+
3
+ `loadouts runtime` compiles loadouts into a session-time bundle without touching activated outputs on disk. Runtime v1 is designed as an OpenCode-first integration path and a reference surface for other tools.
4
+
5
+ ## Why Runtime Exists
6
+
7
+ - Keep activation side-effect free for agent sessions.
8
+ - Reuse the existing resolver and include semantics from standard loadout compilation.
9
+ - Make instruction/rule injection explicit and auditable in one JSON payload.
10
+ - Expose skill directories as references (path discovery only), without claiming native skill hot-swap.
11
+
12
+ ## Architecture
13
+
14
+ Runtime activation follows a resolver-backed bundle compiler:
15
+
16
+ 1. Resolve loadouts exactly like normal activation (`include`, source imports, bundled/global fallback, tool filtering).
17
+ 2. Compile supported artifacts into a `RuntimeBundle`.
18
+ 3. Return bundle JSON (`--json`) or a model-ready block (`--system-block`).
19
+
20
+ Key properties:
21
+
22
+ - Session-local state: caller owns lifecycle in memory/process state.
23
+ - No persistent activation changes: runtime commands do not mutate `.loadouts/.state.json`.
24
+ - No output rendering: runtime does not write `.opencode/`, `AGENTS.md`, or other tool target files.
25
+ - Deterministic fingerprinting: `fingerprint` is stable across `generatedAt` changes for equivalent content.
26
+
27
+ ## OpenCode-First Flow
28
+
29
+ Use OpenCode as the primary runtime consumer in v1:
30
+
31
+ ```bash
32
+ # JSON bridge for plugin/session adapters
33
+ loadouts runtime base backend --tool opencode --json
34
+
35
+ # Pre-rendered system block text
36
+ loadouts runtime base backend --tool opencode --system-block
37
+ ```
38
+
39
+ Recommended integration pattern:
40
+
41
+ - Compile once when a session starts or active runtime loadouts change.
42
+ - Cache by `fingerprint`.
43
+ - Inject `instructions` and `rules` into model/system context.
44
+ - Register `skills[*].path` for discovery only.
45
+
46
+ ## Tool Capability Matrix (Runtime v1)
47
+
48
+ The bundle always includes resolved instructions, rules, and skill references. Capability flags tell consumers what should be treated as native runtime behavior for each tool.
49
+
50
+ | Tool | Runtime mode | Instruction/rule model injection | Skill path discovery | Native skill hot-swap |
51
+ |------|--------------|----------------------------------|----------------------|-----------------------|
52
+ | OpenCode | `experimental-runtime` | Yes | Yes | No |
53
+ | Pi | `native-runtime` | Yes | Yes | No |
54
+ | Codex | `experimental-runtime` | Yes | Yes | No |
55
+ | Claude Code | `filesystem-activation` | No | No | No |
56
+ | Cursor | `filesystem-activation` | No (not native) | No | No |
57
+
58
+ For filesystem-first tools, use standard `activate/sync` as the primary path and treat runtime output as inspection/debugging data.
59
+
60
+ ## Runtime v1 Limits
61
+
62
+ - Supported kinds: `instruction`, `rule`, `skill`.
63
+ - Agents are filesystem-rendered native definitions for supported harnesses; they are not injected through runtime v1.
64
+ - Unsupported kinds are reported as diagnostics, not hard failures.
65
+ - Skills require a `SKILL.md` entrypoint for runtime discovery metadata.
66
+ - Runtime v1 does not implement native skill hot-swap.
67
+
68
+ ## Reference Scaffold
69
+
70
+ - Example OpenCode plugin scaffold: `docs/examples/opencode-runtime-plugin.ts`
71
+ - Core compiler implementation: `src/core/runtime.ts`
72
+ - CLI command surface: `src/cli/commands/runtime.ts`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loadouts",
3
- "version": "0.2.2",
3
+ "version": "0.2.5",
4
4
  "description": "Composable configuration bundles for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {