mia-code 0.2.0 → 0.3.0

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 (410) hide show
  1. package/.miette/260321.md +1 -0
  2. package/.miette/260323.md +9 -0
  3. package/.miette/260331.md +2 -0
  4. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--d3417f2c-df12-4f0f-8a1b-d88e7968f822/d3417f2c-df12-4f0f-8a1b-d88e7968f822.md +63 -0
  5. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--e6c3fc5d-4a70-4523-ba7d-a3250da4c235/e6c3fc5d-4a70-4523-ba7d-a3250da4c235.md +72 -0
  6. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--efeb00a2-b17a-4d32-b1f0-b90c37a8d24e/efeb00a2-b17a-4d32-b1f0-b90c37a8d24e.md +62 -0
  7. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.json +302 -0
  8. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.md +149 -0
  9. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/AGENTS.md +31 -0
  10. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/meta-decomposition-3-children.md +67 -0
  11. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/61f9dd4d-7aa6-45e6-a58b-e480b1aa6737--from-mia-openclaw-workspace.md +125 -0
  12. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/STATUS.md +1 -0
  13. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.json +177 -0
  14. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.md +77 -0
  15. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.json +222 -0
  16. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.md +99 -0
  17. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.json +111 -0
  18. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.md +67 -0
  19. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.json +349 -0
  20. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.md +147 -0
  21. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.json +118 -0
  22. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.md +64 -0
  23. package/GUILLAUME.md +8 -0
  24. package/KINSHIP.md +9 -0
  25. package/MIA_CODE_ARCHITECTURE_REPORT.md +718 -0
  26. package/contextual_research/260119-MIA-CODE--98090899-8aff-4e11-9dc3-8b99466d1.md +1101 -0
  27. package/contextual_research/MIA.md +38 -0
  28. package/contextual_research/MIAWAPASCONE.md +59 -0
  29. package/contextual_research/MIETTE.md +38 -0
  30. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2504.00218v2.pdf +7483 -12
  31. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2505.00212v3.pdf +0 -0
  32. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/CONTENT.md +1014 -0
  33. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/DESIGN.gemini.md +242 -0
  34. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/INDEX.md +45 -0
  35. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.md +2025 -0
  36. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.pdf +7483 -12
  37. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.md +1755 -0
  38. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.pdf +0 -0
  39. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_12_decomposed_prompting.pdf +0 -0
  40. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_19_hugginggpt_planning.pdf +0 -0
  41. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.md +766 -0
  42. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.pdf +3431 -4
  43. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.md +260 -0
  44. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.pdf +0 -0
  45. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.md +558 -0
  46. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.pdf +0 -0
  47. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_34_hierarchical_multi_agent.pdf +0 -0
  48. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_5_open_intent_extraction.pdf +0 -0
  49. package/contextual_research/PODCAST.md +109 -0
  50. package/contextual_research/langchain-principles-roadmap.md +157 -0
  51. package/contextual_research/persona-to-narrative-character-inquiry_260201.md +50 -0
  52. package/dist/cli.js +35 -11
  53. package/dist/geminiHeadless.js +8 -2
  54. package/dist/index.js +2 -1
  55. package/dist/mcp/miaco-server.js +10 -1
  56. package/dist/mcp/miatel-server.js +10 -1
  57. package/dist/mcp/miawa-server.js +10 -1
  58. package/dist/mcp/utils.d.ts +6 -1
  59. package/dist/mcp/utils.js +24 -3
  60. package/dist/sessionStore.d.ts +8 -2
  61. package/dist/sessionStore.js +39 -3
  62. package/dist/types.d.ts +1 -0
  63. package/miaco/README.md +124 -0
  64. package/miaco/dist/commands/chart.d.ts +6 -0
  65. package/miaco/dist/commands/chart.d.ts.map +1 -0
  66. package/miaco/dist/commands/chart.js +222 -0
  67. package/miaco/dist/commands/chart.js.map +1 -0
  68. package/miaco/dist/commands/decompose.d.ts +6 -0
  69. package/miaco/dist/commands/decompose.d.ts.map +1 -0
  70. package/miaco/dist/commands/decompose.js +98 -0
  71. package/miaco/dist/commands/decompose.js.map +1 -0
  72. package/miaco/dist/commands/schema.d.ts +6 -0
  73. package/miaco/dist/commands/schema.d.ts.map +1 -0
  74. package/miaco/dist/commands/schema.js +66 -0
  75. package/miaco/dist/commands/schema.js.map +1 -0
  76. package/miaco/dist/commands/stc.d.ts +11 -0
  77. package/miaco/dist/commands/stc.d.ts.map +1 -0
  78. package/miaco/dist/commands/stc.js +590 -0
  79. package/miaco/dist/commands/stc.js.map +1 -0
  80. package/miaco/dist/commands/trace.d.ts +6 -0
  81. package/miaco/dist/commands/trace.d.ts.map +1 -0
  82. package/miaco/dist/commands/trace.js +83 -0
  83. package/miaco/dist/commands/trace.js.map +1 -0
  84. package/miaco/dist/commands/validate.d.ts +6 -0
  85. package/miaco/dist/commands/validate.d.ts.map +1 -0
  86. package/miaco/dist/commands/validate.js +58 -0
  87. package/miaco/dist/commands/validate.js.map +1 -0
  88. package/miaco/dist/decompose.d.ts +93 -0
  89. package/miaco/dist/decompose.d.ts.map +1 -0
  90. package/miaco/dist/decompose.js +562 -0
  91. package/miaco/dist/decompose.js.map +1 -0
  92. package/miaco/dist/index.d.ts +18 -0
  93. package/miaco/dist/index.d.ts.map +1 -0
  94. package/miaco/dist/index.js +83 -0
  95. package/miaco/dist/index.js.map +1 -0
  96. package/miaco/dist/storage.d.ts +60 -0
  97. package/miaco/dist/storage.d.ts.map +1 -0
  98. package/miaco/dist/storage.js +100 -0
  99. package/miaco/dist/storage.js.map +1 -0
  100. package/miaco/package-lock.json +4103 -0
  101. package/miaco/package.json +40 -0
  102. package/miaco/tsconfig.json +18 -0
  103. package/miaco/version-patch-commit-and-publish.sh +1 -0
  104. package/miatel/MISSION_251231.md +3 -0
  105. package/miatel/README.md +107 -0
  106. package/miatel/dist/commands/analyze.d.ts +6 -0
  107. package/miatel/dist/commands/analyze.d.ts.map +1 -0
  108. package/miatel/dist/commands/analyze.js +100 -0
  109. package/miatel/dist/commands/analyze.js.map +1 -0
  110. package/miatel/dist/commands/arc.d.ts +6 -0
  111. package/miatel/dist/commands/arc.d.ts.map +1 -0
  112. package/miatel/dist/commands/arc.js +71 -0
  113. package/miatel/dist/commands/arc.js.map +1 -0
  114. package/miatel/dist/commands/beat.d.ts +6 -0
  115. package/miatel/dist/commands/beat.d.ts.map +1 -0
  116. package/miatel/dist/commands/beat.js +165 -0
  117. package/miatel/dist/commands/beat.js.map +1 -0
  118. package/miatel/dist/commands/theme.d.ts +6 -0
  119. package/miatel/dist/commands/theme.d.ts.map +1 -0
  120. package/miatel/dist/commands/theme.js +54 -0
  121. package/miatel/dist/commands/theme.js.map +1 -0
  122. package/miatel/dist/index.d.ts +18 -0
  123. package/miatel/dist/index.d.ts.map +1 -0
  124. package/miatel/dist/index.js +80 -0
  125. package/miatel/dist/index.js.map +1 -0
  126. package/miatel/dist/storage.d.ts +55 -0
  127. package/miatel/dist/storage.d.ts.map +1 -0
  128. package/miatel/dist/storage.js +100 -0
  129. package/miatel/dist/storage.js.map +1 -0
  130. package/miatel/package-lock.json +4103 -0
  131. package/miatel/package.json +35 -0
  132. package/miatel/src/commands/analyze.ts +109 -0
  133. package/miatel/src/commands/arc.ts +78 -0
  134. package/miatel/src/commands/beat.ts +176 -0
  135. package/miatel/src/commands/theme.ts +60 -0
  136. package/miatel/src/index.ts +94 -0
  137. package/miatel/src/storage.ts +156 -0
  138. package/miatel/tsconfig.json +18 -0
  139. package/miawa/MISSION_251231.md +144 -0
  140. package/miawa/README.md +133 -0
  141. package/miawa/dist/commands/beat.d.ts +6 -0
  142. package/miawa/dist/commands/beat.d.ts.map +1 -0
  143. package/miawa/dist/commands/beat.js +69 -0
  144. package/miawa/dist/commands/beat.js.map +1 -0
  145. package/miawa/dist/commands/ceremony.d.ts +6 -0
  146. package/miawa/dist/commands/ceremony.d.ts.map +1 -0
  147. package/miawa/dist/commands/ceremony.js +239 -0
  148. package/miawa/dist/commands/ceremony.js.map +1 -0
  149. package/miawa/dist/commands/circle.d.ts +6 -0
  150. package/miawa/dist/commands/circle.d.ts.map +1 -0
  151. package/miawa/dist/commands/circle.js +75 -0
  152. package/miawa/dist/commands/circle.js.map +1 -0
  153. package/miawa/dist/commands/eva.d.ts +6 -0
  154. package/miawa/dist/commands/eva.d.ts.map +1 -0
  155. package/miawa/dist/commands/eva.js +73 -0
  156. package/miawa/dist/commands/eva.js.map +1 -0
  157. package/miawa/dist/commands/wound.d.ts +6 -0
  158. package/miawa/dist/commands/wound.d.ts.map +1 -0
  159. package/miawa/dist/commands/wound.js +74 -0
  160. package/miawa/dist/commands/wound.js.map +1 -0
  161. package/miawa/dist/index.d.ts +19 -0
  162. package/miawa/dist/index.d.ts.map +1 -0
  163. package/miawa/dist/index.js +91 -0
  164. package/miawa/dist/index.js.map +1 -0
  165. package/miawa/dist/storage.d.ts +73 -0
  166. package/miawa/dist/storage.d.ts.map +1 -0
  167. package/miawa/dist/storage.js +100 -0
  168. package/miawa/dist/storage.js.map +1 -0
  169. package/miawa/package-lock.json +4103 -0
  170. package/miawa/package.json +36 -0
  171. package/miawa/src/commands/beat.ts +74 -0
  172. package/miawa/src/commands/ceremony.ts +256 -0
  173. package/miawa/src/commands/circle.ts +83 -0
  174. package/miawa/src/commands/eva.ts +84 -0
  175. package/miawa/src/commands/wound.ts +79 -0
  176. package/miawa/src/index.ts +108 -0
  177. package/miawa/src/storage.ts +179 -0
  178. package/miawa/tsconfig.json +18 -0
  179. package/package.json +7 -5
  180. package/references/acp/CLAUDE.md +7 -0
  181. package/references/acp/agent-plan.md +84 -0
  182. package/references/acp/clients.md +31 -0
  183. package/references/acp/extensibility.md +137 -0
  184. package/references/acp/initialization.md +225 -0
  185. package/references/acp/prompt-turn.md +321 -0
  186. package/references/acp/proxy-chains.md +562 -0
  187. package/references/acp/schema.md +3171 -0
  188. package/references/acp/session-list.md +334 -0
  189. package/references/acp/session-modes.md +170 -0
  190. package/references/acp/slash-commands.md +99 -0
  191. package/references/acp/terminals.md +281 -0
  192. package/references/acp/tool-calls.md +311 -0
  193. package/references/acp/typescript.md +29 -0
  194. package/references/claude/agent-teams.md +399 -0
  195. package/references/claude/chrome.md +231 -0
  196. package/references/claude/headless.md +158 -0
  197. package/references/claude/hooks-guide.md +708 -0
  198. package/references/claude/output-styles.md +112 -0
  199. package/references/claude/plugins.md +432 -0
  200. package/references/claude/skills.md +693 -0
  201. package/references/claude/sub-agents.md +816 -0
  202. package/references/copilot/acp/agents.md +32 -0
  203. package/references/copilot/acp/architecture.md +37 -0
  204. package/references/copilot/acp/clients.md +31 -0
  205. package/references/copilot/acp/introduction.md +42 -0
  206. package/references/copilot/acp/registry.md +339 -0
  207. package/references/copilot/acp-server.md +117 -0
  208. package/references/copilot/create-copilot-instructions.md +840 -0
  209. package/references/langchain/llms.txt +833 -0
  210. package/references/langchain/python/agents.md +677 -0
  211. package/references/langchain/python/context-engineering.md +1195 -0
  212. package/references/langchain/python/human-in-the-loop.md +326 -0
  213. package/references/langchain/python/long-term-memory.md +168 -0
  214. package/references/langchain/python/mcp.md +949 -0
  215. package/references/langchain/python/multi-agents/custom-workflow.md +187 -0
  216. package/references/langchain/python/multi-agents/handoffs.md +436 -0
  217. package/references/langchain/python/multi-agents/overview.md +295 -0
  218. package/references/langchain/python/multi-agents/router.md +150 -0
  219. package/references/langchain/python/multi-agents/skills.md +92 -0
  220. package/references/langchain/python/multi-agents/subagents.md +486 -0
  221. package/references/langchain/python/retrieval.md +320 -0
  222. package/references/langchain/python/runtime.md +141 -0
  223. package/references/langchain/python/short-term-memory.md +658 -0
  224. package/references/langchain/python/structured-output.md +712 -0
  225. package/references/langfuse/llms.txt +148 -0
  226. package/references/langgraph/javascript/llms.txt +275 -0
  227. package/references/skills/home.md +259 -0
  228. package/references/skills/integrate-skills.md +103 -0
  229. package/references/skills/specification.md +254 -0
  230. package/references/skills/what-are-skills.md +74 -0
  231. package/rispecs/README.md +164 -0
  232. package/rispecs/_sync_/miadi-code/SPEC.md +313 -0
  233. package/rispecs/_sync_/miadi-code/STATUS.md +177 -0
  234. package/rispecs/_sync_/miadi-code/dashboard/SPEC.md +465 -0
  235. package/rispecs/_sync_/miadi-code/dashboard/STATUS.md +212 -0
  236. package/rispecs/_sync_/miadi-code/multiline-input/SPEC.md +232 -0
  237. package/rispecs/_sync_/miadi-code/multiline-input/STATUS.md +108 -0
  238. package/rispecs/_sync_/miadi-code/pde/SPEC.md +253 -0
  239. package/rispecs/_sync_/miadi-code/pde/STATUS.md +56 -0
  240. package/rispecs/_sync_/miadi-code/stc/SPEC.md +397 -0
  241. package/rispecs/_sync_/miadi-code/stc/STATUS.md +70 -0
  242. package/rispecs/ava-langstack/inquiry-routing-upgrade.spec.md +119 -0
  243. package/rispecs/borrowed_from_opencode/001-client-server-architecture.rispec.md +98 -0
  244. package/rispecs/borrowed_from_opencode/002-event-bus-system.rispec.md +125 -0
  245. package/rispecs/borrowed_from_opencode/003-instance-state-pattern.rispec.md +136 -0
  246. package/rispecs/borrowed_from_opencode/004-namespace-module-pattern.rispec.md +151 -0
  247. package/rispecs/borrowed_from_opencode/005-zod-schema-validation.rispec.md +139 -0
  248. package/rispecs/borrowed_from_opencode/006-named-error-system.rispec.md +155 -0
  249. package/rispecs/borrowed_from_opencode/007-structured-logging.rispec.md +138 -0
  250. package/rispecs/borrowed_from_opencode/008-lazy-initialization.rispec.md +127 -0
  251. package/rispecs/borrowed_from_opencode/009-multi-agent-system.rispec.md +97 -0
  252. package/rispecs/borrowed_from_opencode/010-agent-definition-config.rispec.md +135 -0
  253. package/rispecs/borrowed_from_opencode/011-agent-permission-rulesets.rispec.md +151 -0
  254. package/rispecs/borrowed_from_opencode/012-agent-prompt-templates.rispec.md +141 -0
  255. package/rispecs/borrowed_from_opencode/013-agent-generation.rispec.md +142 -0
  256. package/rispecs/borrowed_from_opencode/014-plan-build-mode-toggle.rispec.md +155 -0
  257. package/rispecs/borrowed_from_opencode/015-subagent-task-delegation.rispec.md +146 -0
  258. package/rispecs/borrowed_from_opencode/016-agent-model-selection.rispec.md +151 -0
  259. package/rispecs/borrowed_from_opencode/017-compaction-agent.rispec.md +150 -0
  260. package/rispecs/borrowed_from_opencode/018-session-persistence.rispec.md +125 -0
  261. package/rispecs/borrowed_from_opencode/019-session-compaction.rispec.md +132 -0
  262. package/rispecs/borrowed_from_opencode/020-session-forking.rispec.md +134 -0
  263. package/rispecs/borrowed_from_opencode/021-session-revert-snapshot.rispec.md +135 -0
  264. package/rispecs/borrowed_from_opencode/022-session-sharing.rispec.md +165 -0
  265. package/rispecs/borrowed_from_opencode/023-session-summary-diffs.rispec.md +165 -0
  266. package/rispecs/borrowed_from_opencode/024-child-sessions.rispec.md +164 -0
  267. package/rispecs/borrowed_from_opencode/025-session-title-generation.rispec.md +162 -0
  268. package/rispecs/borrowed_from_opencode/026-message-parts-model.rispec.md +201 -0
  269. package/rispecs/borrowed_from_opencode/027-streaming-message-deltas.rispec.md +212 -0
  270. package/rispecs/borrowed_from_opencode/028-multi-provider-architecture.rispec.md +184 -0
  271. package/rispecs/borrowed_from_opencode/029-provider-authentication.rispec.md +225 -0
  272. package/rispecs/borrowed_from_opencode/030-model-registry.rispec.md +222 -0
  273. package/rispecs/borrowed_from_opencode/031-cost-tracking.rispec.md +243 -0
  274. package/rispecs/borrowed_from_opencode/032-provider-transform-pipeline.rispec.md +282 -0
  275. package/rispecs/borrowed_from_opencode/033-provider-sdk-abstraction.rispec.md +338 -0
  276. package/rispecs/borrowed_from_opencode/034-tool-registry.rispec.md +110 -0
  277. package/rispecs/borrowed_from_opencode/035-tool-context-injection.rispec.md +155 -0
  278. package/rispecs/borrowed_from_opencode/036-tool-output-truncation.rispec.md +138 -0
  279. package/rispecs/borrowed_from_opencode/037-batch-tool.rispec.md +129 -0
  280. package/rispecs/borrowed_from_opencode/038-multi-edit-tool.rispec.md +167 -0
  281. package/rispecs/borrowed_from_opencode/039-apply-patch-tool.rispec.md +161 -0
  282. package/rispecs/borrowed_from_opencode/040-code-search-tool.rispec.md +143 -0
  283. package/rispecs/borrowed_from_opencode/041-web-fetch-tool.rispec.md +131 -0
  284. package/rispecs/borrowed_from_opencode/042-web-search-tool.rispec.md +159 -0
  285. package/rispecs/borrowed_from_opencode/043-todo-tool.rispec.md +156 -0
  286. package/rispecs/borrowed_from_opencode/044-plan-mode-tool.rispec.md +139 -0
  287. package/rispecs/borrowed_from_opencode/045-task-tool.rispec.md +146 -0
  288. package/rispecs/borrowed_from_opencode/046-question-tool.rispec.md +170 -0
  289. package/rispecs/borrowed_from_opencode/047-external-directory-tool.rispec.md +166 -0
  290. package/rispecs/borrowed_from_opencode/048-file-read-write-tools.rispec.md +205 -0
  291. package/rispecs/borrowed_from_opencode/049-lsp-server-management.rispec.md +104 -0
  292. package/rispecs/borrowed_from_opencode/050-lsp-hover-completion.rispec.md +102 -0
  293. package/rispecs/borrowed_from_opencode/051-lsp-diagnostics.rispec.md +86 -0
  294. package/rispecs/borrowed_from_opencode/052-lsp-root-detection.rispec.md +109 -0
  295. package/rispecs/borrowed_from_opencode/053-remote-mcp-servers.rispec.md +119 -0
  296. package/rispecs/borrowed_from_opencode/054-mcp-oauth-flow.rispec.md +107 -0
  297. package/rispecs/borrowed_from_opencode/055-mcp-tool-conversion.rispec.md +118 -0
  298. package/rispecs/borrowed_from_opencode/056-mcp-connection-monitoring.rispec.md +106 -0
  299. package/rispecs/borrowed_from_opencode/057-local-mcp-servers.rispec.md +116 -0
  300. package/rispecs/borrowed_from_opencode/058-rich-tui.rispec.md +108 -0
  301. package/rispecs/borrowed_from_opencode/059-streaming-display.rispec.md +116 -0
  302. package/rispecs/borrowed_from_opencode/060-permission-prompts.rispec.md +130 -0
  303. package/rispecs/borrowed_from_opencode/061-session-navigation.rispec.md +155 -0
  304. package/rispecs/borrowed_from_opencode/062-syntax-highlighting.rispec.md +151 -0
  305. package/rispecs/borrowed_from_opencode/063-keybinding-system.rispec.md +181 -0
  306. package/rispecs/borrowed_from_opencode/064-multi-level-config.rispec.md +155 -0
  307. package/rispecs/borrowed_from_opencode/065-jsonc-config.rispec.md +190 -0
  308. package/rispecs/borrowed_from_opencode/066-config-env-variables.rispec.md +153 -0
  309. package/rispecs/borrowed_from_opencode/067-config-deep-merging.rispec.md +178 -0
  310. package/rispecs/borrowed_from_opencode/068-remote-org-config.rispec.md +183 -0
  311. package/rispecs/borrowed_from_opencode/069-config-markdown-frontmatter.rispec.md +206 -0
  312. package/rispecs/borrowed_from_opencode/070-managed-config-directory.rispec.md +232 -0
  313. package/rispecs/borrowed_from_opencode/071-plugin-architecture.rispec.md +104 -0
  314. package/rispecs/borrowed_from_opencode/072-plugin-hooks.rispec.md +123 -0
  315. package/rispecs/borrowed_from_opencode/073-plugin-auto-install.rispec.md +115 -0
  316. package/rispecs/borrowed_from_opencode/074-permission-system.rispec.md +133 -0
  317. package/rispecs/borrowed_from_opencode/075-git-worktree-management.rispec.md +126 -0
  318. package/rispecs/borrowed_from_opencode/076-snapshot-system.rispec.md +124 -0
  319. package/rispecs/borrowed_from_opencode/077-snapshot-diff.rispec.md +117 -0
  320. package/rispecs/borrowed_from_opencode/078-snapshot-restore.rispec.md +128 -0
  321. package/rispecs/borrowed_from_opencode/079-worktree-branch-naming.rispec.md +122 -0
  322. package/rispecs/borrowed_from_opencode/080-sqlite-storage.rispec.md +134 -0
  323. package/rispecs/borrowed_from_opencode/081-database-migrations.rispec.md +148 -0
  324. package/rispecs/borrowed_from_opencode/082-database-transactions.rispec.md +138 -0
  325. package/rispecs/borrowed_from_opencode/083-deferred-effects.rispec.md +148 -0
  326. package/rispecs/borrowed_from_opencode/084-permission-rules.rispec.md +123 -0
  327. package/rispecs/borrowed_from_opencode/085-permission-glob-patterns.rispec.md +113 -0
  328. package/rispecs/borrowed_from_opencode/086-permission-merging.rispec.md +134 -0
  329. package/rispecs/borrowed_from_opencode/087-permission-modes.rispec.md +145 -0
  330. package/rispecs/borrowed_from_opencode/088-http-api-server.rispec.md +165 -0
  331. package/rispecs/borrowed_from_opencode/089-openapi-spec-generation.rispec.md +164 -0
  332. package/rispecs/borrowed_from_opencode/090-websocket-support.rispec.md +136 -0
  333. package/rispecs/borrowed_from_opencode/091-sse-streaming.rispec.md +168 -0
  334. package/rispecs/borrowed_from_opencode/092-mdns-discovery.rispec.md +145 -0
  335. package/rispecs/borrowed_from_opencode/093-javascript-sdk.rispec.md +200 -0
  336. package/rispecs/borrowed_from_opencode/094-skill-system.rispec.md +187 -0
  337. package/rispecs/borrowed_from_opencode/095-skill-discovery.rispec.md +182 -0
  338. package/rispecs/borrowed_from_opencode/096-desktop-remote-driving.rispec.md +175 -0
  339. package/rispecs/borrowed_from_opencode/INDEX.md +255 -0
  340. package/rispecs/core.rispecs.md +261 -0
  341. package/rispecs/engines.rispecs.md +241 -0
  342. package/rispecs/formatting.rispecs.md +252 -0
  343. package/rispecs/living-specifications.rispecs.md +361 -0
  344. package/rispecs/mcp.rispecs.md +197 -0
  345. package/rispecs/pde.rispecs.md +399 -0
  346. package/rispecs/pi-mono-envisionning/ENVISIONING.md +366 -0
  347. package/rispecs/pi-mono-envisionning/storytelling-horizon.rispecs.md +76 -0
  348. package/rispecs/pi-mono-envisionning/widget.rispecs.md +2 -0
  349. package/rispecs/relation-to-mcp-structural-thinking.kin.md +72 -0
  350. package/rispecs/research-for-better-framework/CLAUDE.md +7 -0
  351. package/rispecs/research-for-better-framework/survey-pi-openclaw-opencode-openhands.md +210 -0
  352. package/rispecs/session.rispecs.md +277 -0
  353. package/rispecs/stc.rispecs.md +138 -0
  354. package/rispecs/unifier.rispecs.md +317 -0
  355. package/scripts/LAUNCH--mcp-mia-code--testing--2603141315--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +2 -0
  356. package/scripts/RESUME--mia-code--mcps--260313--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +1 -0
  357. package/scripts/install-widget-in-home-pi-agent-extensions.sh +4 -0
  358. package/scripts/sample-decompose--2604011535-prompt.sh +1 -0
  359. package/skills/deep-search/AGENTS.md +17 -0
  360. package/skills/deep-search/SKILL.md +281 -0
  361. package/skills/deep-search/agent-templates.md +224 -0
  362. package/skills/deep-search/orchestration-patterns.md +95 -0
  363. package/skills/miaco-pde-inquiry-routing-deep-search/AGENTS.md +13 -0
  364. package/skills/miaco-pde-inquiry-routing-deep-search/SKILL.md +136 -0
  365. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/AGENTS.md +4 -0
  366. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/SKILL.md +157 -0
  367. package/skills/miaco-pde-inquiry-routing-local-qmd/AGENTS.md +42 -0
  368. package/skills/miaco-pde-inquiry-routing-local-qmd/SKILL.md +135 -0
  369. package/skills/qmd/AGENTS.md +3 -0
  370. package/skills/qmd/SKILL.md +144 -0
  371. package/skills/qmd/references/mcp-setup.md +102 -0
  372. package/skills/rise-pde-inquiry-session-multi-agents-v3/SKILL.md +234 -0
  373. package/skills/rise-pde-inquiry-session-multi-agents-v3/agent-templates.md +436 -0
  374. package/skills/rise-pde-inquiry-session-multi-agents-v3/orchestration-patterns.md +197 -0
  375. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/ceremonial-technology.md +102 -0
  376. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/creative-orientation.md +99 -0
  377. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/prompt-decomposition.md +73 -0
  378. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/rise-framework.md +74 -0
  379. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/structural-tension.md +82 -0
  380. package/src/cli.ts +35 -11
  381. package/src/geminiHeadless.ts +7 -2
  382. package/src/index.ts +2 -1
  383. package/src/mcp/miaco-server.ts +13 -1
  384. package/src/mcp/miatel-server.ts +13 -1
  385. package/src/mcp/miawa-server.ts +13 -1
  386. package/src/mcp/utils.ts +41 -8
  387. package/src/sessionStore.ts +44 -4
  388. package/src/types.ts +2 -1
  389. package/widget/mia-ceremony/README.md +36 -0
  390. package/widget/mia-ceremony/index.ts +143 -0
  391. package/widget/mia-interceptor/README.md +39 -0
  392. package/widget/mia-interceptor/index.ts +221 -0
  393. package/widget/mia-tools/README.md +37 -0
  394. package/widget/mia-tools/index.ts +569 -0
  395. package/widget/miette-echo/README.md +44 -0
  396. package/widget/miette-echo/index.ts +164 -0
  397. package/.claude/settings.local.json +0 -9
  398. package/.hch/issue_.env +0 -4
  399. package/.hch/issue_add__2601211715.json +0 -77
  400. package/.hch/issue_add__2601211715.md +0 -4
  401. package/.hch/issue_add__2602242020.json +0 -78
  402. package/.hch/issue_add__2602242020.md +0 -7
  403. package/.hch/issues.json +0 -2312
  404. package/.hch/issues.md +0 -30
  405. package/WS__mia-code__260214__IAIP_PDE.code-workspace +0 -29
  406. package/WS__mia-code__src332__260122.code-workspace +0 -23
  407. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/checkpoints/index.md +0 -6
  408. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/events.jsonl +0 -213
  409. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/plan.md +0 -243
  410. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/workspace.yaml +0 -5
@@ -0,0 +1,187 @@
1
+ # RISE-094: Skill System
2
+
3
+ > RISE Framework Specification — Borrowed from OpenCode for mia-code
4
+ > Document: rispecs/borrowed_from_opencode/094-skill-system.rispec.md
5
+
6
+ ## Creative Intent
7
+
8
+ mia-code enables developers to define custom reusable skills as simple markdown files. A skill is a prompt template — structured instructions that inject specialized knowledge into the agent's context for a specific task. A "code-review" skill teaches the agent a team's review checklist. A "commit-message" skill enforces a commit format. A "test-writer" skill carries testing patterns. Skills are the mechanism by which teams encode their craft knowledge into something an AI agent can follow consistently. They are not code — they are written wisdom.
9
+
10
+ ## Structural Tension Analysis
11
+
12
+ **Current Reality:**
13
+ - mia-code has no mechanism for users to define reusable specialized instructions
14
+ - The agent's behavior is governed by the system prompt and CLAUDE.md — both are monolithic
15
+ - Developers repeat the same instructions across sessions: "use this commit format," "follow this review checklist"
16
+ - No way to share specialized instructions across projects or team members
17
+ - Agent behavior cannot be customized per-task without rewriting the entire system prompt
18
+
19
+ **Desired State:**
20
+ - Skills are markdown files with YAML frontmatter (name, description) and a markdown body (instructions)
21
+ - Skills live in `.mia-code/skills/` (project-local) or `~/.mia-code/skills/` (global)
22
+ - The agent invokes a skill by name, receiving its content as additional context
23
+ - Skills are prompt templates — they inject structured instructions, not executable code
24
+ - Skills are discoverable via `/skills` command listing all available skills
25
+ - Skills are composable — one skill can reference others for layered instructions
26
+
27
+ ## Desired Outcome Definition
28
+
29
+ A developer creates a markdown file in `.mia-code/skills/code-review.md` with a name, description, and review instructions. When the agent needs to perform a code review, it invokes the "code-review" skill and receives those instructions as context. The skill shapes the agent's behavior for that specific task without altering its general capabilities.
30
+
31
+ ## Natural Language Functional Description
32
+
33
+ ### Skill File Format
34
+
35
+ A skill is a markdown file with YAML frontmatter:
36
+
37
+ ```markdown
38
+ ---
39
+ name: code-review
40
+ description: Perform a thorough code review following team standards
41
+ ---
42
+
43
+ # Code Review Skill
44
+
45
+ When reviewing code, follow these steps:
46
+
47
+ ## 1. Security Check
48
+ - Look for SQL injection, XSS, and CSRF vulnerabilities
49
+ - Check that user input is validated and sanitized
50
+ - Verify authentication and authorization on all endpoints
51
+
52
+ ## 2. Logic Review
53
+ - Verify edge cases are handled (null, empty, overflow)
54
+ - Check error handling is comprehensive
55
+ - Ensure no infinite loops or unbounded recursion
56
+
57
+ ## 3. Style Compliance
58
+ - Verify naming conventions match the project
59
+ - Check for consistent formatting
60
+ - Ensure comments explain "why" not "what"
61
+
62
+ ## 4. Output Format
63
+ Provide your review as a list of findings:
64
+ - 🔴 Critical: must fix before merge
65
+ - 🟡 Warning: should fix, not blocking
66
+ - 🟢 Suggestion: optional improvement
67
+ ```
68
+
69
+ ### Frontmatter Fields
70
+
71
+ | Field | Required | Description |
72
+ |---------------|----------|------------------------------------------|
73
+ | `name` | Yes | Unique skill identifier (kebab-case) |
74
+ | `description` | Yes | One-line description shown in skill list |
75
+ | `tags` | No | Categorization tags for filtering |
76
+ | `author` | No | Skill author for attribution |
77
+ | `version` | No | Skill version for tracking changes |
78
+
79
+ ### Skill Storage Locations
80
+
81
+ - **Project skills**: `.mia-code/skills/` — available only in this project
82
+ - **Global skills**: `~/.mia-code/skills/` — available in all projects
83
+ - Project skills override global skills with the same name
84
+
85
+ ### Skill Invocation
86
+
87
+ The agent invokes a skill through the skill tool:
88
+
89
+ ```typescript
90
+ // Agent calls the skill tool
91
+ const skillContent = await tools.skill({ name: "code-review" })
92
+ // skillContent contains the full markdown body of the skill
93
+ // Agent uses this content as additional instructions for the current task
94
+ ```
95
+
96
+ The skill content is injected into the agent's context as a system-level instruction. The agent follows the skill's instructions while processing the current task.
97
+
98
+ ### Skill Listing
99
+
100
+ The `/skills` command lists all available skills:
101
+
102
+ ```
103
+ Available Skills:
104
+ code-review Perform a thorough code review following team standards [project]
105
+ commit-message Write commit messages in conventional format [project]
106
+ test-writer Generate unit tests with coverage targets [global]
107
+ refactor Refactor code following SOLID principles [global]
108
+ ```
109
+
110
+ ### Skill Composability
111
+
112
+ A skill can reference other skills in its instructions:
113
+
114
+ ```markdown
115
+ ---
116
+ name: pr-review
117
+ description: Complete PR review combining code review and test verification
118
+ ---
119
+
120
+ # PR Review
121
+
122
+ 1. First, invoke the `code-review` skill and apply it to all changed files
123
+ 2. Then, invoke the `test-writer` skill to verify test coverage for changes
124
+ 3. Finally, summarize findings in a PR comment format
125
+ ```
126
+
127
+ The agent interprets these references and invokes the referenced skills as needed.
128
+
129
+ ### Example Skills
130
+
131
+ **commit-message.md:**
132
+ ```markdown
133
+ ---
134
+ name: commit-message
135
+ description: Write commit messages in conventional format
136
+ ---
137
+ Format: <type>(<scope>): <description>
138
+ Types: feat, fix, docs, style, refactor, test, chore
139
+ Scope: optional, describes the area of change
140
+ Description: imperative mood, lowercase, no period
141
+ Body: explain what and why, not how
142
+ Footer: reference issues with "Closes #123"
143
+ ```
144
+
145
+ **test-writer.md:**
146
+ ```markdown
147
+ ---
148
+ name: test-writer
149
+ description: Generate unit tests following project patterns
150
+ ---
151
+ Use the existing test files as examples for style and structure.
152
+ Each test should: describe behavior, not implementation.
153
+ Coverage targets: branches > 80%, lines > 90%.
154
+ Use describe/it blocks with clear names.
155
+ Mock external dependencies, never mock the unit under test.
156
+ ```
157
+
158
+ ### Skills Are Not Code
159
+
160
+ Skills do not execute. They are text — structured instructions that guide the agent's behavior. This distinction matters:
161
+
162
+ - Skills cannot access the filesystem directly
163
+ - Skills cannot call APIs or run commands
164
+ - Skills cannot modify the agent's capabilities
165
+ - Skills only influence what the agent does through natural language guidance
166
+ - The agent interprets and follows skill instructions using its own judgment
167
+
168
+ ## Supporting Structures
169
+
170
+ - **Skill Discovery (RISE-095)** defines how skills are found across multiple locations
171
+ - **Agent Prompt Templates (RISE-012)** provides the template system skills extend
172
+ - **Agent Definition Config (RISE-010)** can reference default skills for an agent
173
+ - **Namespace Module Pattern (RISE-004)** organizes skill loading under a skills namespace
174
+
175
+ ## Creative Advancement Scenarios
176
+
177
+ **Scenario 1 — Team Review Standards:**
178
+ A tech lead creates `code-review.md` in the project's `.mia-code/skills/`. Every developer on the team gets consistent code reviews from the agent — same checklist, same severity levels, same output format. The skill encodes the team's review culture.
179
+
180
+ **Scenario 2 — Personal Workflow:**
181
+ A developer creates global skills for their personal habits: `commit-message.md` with their preferred format, `documentation.md` with their JSDoc style, `refactor.md` with their preferred patterns. These skills follow them across all projects.
182
+
183
+ **Scenario 3 — Onboarding Acceleration:**
184
+ A new team member clones the project and finds skills for every common task: code review, testing, deployment, documentation. The agent follows these skills and produces output that matches team standards from day one. The skills are living onboarding documents.
185
+
186
+ **Scenario 4 — Skill Sharing:**
187
+ A developer publishes their best skills as a GitHub repository. Other developers copy them into their global skills directory. The community builds a library of reusable agent instructions — crowd-sourced craft wisdom.
@@ -0,0 +1,182 @@
1
+ # RISE-095: Skill Discovery
2
+
3
+ > RISE Framework Specification — Borrowed from OpenCode for mia-code
4
+ > Document: rispecs/borrowed_from_opencode/095-skill-discovery.rispec.md
5
+
6
+ ## Creative Intent
7
+
8
+ mia-code automatically discovers and loads skills from multiple sources — project directories, global user directories, custom paths, and remote URLs. Discovery is the mechanism that makes skills composable across contexts. A developer drops a skill file into `.mia-code/skills/` and it is immediately available. A team publishes skills at a URL and every developer's agent fetches them. Discovery runs at startup and can be refreshed on demand, ensuring the agent always knows what skills are available without manual registration.
9
+
10
+ ## Structural Tension Analysis
11
+
12
+ **Current Reality:**
13
+ - mia-code has no skill system — there is nothing to discover
14
+ - Configuration is loaded from fixed locations (`.mia-code/config.json`, `~/.mia-code/config.json`)
15
+ - No mechanism exists to load content from remote URLs with caching
16
+ - No file-type validation ensures discovered files meet a required format
17
+ - No precedence rules govern conflicts between files with the same name from different sources
18
+
19
+ **Desired State:**
20
+ - Skills are discovered from five sources in a defined precedence order
21
+ - Project skills override global skills — local customization wins
22
+ - Remote skills are downloaded, cached, and refreshed on a configurable TTL
23
+ - Duplicate skill names trigger a warning with source attribution
24
+ - Skill format is validated: frontmatter must include `name` and `description`
25
+ - Discovery runs at startup and on-demand via `/skills refresh`
26
+ - The agent's system prompt includes the count of available skills
27
+
28
+ ## Desired Outcome Definition
29
+
30
+ When mia-code starts, it scans multiple directories and remote URLs for skill files. Valid skills are loaded into a registry keyed by name. The agent is informed of available skills and can invoke any of them by name. Discovery is fast, cached, and conflict-aware.
31
+
32
+ ## Natural Language Functional Description
33
+
34
+ ### Discovery Sources (Precedence Order)
35
+
36
+ Skills are discovered from five sources, listed from highest to lowest precedence:
37
+
38
+ | Priority | Source | Location |
39
+ |----------|------------------------------------|-------------------------------------|
40
+ | 1 | Project `.mia-code/skills/` | `{projectRoot}/.mia-code/skills/` |
41
+ | 2 | Project `.agents/skills/` | `{projectRoot}/.agents/skills/` |
42
+ | 3 | Global `~/.mia-code/skills/` | `~/.mia-code/skills/` |
43
+ | 4 | Custom paths from config | `{"skill": {"paths": ["./my-skills"]}}` |
44
+ | 5 | Remote URLs from config | `{"skill": {"urls": ["https://..."]}}` |
45
+
46
+ Source 2 (`.agents/skills/`) exists for compatibility with other tools that use the `.agents` convention.
47
+
48
+ ### Discovery Algorithm
49
+
50
+ 1. **Scan directories**: for each source (1-4), glob for `*.md` files in the directory
51
+ 2. **Fetch remote**: for each URL in source 5, download the markdown file
52
+ 3. **Parse frontmatter**: extract YAML frontmatter from each file
53
+ 4. **Validate format**: ensure `name` and `description` fields exist
54
+ 5. **Register skills**: add to registry keyed by `name`
55
+ 6. **Handle duplicates**: higher-precedence source wins; log warning for conflicts
56
+ 7. **Report**: log total skill count and any warnings
57
+
58
+ ### File Discovery Pattern
59
+
60
+ ```
61
+ .mia-code/skills/
62
+ ├── code-review.md → skill "code-review"
63
+ ├── commit-message.md → skill "commit-message"
64
+ ├── testing/
65
+ │ ├── unit-test.md → skill "unit-test"
66
+ │ └── e2e-test.md → skill "e2e-test"
67
+ └── README.md → skipped (no valid frontmatter)
68
+ ```
69
+
70
+ Subdirectories are scanned recursively. Files without valid YAML frontmatter containing `name` and `description` are silently skipped.
71
+
72
+ ### Remote Skills
73
+
74
+ Remote skills are fetched from URLs specified in configuration:
75
+
76
+ ```json
77
+ {
78
+ "skill": {
79
+ "urls": [
80
+ "https://raw.githubusercontent.com/team/skills/main/code-review.md",
81
+ "https://example.com/skills/testing.md"
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ **Caching**: remote skills are cached in `~/.mia-code/cache/skills/` after first download.
88
+
89
+ **TTL (Time-To-Live)**: cached skills are refreshed after 7 days by default. Configure:
90
+ ```json
91
+ {
92
+ "skill": {
93
+ "cacheTTL": 604800 // seconds (7 days)
94
+ }
95
+ }
96
+ ```
97
+
98
+ **Offline**: if a remote URL is unreachable, the cached version is used. If no cache exists, the skill is skipped with a warning.
99
+
100
+ **Security**: remote skills are markdown only — they cannot execute code. The agent interprets them as instructions, not as executable content.
101
+
102
+ ### Duplicate Handling
103
+
104
+ When multiple sources provide a skill with the same name:
105
+
106
+ 1. The highest-precedence source wins (project > global > custom > remote)
107
+ 2. A warning is logged: `Skill "code-review" from ~/.mia-code/skills/ overridden by .mia-code/skills/`
108
+ 3. The overridden skill is not loaded — only the winning source is registered
109
+ 4. `/skills` command shows the active source for each skill
110
+
111
+ ### Format Validation
112
+
113
+ A valid skill file must have:
114
+
115
+ 1. YAML frontmatter delimited by `---` markers
116
+ 2. A `name` field (string, kebab-case, 1-50 characters)
117
+ 3. A `description` field (string, 1-200 characters)
118
+ 4. A non-empty markdown body after the frontmatter
119
+
120
+ Invalid files are skipped with a warning:
121
+ ```
122
+ Warning: skills/bad-skill.md skipped — missing required "description" in frontmatter
123
+ ```
124
+
125
+ ### Refresh Mechanism
126
+
127
+ `/skills refresh` triggers a full re-discovery:
128
+
129
+ 1. Clear the current skill registry
130
+ 2. Re-scan all directory sources for new, changed, or removed files
131
+ 3. Re-fetch remote skills (ignoring cache TTL)
132
+ 4. Re-validate and re-register all skills
133
+ 5. Report changes: "2 skills added, 1 updated, 0 removed"
134
+
135
+ ### System Prompt Integration
136
+
137
+ After discovery, the agent's system prompt includes:
138
+
139
+ ```
140
+ You have X skills available. Use the skill tool to invoke them by name.
141
+ Available skills: code-review, commit-message, test-writer, ...
142
+ ```
143
+
144
+ This ensures the agent knows skills exist and can proactively use them when relevant.
145
+
146
+ ### Configuration
147
+
148
+ Full skill configuration:
149
+
150
+ ```json
151
+ {
152
+ "skill": {
153
+ "paths": ["./custom-skills", "../shared-skills"],
154
+ "urls": ["https://example.com/skills/review.md"],
155
+ "cacheTTL": 604800,
156
+ "enabled": true
157
+ }
158
+ }
159
+ ```
160
+
161
+ Setting `"enabled": false` disables skill discovery entirely.
162
+
163
+ ## Supporting Structures
164
+
165
+ - **Skill System (RISE-094)** defines what skills are and how they work
166
+ - **Agent Definition Config (RISE-010)** can specify default skills for an agent type
167
+ - **Structured Logging (RISE-007)** logs discovery events, warnings, and conflicts
168
+ - **Lazy Initialization (RISE-008)** defers skill loading until first access if startup time is critical
169
+
170
+ ## Creative Advancement Scenarios
171
+
172
+ **Scenario 1 — Drop-In Customization:**
173
+ A developer creates `.mia-code/skills/code-review.md` in their project. On the next `mia-code` start, the skill appears in `/skills`. The agent uses it automatically when asked to review code. No configuration needed — just drop the file and it works.
174
+
175
+ **Scenario 2 — Team Skill Repository:**
176
+ A team maintains a GitHub repo of shared skills. Each developer adds the raw URLs to their config. On startup, mia-code fetches and caches the skills. When the team updates a skill, everyone gets the new version within 7 days (or immediately via `/skills refresh`).
177
+
178
+ **Scenario 3 — Project-Specific Override:**
179
+ The global `code-review.md` skill has generic review criteria. A project adds its own `code-review.md` in `.mia-code/skills/` with project-specific rules. The project version wins by precedence. When the developer works on other projects, the global version applies.
180
+
181
+ **Scenario 4 — Skill Inventory Audit:**
182
+ A tech lead runs `/skills` across multiple projects to audit what skills are in use. They find inconsistencies — some projects have outdated review skills. They update the shared URL and run `/skills refresh` everywhere. Consistency restored in minutes.
@@ -0,0 +1,175 @@
1
+ # RISE-096: Desktop Remote Driving
2
+
3
+ > RISE Framework Specification — Borrowed from OpenCode for mia-code
4
+ > Document: rispecs/borrowed_from_opencode/096-desktop-remote-driving.rispec.md
5
+
6
+ ## Creative Intent
7
+
8
+ mia-code delivers a desktop application and remote driving capability that untethers the developer from the terminal. The desktop app wraps mia-code's web interface in a native window with system tray presence, global keyboard shortcuts, and OS integration. Remote driving separates where computation happens from where interaction happens — the agent runs on a powerful workstation while the developer drives from a phone, a tablet, or a lightweight laptop on a different network. Computation and interface become independent dimensions.
9
+
10
+ ## Structural Tension Analysis
11
+
12
+ **Current Reality:**
13
+ - mia-code runs only in a terminal — no native desktop presence, no system tray, no global shortcuts
14
+ - Interacting with mia-code requires an active terminal window in focus
15
+ - Using mia-code from a mobile device requires SSH and a terminal emulator
16
+ - The agent's computation is bound to the device running the interface
17
+ - No auto-update mechanism exists — users manually update via npm
18
+ - Terminal rendering limits the richness of the interface (no images, no rich formatting, no drag-and-drop)
19
+
20
+ **Desired State:**
21
+ - A desktop app provides a native window with system tray icon and global keyboard shortcuts
22
+ - The app wraps a web-based UI connected to the HTTP API server (RISE-088)
23
+ - Remote driving: the server runs on a workstation, clients connect from any device on any network
24
+ - mDNS (RISE-092) enables auto-discovery of local servers; URL/password for remote servers
25
+ - The desktop app auto-updates: checks on launch, downloads delta updates
26
+ - Native OS integration: file drag-and-drop, notifications, open-in-editor
27
+
28
+ ## Desired Outcome Definition
29
+
30
+ A developer installs the mia-code desktop app. It launches a native window with the mia-code web interface, a system tray icon for background access, and a global keyboard shortcut for instant activation. The app connects to a local or remote mia-code server, enabling the developer to drive an agent running on any machine from any client device.
31
+
32
+ ## Natural Language Functional Description
33
+
34
+ ### Desktop Application
35
+
36
+ **Framework**: Tauri (preferred for small binary size and Rust security) or Electron (if web technology integration demands it).
37
+
38
+ **Window Features:**
39
+ - Native window with title bar, minimize, maximize, close
40
+ - System tray icon with menu: Show/Hide, Active Sessions, Quit
41
+ - Global keyboard shortcut to toggle window visibility (configurable, default: `Cmd+Shift+M` / `Ctrl+Shift+M`)
42
+ - Window position and size remembered across launches
43
+ - Dark/light theme following OS preference
44
+ - Multiple windows for multiple sessions (optional)
45
+
46
+ **System Tray:**
47
+ - Tray icon shows agent status: idle (gray), thinking (animated), error (red)
48
+ - Right-click menu: Show Window, Active Sessions (submenu), Preferences, Quit
49
+ - Left-click: toggle window visibility
50
+ - Badge/notification dot when agent completes a task in the background
51
+
52
+ **Native Notifications:**
53
+ - Notify when agent completes a response (if window is not focused)
54
+ - Notify on permission requests requiring attention
55
+ - Notify on errors during agent execution
56
+ - Notification preferences configurable: all, errors-only, none
57
+
58
+ ### Web UI
59
+
60
+ The desktop app renders a web-based UI that communicates with the mia-code server:
61
+
62
+ - Built with a modern framework (React, Svelte, or Solid)
63
+ - Connects to the HTTP API (RISE-088) for operations
64
+ - Uses WebSocket (RISE-090) or SSE (RISE-091) for real-time streaming
65
+ - Renders markdown responses with syntax highlighting
66
+ - Shows tool executions in collapsible panels
67
+ - Displays permission prompts as modal dialogs
68
+ - File drag-and-drop: drop files onto the window to attach as context
69
+
70
+ ### Remote Driving
71
+
72
+ Remote driving separates the server (where the agent runs) from the client (where the developer interacts):
73
+
74
+ **Setup Flow:**
75
+ 1. Start the server on the workstation: `mia-code serve --host 0.0.0.0 --port 4096 --password secret`
76
+ 2. Note the workstation's IP or hostname
77
+ 3. From the client device: open the desktop app or web browser
78
+ 4. Connect: enter `http://workstation:4096` and the password
79
+ 5. Drive the agent from the client — all computation happens on the workstation
80
+
81
+ **Local Discovery:**
82
+ - On the same network, mDNS (RISE-092) auto-discovers the workstation
83
+ - The desktop app shows a "Connect" screen listing discovered instances
84
+ - One click connects to the local server
85
+
86
+ **Remote Access:**
87
+ - For different networks, use SSH tunnel: `ssh -L 4096:localhost:4096 workstation`
88
+ - Or use a reverse proxy (Cloudflare Tunnel, ngrok, tailscale) for public access
89
+ - The desktop app stores recent connections for quick reconnection
90
+
91
+ ### Device-Specific Features
92
+
93
+ **From Desktop (macOS/Windows/Linux):**
94
+ - Full keyboard input with shortcuts
95
+ - File drag-and-drop from Finder/Explorer
96
+ - "Open in Editor" button for files the agent references
97
+ - Copy code blocks to clipboard with one click
98
+
99
+ **From Mobile (phone/tablet via web browser):**
100
+ - Responsive web UI adapts to small screens
101
+ - Touch-friendly message input and permission buttons
102
+ - Swipe gestures for navigation (session list ↔ chat)
103
+ - Permission prompts as native-feeling bottom sheets
104
+
105
+ **From Terminal (fallback):**
106
+ - `mia-code connect --url http://workstation:4096 --password secret`
107
+ - Same TUI experience as local mia-code, but driving a remote server
108
+
109
+ ### Auto-Updates
110
+
111
+ The desktop app checks for updates on launch:
112
+
113
+ 1. Query update server for latest version
114
+ 2. Compare with current version
115
+ 3. If update available, download delta update in background
116
+ 4. Prompt user to restart to apply (or auto-apply on next launch)
117
+ 5. Update mechanism: Tauri's built-in updater or Electron's autoUpdater
118
+
119
+ ### Desktop Configuration
120
+
121
+ Desktop-specific config (separate from CLI config):
122
+
123
+ ```json
124
+ {
125
+ "desktop": {
126
+ "globalShortcut": "CommandOrControl+Shift+M",
127
+ "startMinimized": false,
128
+ "showInTray": true,
129
+ "notifications": "all",
130
+ "theme": "system",
131
+ "window": {
132
+ "width": 1200,
133
+ "height": 800,
134
+ "x": 100,
135
+ "y": 100
136
+ },
137
+ "recentConnections": [
138
+ {"url": "http://workstation:4096", "name": "Work Desktop"}
139
+ ]
140
+ }
141
+ }
142
+ ```
143
+
144
+ ### Session Continuity
145
+
146
+ Remote driving enables seamless session continuity across devices:
147
+
148
+ 1. Start a session on the workstation terminal
149
+ 2. Switch to the desktop app — same session, same history
150
+ 3. Walk away and connect from phone — continue the conversation
151
+ 4. Return to the workstation — the session is still there
152
+ 5. The server is the source of truth; clients are interchangeable views
153
+
154
+ ## Supporting Structures
155
+
156
+ - **HTTP API Server (RISE-088)** provides the API the desktop app connects to
157
+ - **WebSocket Support (RISE-090)** provides real-time streaming to the app
158
+ - **SSE Streaming (RISE-091)** provides an alternative streaming transport
159
+ - **mDNS Discovery (RISE-092)** enables auto-discovery of local servers
160
+ - **JavaScript SDK (RISE-093)** powers the web UI's API communication
161
+ - **Client-Server Architecture (RISE-001)** defines the separation this feature realizes
162
+
163
+ ## Creative Advancement Scenarios
164
+
165
+ **Scenario 1 — Couch-Driven Development:**
166
+ A developer starts `mia-code serve` on their workstation with 64GB RAM and a fast GPU. They move to the couch, open the mobile web UI on their phone, and continue their refactoring session. The agent runs with full workstation power while the developer types on a phone keyboard.
167
+
168
+ **Scenario 2 — Notification-Driven Workflow:**
169
+ A developer sends a long-running prompt (refactor an entire module) and minimizes the desktop app. Five minutes later, a native notification appears: "Refactoring complete — 12 files modified." They click the notification, review the changes, and approve. The agent worked in the background while they did other things.
170
+
171
+ **Scenario 3 — Multi-Device Session:**
172
+ Morning: the developer starts a session on their workstation terminal. Commute: they connect from their phone and continue the conversation on the train. Office: they open the desktop app on their work laptop and pick up where they left off. The session follows the developer, not the device.
173
+
174
+ **Scenario 4 — Team Demo:**
175
+ A developer presents a live demo of mia-code. They share their screen showing the desktop app. They type a prompt and the team watches the agent stream its response, execute tools, and produce code — all rendered in a rich web UI that is more presentable than a terminal. The demo sells the tool to the entire team.