@coralai/sps-cli 0.55.13 → 0.56.1

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 (437) hide show
  1. package/dist/commands/cardMarkComplete.d.ts.map +1 -1
  2. package/dist/commands/cardMarkComplete.js +6 -3
  3. package/dist/commands/cardMarkComplete.js.map +1 -1
  4. package/dist/commands/projectInit.d.ts +18 -16
  5. package/dist/commands/projectInit.d.ts.map +1 -1
  6. package/dist/commands/projectInit.js +59 -186
  7. package/dist/commands/projectInit.js.map +1 -1
  8. package/dist/commands/skillCommand.js +7 -4
  9. package/dist/commands/skillCommand.js.map +1 -1
  10. package/dist/commands/tick.d.ts +2 -20
  11. package/dist/commands/tick.d.ts.map +1 -1
  12. package/dist/commands/tick.js +58 -1
  13. package/dist/commands/tick.js.map +1 -1
  14. package/dist/console/index.d.ts.map +1 -1
  15. package/dist/console/index.js +4 -0
  16. package/dist/console/index.js.map +1 -1
  17. package/dist/console/routes/chat.d.ts.map +1 -1
  18. package/dist/console/routes/chat.js +211 -6
  19. package/dist/console/routes/chat.js.map +1 -1
  20. package/dist/console/routes/projects.d.ts +0 -6
  21. package/dist/console/routes/projects.d.ts.map +1 -1
  22. package/dist/console/routes/projects.js +11 -2
  23. package/dist/console/routes/projects.js.map +1 -1
  24. package/dist/console/routes/providers.d.ts +10 -0
  25. package/dist/console/routes/providers.d.ts.map +1 -0
  26. package/dist/console/routes/providers.js +63 -0
  27. package/dist/console/routes/providers.js.map +1 -0
  28. package/dist/console/routes/smartarrange.d.ts +4 -0
  29. package/dist/console/routes/smartarrange.d.ts.map +1 -0
  30. package/dist/console/routes/smartarrange.js +107 -0
  31. package/dist/console/routes/smartarrange.js.map +1 -0
  32. package/dist/console/routes/system.d.ts.map +1 -1
  33. package/dist/console/routes/system.js +28 -0
  34. package/dist/console/routes/system.js.map +1 -1
  35. package/dist/console/routes/workers.d.ts.map +1 -1
  36. package/dist/console/routes/workers.js +36 -4
  37. package/dist/console/routes/workers.js.map +1 -1
  38. package/dist/console-assets/assets/index-CWkYVI5d.js +600 -0
  39. package/dist/console-assets/assets/index-CnUBHNsN.css +10 -0
  40. package/dist/console-assets/index.html +2 -2
  41. package/dist/core/agents/AcpBackend.d.ts +24 -0
  42. package/dist/core/agents/AcpBackend.d.ts.map +1 -0
  43. package/dist/core/agents/AcpBackend.js +86 -0
  44. package/dist/core/agents/AcpBackend.js.map +1 -0
  45. package/dist/core/agents/AgentBackend.d.ts +53 -0
  46. package/dist/core/agents/AgentBackend.d.ts.map +1 -0
  47. package/dist/core/agents/AgentBackend.js +18 -0
  48. package/dist/core/agents/AgentBackend.js.map +1 -0
  49. package/dist/core/agents/ClaudeAcpBackend.d.ts +13 -0
  50. package/dist/core/agents/ClaudeAcpBackend.d.ts.map +1 -0
  51. package/dist/core/agents/ClaudeAcpBackend.js +14 -0
  52. package/dist/core/agents/ClaudeAcpBackend.js.map +1 -0
  53. package/dist/core/agents/ClaudeSdkBackend.d.ts +26 -0
  54. package/dist/core/agents/ClaudeSdkBackend.d.ts.map +1 -0
  55. package/dist/core/agents/ClaudeSdkBackend.js +102 -0
  56. package/dist/core/agents/ClaudeSdkBackend.js.map +1 -0
  57. package/dist/core/agents/CodexAppServerBackend.d.ts +33 -0
  58. package/dist/core/agents/CodexAppServerBackend.d.ts.map +1 -0
  59. package/dist/core/agents/CodexAppServerBackend.js +168 -0
  60. package/dist/core/agents/CodexAppServerBackend.js.map +1 -0
  61. package/dist/core/agents/OpenAiAgentBackend.d.ts +39 -0
  62. package/dist/core/agents/OpenAiAgentBackend.d.ts.map +1 -0
  63. package/dist/core/agents/OpenAiAgentBackend.js +132 -0
  64. package/dist/core/agents/OpenAiAgentBackend.js.map +1 -0
  65. package/dist/core/agents/agentsMd.d.ts +2 -0
  66. package/dist/core/agents/agentsMd.d.ts.map +1 -0
  67. package/dist/core/agents/agentsMd.js +22 -0
  68. package/dist/core/agents/agentsMd.js.map +1 -0
  69. package/dist/core/agents/localTracing.d.ts +3 -0
  70. package/dist/core/agents/localTracing.d.ts.map +1 -0
  71. package/dist/core/agents/localTracing.js +42 -0
  72. package/dist/core/agents/localTracing.js.map +1 -0
  73. package/dist/core/agents/resolveBackend.d.ts +26 -0
  74. package/dist/core/agents/resolveBackend.d.ts.map +1 -0
  75. package/dist/core/agents/resolveBackend.js +27 -0
  76. package/dist/core/agents/resolveBackend.js.map +1 -0
  77. package/dist/core/agents/workerOutputSink.d.ts +4 -0
  78. package/dist/core/agents/workerOutputSink.d.ts.map +1 -0
  79. package/dist/core/agents/workerOutputSink.js +39 -0
  80. package/dist/core/agents/workerOutputSink.js.map +1 -0
  81. package/dist/core/config.d.ts +6 -0
  82. package/dist/core/config.d.ts.map +1 -1
  83. package/dist/core/config.js +4 -0
  84. package/dist/core/config.js.map +1 -1
  85. package/dist/core/intel/RuntimeSession.d.ts +16 -0
  86. package/dist/core/intel/RuntimeSession.d.ts.map +1 -0
  87. package/dist/core/intel/RuntimeSession.js +89 -0
  88. package/dist/core/intel/RuntimeSession.js.map +1 -0
  89. package/dist/core/intel/agentsConfig.d.ts +20 -0
  90. package/dist/core/intel/agentsConfig.d.ts.map +1 -0
  91. package/dist/core/intel/agentsConfig.js +68 -0
  92. package/dist/core/intel/agentsConfig.js.map +1 -0
  93. package/dist/core/intel/planStore.d.ts +23 -0
  94. package/dist/core/intel/planStore.d.ts.map +1 -0
  95. package/dist/core/intel/planStore.js +67 -0
  96. package/dist/core/intel/planStore.js.map +1 -0
  97. package/dist/core/intel/types.d.ts +86 -0
  98. package/dist/core/intel/types.d.ts.map +1 -0
  99. package/dist/core/intel/types.js +8 -0
  100. package/dist/core/intel/types.js.map +1 -0
  101. package/dist/core/memoryIngest.d.ts +18 -0
  102. package/dist/core/memoryIngest.d.ts.map +1 -0
  103. package/dist/core/memoryIngest.js +56 -0
  104. package/dist/core/memoryIngest.js.map +1 -0
  105. package/dist/core/memoryProvider.d.ts +63 -0
  106. package/dist/core/memoryProvider.d.ts.map +1 -0
  107. package/dist/core/memoryProvider.js +205 -0
  108. package/dist/core/memoryProvider.js.map +1 -0
  109. package/dist/core/skillStore.d.ts.map +1 -1
  110. package/dist/core/skillStore.js +2 -1
  111. package/dist/core/skillStore.js.map +1 -1
  112. package/dist/core/skills/SkillsManager.d.ts +38 -0
  113. package/dist/core/skills/SkillsManager.d.ts.map +1 -0
  114. package/dist/core/skills/SkillsManager.js +231 -0
  115. package/dist/core/skills/SkillsManager.js.map +1 -0
  116. package/dist/core/skills/distribution.d.ts +64 -0
  117. package/dist/core/skills/distribution.d.ts.map +1 -0
  118. package/dist/core/skills/distribution.js +269 -0
  119. package/dist/core/skills/distribution.js.map +1 -0
  120. package/dist/core/skills/index.d.ts +13 -0
  121. package/dist/core/skills/index.d.ts.map +1 -0
  122. package/dist/core/skills/index.js +13 -0
  123. package/dist/core/skills/index.js.map +1 -0
  124. package/dist/core/skills/types.d.ts +44 -0
  125. package/dist/core/skills/types.d.ts.map +1 -0
  126. package/dist/core/skills/types.js +9 -0
  127. package/dist/core/skills/types.js.map +1 -0
  128. package/dist/core/taskPrompts.d.ts +0 -12
  129. package/dist/core/taskPrompts.d.ts.map +1 -1
  130. package/dist/core/taskPrompts.js +0 -14
  131. package/dist/core/taskPrompts.js.map +1 -1
  132. package/dist/core/transcriptIngest.d.ts +37 -0
  133. package/dist/core/transcriptIngest.d.ts.map +1 -0
  134. package/dist/core/transcriptIngest.js +137 -0
  135. package/dist/core/transcriptIngest.js.map +1 -0
  136. package/dist/core/wiki/types.d.ts +282 -745
  137. package/dist/core/wiki/types.d.ts.map +1 -1
  138. package/dist/core/wiki/types.js +1 -1
  139. package/dist/core/wiki/types.js.map +1 -1
  140. package/dist/daemon/daemonClient.d.ts +6 -0
  141. package/dist/daemon/daemonClient.d.ts.map +1 -1
  142. package/dist/daemon/daemonClient.js.map +1 -1
  143. package/dist/daemon/sessionDaemon.d.ts.map +1 -1
  144. package/dist/daemon/sessionDaemon.js.map +1 -1
  145. package/dist/engines/SmartArrangeEngine.d.ts +75 -0
  146. package/dist/engines/SmartArrangeEngine.d.ts.map +1 -0
  147. package/dist/engines/SmartArrangeEngine.js +112 -0
  148. package/dist/engines/SmartArrangeEngine.js.map +1 -0
  149. package/dist/engines/StageEngine.d.ts +3 -17
  150. package/dist/engines/StageEngine.d.ts.map +1 -1
  151. package/dist/engines/StageEngine.js +13 -91
  152. package/dist/engines/StageEngine.js.map +1 -1
  153. package/dist/engines/smartarrange/AcpWorkerExec.d.ts +35 -0
  154. package/dist/engines/smartarrange/AcpWorkerExec.d.ts.map +1 -0
  155. package/dist/engines/smartarrange/AcpWorkerExec.js +71 -0
  156. package/dist/engines/smartarrange/AcpWorkerExec.js.map +1 -0
  157. package/dist/engines/smartarrange/cardSink.d.ts +29 -0
  158. package/dist/engines/smartarrange/cardSink.d.ts.map +1 -0
  159. package/dist/engines/smartarrange/cardSink.js +43 -0
  160. package/dist/engines/smartarrange/cardSink.js.map +1 -0
  161. package/dist/engines/smartarrange/runner.d.ts +24 -0
  162. package/dist/engines/smartarrange/runner.d.ts.map +1 -0
  163. package/dist/engines/smartarrange/runner.js +116 -0
  164. package/dist/engines/smartarrange/runner.js.map +1 -0
  165. package/dist/engines/smartarrange/screenshot.d.ts +5 -0
  166. package/dist/engines/smartarrange/screenshot.d.ts.map +1 -0
  167. package/dist/engines/smartarrange/screenshot.js +117 -0
  168. package/dist/engines/smartarrange/screenshot.js.map +1 -0
  169. package/dist/main.js +127 -92
  170. package/dist/main.js.map +1 -1
  171. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  172. package/dist/manager/worker-manager-impl.js +7 -0
  173. package/dist/manager/worker-manager-impl.js.map +1 -1
  174. package/dist/providers/ACPWorkerRuntime.d.ts +2 -0
  175. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  176. package/dist/providers/ACPWorkerRuntime.js +1 -0
  177. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  178. package/dist/providers/LLMClient.d.ts +32 -0
  179. package/dist/providers/LLMClient.d.ts.map +1 -0
  180. package/dist/providers/LLMClient.js +108 -0
  181. package/dist/providers/LLMClient.js.map +1 -0
  182. package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
  183. package/dist/providers/MarkdownTaskBackend.js +3 -2
  184. package/dist/providers/MarkdownTaskBackend.js.map +1 -1
  185. package/dist/providers/llm/chatTools.d.ts +11 -0
  186. package/dist/providers/llm/chatTools.d.ts.map +1 -0
  187. package/dist/providers/llm/chatTools.js +57 -0
  188. package/dist/providers/llm/chatTools.js.map +1 -0
  189. package/dist/providers/llm/codexAuth.d.ts +8 -0
  190. package/dist/providers/llm/codexAuth.d.ts.map +1 -0
  191. package/dist/providers/llm/codexAuth.js +57 -0
  192. package/dist/providers/llm/codexAuth.js.map +1 -0
  193. package/dist/providers/llm/codexModel.d.ts +14 -0
  194. package/dist/providers/llm/codexModel.d.ts.map +1 -0
  195. package/dist/providers/llm/codexModel.js +96 -0
  196. package/dist/providers/llm/codexModel.js.map +1 -0
  197. package/dist/providers/llm/localSubscription.d.ts +15 -0
  198. package/dist/providers/llm/localSubscription.d.ts.map +1 -0
  199. package/dist/providers/llm/localSubscription.js +66 -0
  200. package/dist/providers/llm/localSubscription.js.map +1 -0
  201. package/dist/providers/llm/modelFactory.d.ts +14 -0
  202. package/dist/providers/llm/modelFactory.d.ts.map +1 -0
  203. package/dist/providers/llm/modelFactory.js +22 -0
  204. package/dist/providers/llm/modelFactory.js.map +1 -0
  205. package/dist/providers/llm/monitorSkills.d.ts +6 -0
  206. package/dist/providers/llm/monitorSkills.d.ts.map +1 -0
  207. package/dist/providers/llm/monitorSkills.js +37 -0
  208. package/dist/providers/llm/monitorSkills.js.map +1 -0
  209. package/dist/providers/llm/probeTools.d.ts +7 -0
  210. package/dist/providers/llm/probeTools.d.ts.map +1 -0
  211. package/dist/providers/llm/probeTools.js +84 -0
  212. package/dist/providers/llm/probeTools.js.map +1 -0
  213. package/dist/providers/llm/providers.d.ts +26 -0
  214. package/dist/providers/llm/providers.d.ts.map +1 -0
  215. package/dist/providers/llm/providers.js +68 -0
  216. package/dist/providers/llm/providers.js.map +1 -0
  217. package/dist/providers/llm/skillTools.d.ts +4 -0
  218. package/dist/providers/llm/skillTools.d.ts.map +1 -0
  219. package/dist/providers/llm/skillTools.js +42 -0
  220. package/dist/providers/llm/skillTools.js.map +1 -0
  221. package/dist/providers/llm/workerTools.d.ts +9 -0
  222. package/dist/providers/llm/workerTools.d.ts.map +1 -0
  223. package/dist/providers/llm/workerTools.js +111 -0
  224. package/dist/providers/llm/workerTools.js.map +1 -0
  225. package/dist/providers/mcp/spsMcpServer.d.ts +15 -0
  226. package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -0
  227. package/dist/providers/mcp/spsMcpServer.js +67 -0
  228. package/dist/providers/mcp/spsMcpServer.js.map +1 -0
  229. package/dist/providers/mcp/spsMcpStdio.d.ts +2 -0
  230. package/dist/providers/mcp/spsMcpStdio.d.ts.map +1 -0
  231. package/dist/providers/mcp/spsMcpStdio.js +32 -0
  232. package/dist/providers/mcp/spsMcpStdio.js.map +1 -0
  233. package/dist/providers/mcp/spsMcpStdioConfig.d.ts +11 -0
  234. package/dist/providers/mcp/spsMcpStdioConfig.d.ts.map +1 -0
  235. package/dist/providers/mcp/spsMcpStdioConfig.js +19 -0
  236. package/dist/providers/mcp/spsMcpStdioConfig.js.map +1 -0
  237. package/dist/server.d.ts +23 -0
  238. package/dist/server.d.ts.map +1 -1
  239. package/dist/server.js +23 -0
  240. package/dist/server.js.map +1 -1
  241. package/dist/services/ChatService.d.ts +10 -0
  242. package/dist/services/ChatService.d.ts.map +1 -1
  243. package/dist/services/ChatService.js +2 -0
  244. package/dist/services/ChatService.js.map +1 -1
  245. package/dist/services/LogService.d.ts +1 -1
  246. package/dist/services/LogService.d.ts.map +1 -1
  247. package/dist/services/LogService.js +3 -2
  248. package/dist/services/LogService.js.map +1 -1
  249. package/dist/services/ProjectService.d.ts +12 -2
  250. package/dist/services/ProjectService.d.ts.map +1 -1
  251. package/dist/services/ProjectService.js +1 -0
  252. package/dist/services/ProjectService.js.map +1 -1
  253. package/dist/services/SkillService.js +11 -13
  254. package/dist/services/SkillService.js.map +1 -1
  255. package/dist/services/SmartArrangeService.d.ts +12 -0
  256. package/dist/services/SmartArrangeService.d.ts.map +1 -0
  257. package/dist/services/SmartArrangeService.js +37 -0
  258. package/dist/services/SmartArrangeService.js.map +1 -0
  259. package/dist/services/SystemService.d.ts +20 -0
  260. package/dist/services/SystemService.d.ts.map +1 -1
  261. package/dist/services/SystemService.js +93 -0
  262. package/dist/services/SystemService.js.map +1 -1
  263. package/dist/services/WorkerService.d.ts +8 -0
  264. package/dist/services/WorkerService.d.ts.map +1 -1
  265. package/dist/services/WorkerService.js +73 -3
  266. package/dist/services/WorkerService.js.map +1 -1
  267. package/dist/services/container.d.ts +2 -0
  268. package/dist/services/container.d.ts.map +1 -1
  269. package/dist/services/container.js +2 -0
  270. package/dist/services/container.js.map +1 -1
  271. package/dist/shared/localTime.d.ts +8 -0
  272. package/dist/shared/localTime.d.ts.map +1 -0
  273. package/dist/shared/localTime.js +11 -0
  274. package/dist/shared/localTime.js.map +1 -0
  275. package/dist/shared/runtimePaths.d.ts +1 -1
  276. package/dist/shared/runtimePaths.d.ts.map +1 -1
  277. package/dist/shared/runtimePaths.js +2 -2
  278. package/dist/shared/runtimePaths.js.map +1 -1
  279. package/dist/shared/runtimeSchemas.d.ts +74 -245
  280. package/dist/shared/runtimeSchemas.d.ts.map +1 -1
  281. package/dist/shared/runtimeSchemas.js +2 -2
  282. package/dist/shared/runtimeSchemas.js.map +1 -1
  283. package/monitor-skills/probe-playbook/SKILL.md +32 -0
  284. package/monitor-skills/visual-rubric/SKILL.md +34 -0
  285. package/package.json +8 -8
  286. package/project-template/.claude/hooks/stop.sh +3 -1
  287. package/dist/console-assets/assets/index-BvWWj69G.js +0 -557
  288. package/dist/console-assets/assets/index-Eo4PuNPl.css +0 -10
  289. package/dist/interfaces/ACPClient.d.ts +0 -107
  290. package/dist/interfaces/ACPClient.d.ts.map +0 -1
  291. package/dist/interfaces/ACPClient.js +0 -17
  292. package/dist/interfaces/ACPClient.js.map +0 -1
  293. package/dist/interfaces/AgentRuntime.d.ts +0 -40
  294. package/dist/interfaces/AgentRuntime.d.ts.map +0 -1
  295. package/dist/interfaces/AgentRuntime.js +0 -17
  296. package/dist/interfaces/AgentRuntime.js.map +0 -1
  297. package/dist/manager/agentmemory.d.ts +0 -6
  298. package/dist/manager/agentmemory.d.ts.map +0 -1
  299. package/dist/manager/agentmemory.js +0 -73
  300. package/dist/manager/agentmemory.js.map +0 -1
  301. package/dist/models/acp.d.ts +0 -64
  302. package/dist/models/acp.d.ts.map +0 -1
  303. package/dist/models/acp.js +0 -17
  304. package/dist/models/acp.js.map +0 -1
  305. package/dist/providers/LocalACPClient.d.ts +0 -27
  306. package/dist/providers/LocalACPClient.d.ts.map +0 -1
  307. package/dist/providers/LocalACPClient.js +0 -26
  308. package/dist/providers/LocalACPClient.js.map +0 -1
  309. package/dist/providers/adapters/AcpSdkAdapter.d.ts +0 -24
  310. package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +0 -1
  311. package/dist/providers/adapters/AcpSdkAdapter.js +0 -439
  312. package/dist/providers/adapters/AcpSdkAdapter.js.map +0 -1
  313. package/dist/providers/adapters/acp-fs-handlers.d.ts +0 -26
  314. package/dist/providers/adapters/acp-fs-handlers.d.ts.map +0 -1
  315. package/dist/providers/adapters/acp-fs-handlers.js +0 -61
  316. package/dist/providers/adapters/acp-fs-handlers.js.map +0 -1
  317. package/dist/providers/adapters/acp-permissions.d.ts +0 -42
  318. package/dist/providers/adapters/acp-permissions.d.ts.map +0 -1
  319. package/dist/providers/adapters/acp-permissions.js +0 -76
  320. package/dist/providers/adapters/acp-permissions.js.map +0 -1
  321. package/dist/providers/adapters/acp-session-accumulator.d.ts +0 -55
  322. package/dist/providers/adapters/acp-session-accumulator.d.ts.map +0 -1
  323. package/dist/providers/adapters/acp-session-accumulator.js +0 -133
  324. package/dist/providers/adapters/acp-session-accumulator.js.map +0 -1
  325. package/dist/providers/adapters/acp-terminal-manager.d.ts +0 -56
  326. package/dist/providers/adapters/acp-terminal-manager.d.ts.map +0 -1
  327. package/dist/providers/adapters/acp-terminal-manager.js +0 -127
  328. package/dist/providers/adapters/acp-terminal-manager.js.map +0 -1
  329. package/project-template/logs/.gitkeep +0 -0
  330. package/skills/architecture-decision-records/SKILL.md +0 -207
  331. package/skills/backend/SKILL.md +0 -62
  332. package/skills/backend/references/api-design.md +0 -168
  333. package/skills/backend/references/caching.md +0 -181
  334. package/skills/backend/references/data-access.md +0 -173
  335. package/skills/backend/references/layering.md +0 -181
  336. package/skills/backend/references/observability.md +0 -190
  337. package/skills/backend/references/resilience.md +0 -201
  338. package/skills/backend/references/security.md +0 -186
  339. package/skills/backend-architect/SKILL.md +0 -119
  340. package/skills/code-reviewer/SKILL.md +0 -143
  341. package/skills/coding-standards/SKILL.md +0 -60
  342. package/skills/coding-standards/references/clean-code.md +0 -258
  343. package/skills/coding-standards/references/code-review.md +0 -192
  344. package/skills/coding-standards/references/commits-and-prs.md +0 -226
  345. package/skills/coding-standards/references/error-strategy.md +0 -193
  346. package/skills/coding-standards/references/naming.md +0 -185
  347. package/skills/coding-standards/references/tdd.md +0 -171
  348. package/skills/database/SKILL.md +0 -53
  349. package/skills/database/references/indexing.md +0 -190
  350. package/skills/database/references/migrations.md +0 -199
  351. package/skills/database/references/nosql.md +0 -185
  352. package/skills/database/references/queries.md +0 -295
  353. package/skills/database/references/scaling.md +0 -203
  354. package/skills/database/references/schema.md +0 -191
  355. package/skills/database-optimizer/SKILL.md +0 -168
  356. package/skills/debugging-workflow/SKILL.md +0 -244
  357. package/skills/dev-worker/SKILL.md +0 -40
  358. package/skills/dev-worker/references/architect.md +0 -139
  359. package/skills/dev-worker/references/backend.md +0 -163
  360. package/skills/dev-worker/references/frontend.md +0 -122
  361. package/skills/dev-worker/references/fullstack.md +0 -179
  362. package/skills/dev-worker/references/optimizer.md +0 -151
  363. package/skills/dev-worker/references/phaser.md +0 -109
  364. package/skills/dev-worker/references/prototyper.md +0 -171
  365. package/skills/dev-worker/references/reviewer.md +0 -122
  366. package/skills/dev-worker/references/security.md +0 -154
  367. package/skills/dev-worker/references/senior.md +0 -155
  368. package/skills/dev-worker/references/typescript.md +0 -65
  369. package/skills/dev-worker/references/writer.md +0 -201
  370. package/skills/devops/SKILL.md +0 -55
  371. package/skills/devops/references/ci-cd.md +0 -204
  372. package/skills/devops/references/containers.md +0 -272
  373. package/skills/devops/references/deploy.md +0 -201
  374. package/skills/devops/references/iac.md +0 -252
  375. package/skills/devops/references/observability.md +0 -228
  376. package/skills/devops/references/secrets.md +0 -178
  377. package/skills/devops-automator/SKILL.md +0 -164
  378. package/skills/frontend/SKILL.md +0 -52
  379. package/skills/frontend/references/accessibility.md +0 -222
  380. package/skills/frontend/references/components.md +0 -206
  381. package/skills/frontend/references/performance.md +0 -219
  382. package/skills/frontend/references/routing.md +0 -209
  383. package/skills/frontend/references/state.md +0 -190
  384. package/skills/frontend/references/testing.md +0 -216
  385. package/skills/frontend-developer/SKILL.md +0 -115
  386. package/skills/git-workflow/SKILL.md +0 -355
  387. package/skills/golang/SKILL.md +0 -49
  388. package/skills/golang/references/concurrency.md +0 -284
  389. package/skills/golang/references/errors.md +0 -241
  390. package/skills/golang/references/idioms.md +0 -285
  391. package/skills/golang/references/testing.md +0 -238
  392. package/skills/java/SKILL.md +0 -50
  393. package/skills/java/references/concurrency.md +0 -194
  394. package/skills/java/references/idioms.md +0 -283
  395. package/skills/java/references/testing.md +0 -228
  396. package/skills/kotlin/SKILL.md +0 -47
  397. package/skills/kotlin/references/coroutines.md +0 -240
  398. package/skills/kotlin/references/idioms.md +0 -268
  399. package/skills/kotlin/references/testing.md +0 -219
  400. package/skills/mobile/SKILL.md +0 -50
  401. package/skills/mobile/references/architecture.md +0 -204
  402. package/skills/mobile/references/navigation.md +0 -158
  403. package/skills/mobile/references/performance.md +0 -152
  404. package/skills/mobile/references/platform.md +0 -166
  405. package/skills/mobile/references/state-and-data.md +0 -174
  406. package/skills/python/SKILL.md +0 -51
  407. package/skills/python/THIRD_PARTY.md +0 -14
  408. package/skills/python/references/async.md +0 -218
  409. package/skills/python/references/error-handling.md +0 -254
  410. package/skills/python/references/idioms.md +0 -279
  411. package/skills/python/references/packaging.md +0 -233
  412. package/skills/python/references/testing.md +0 -269
  413. package/skills/python/references/typing.md +0 -292
  414. package/skills/qa-tester/SKILL.md +0 -186
  415. package/skills/rust/SKILL.md +0 -50
  416. package/skills/rust/references/async.md +0 -224
  417. package/skills/rust/references/errors.md +0 -240
  418. package/skills/rust/references/ownership.md +0 -263
  419. package/skills/rust/references/testing.md +0 -274
  420. package/skills/rust/references/traits.md +0 -250
  421. package/skills/security-engineer/SKILL.md +0 -157
  422. package/skills/sps-memory/SKILL.md +0 -213
  423. package/skills/sps-pipeline/SKILL.md +0 -476
  424. package/skills/swift/SKILL.md +0 -48
  425. package/skills/swift/references/concurrency.md +0 -280
  426. package/skills/swift/references/idioms.md +0 -334
  427. package/skills/swift/references/testing.md +0 -229
  428. package/skills/tax-worker/SKILL.md +0 -150
  429. package/skills/tax-worker/references/account-codes.md +0 -165
  430. package/skills/typescript/SKILL.md +0 -51
  431. package/skills/typescript/references/async.md +0 -241
  432. package/skills/typescript/references/errors.md +0 -208
  433. package/skills/typescript/references/idioms.md +0 -246
  434. package/skills/typescript/references/testing.md +0 -225
  435. package/skills/typescript/references/tooling.md +0 -208
  436. package/skills/typescript/references/types.md +0 -259
  437. package/skills/wiki-update/SKILL.md +0 -300
@@ -1,272 +0,0 @@
1
- # Containers
2
-
3
- Dockerfile, multi-stage, size, rootless, base images.
4
-
5
- ## The goals
6
-
7
- 1. **Small** — ship less bytes, fewer CVEs, faster pulls.
8
- 2. **Reproducible** — same Dockerfile + same lockfile → same image.
9
- 3. **Secure** — no root, no shell if possible, minimal deps, signed.
10
- 4. **Fast to build** — layer caching aligned with change frequency.
11
-
12
- ## Base image selection
13
-
14
- ```
15
- Prefer: distroless > alpine > slim > full distro
16
- ```
17
-
18
- | Base | Size | Trade-off |
19
- |---|---|---|
20
- | `gcr.io/distroless/static` | ~2 MB | No shell, no package manager. Static binaries only. |
21
- | `gcr.io/distroless/base` | ~15 MB | libc, openssl, etc. Good for most compiled langs. |
22
- | `alpine:3.20` | ~5 MB | musl libc (incompat with some packages); apk package manager |
23
- | `debian:12-slim` | ~75 MB | glibc; widest compatibility; still small |
24
- | `debian:12` / `ubuntu:24.04` | 120–200 MB | Full distro; use only when you need dev tools at runtime |
25
-
26
- Choose the smallest one that runs your workload. Distroless is ideal for production runtime.
27
-
28
- ## Multi-stage builds
29
-
30
- Separate build env from runtime env.
31
-
32
- ```dockerfile
33
- # syntax=docker/dockerfile:1
34
-
35
- # --- Build stage
36
- FROM node:20-alpine AS build
37
- WORKDIR /app
38
-
39
- # Cache deps separately from source
40
- COPY package.json package-lock.json ./
41
- RUN npm ci
42
-
43
- COPY . .
44
- RUN npm run build
45
-
46
- # Prune dev deps after build
47
- RUN npm prune --omit=dev
48
-
49
- # --- Runtime stage
50
- FROM gcr.io/distroless/nodejs20-debian12
51
- WORKDIR /app
52
- COPY --from=build /app/node_modules ./node_modules
53
- COPY --from=build /app/dist ./dist
54
- COPY --from=build /app/package.json ./
55
- USER nonroot
56
- EXPOSE 3000
57
- CMD ["dist/server.js"]
58
- ```
59
-
60
- Benefits:
61
- - Build tools don't ship to prod.
62
- - Different base OS for build vs runtime (Alpine to build, distroless to run).
63
- - Smaller image, smaller attack surface.
64
-
65
- ## Layer order matters for caching
66
-
67
- Stable layers first, volatile last.
68
-
69
- ```dockerfile
70
- # ✅
71
- COPY package.json package-lock.json ./ # stable; rarely changes
72
- RUN npm ci # cached unless lockfile changed
73
- COPY . . # volatile; changes every commit
74
- RUN npm run build
75
-
76
- # ❌ re-runs npm ci on every code change
77
- COPY . .
78
- RUN npm ci
79
- RUN npm run build
80
- ```
81
-
82
- ## Pin versions
83
-
84
- ```dockerfile
85
- FROM node:20.11.1-alpine3.19 # not node:20, not node:latest
86
- # or pin by digest for strictest reproducibility:
87
- FROM node@sha256:5b57a...
88
- ```
89
-
90
- Tags are mutable; SHAs aren't. For prod, pin by SHA; for dev, tag is usually fine.
91
-
92
- ## Don't run as root
93
-
94
- ```dockerfile
95
- # Debian-based
96
- RUN groupadd --system app && useradd --system --gid app app
97
- USER app
98
-
99
- # Alpine
100
- RUN addgroup -S app && adduser -S -G app app
101
- USER app
102
-
103
- # Distroless already provides a `nonroot` user
104
- USER nonroot
105
- ```
106
-
107
- Root inside a container is not isolation. Principle of least privilege applies here too.
108
-
109
- ## Don't bake secrets
110
-
111
- ```dockerfile
112
- # ❌
113
- ARG API_KEY
114
- ENV API_KEY=$API_KEY # baked into the image layer
115
-
116
- # ✅ pass at runtime
117
- docker run -e API_KEY=... myapp
118
- # or mount from secret manager
119
- ```
120
-
121
- Secrets that land in a layer are visible to anyone with the image. Rotating is painful.
122
-
123
- ## Build secrets (BuildKit)
124
-
125
- For secrets needed **during build** only (e.g., private npm registry token):
126
-
127
- ```dockerfile
128
- # syntax=docker/dockerfile:1.4
129
- RUN --mount=type=secret,id=npm_token \
130
- NPM_TOKEN=$(cat /run/secrets/npm_token) npm ci
131
- ```
132
-
133
- The secret doesn't persist in the final image.
134
-
135
- ## `.dockerignore`
136
-
137
- Exclude the junk. Every extra file bloats the build context.
138
-
139
- ```
140
- .git
141
- node_modules
142
- **/__pycache__
143
- **/*.log
144
- .DS_Store
145
- .idea/
146
- .vscode/
147
- .env
148
- tests/
149
- .venv
150
- target/
151
- coverage/
152
- dist/
153
- ```
154
-
155
- A 2 GB build context on a 200 MB repo is a signal you need a `.dockerignore`.
156
-
157
- ## HEALTHCHECK
158
-
159
- Declare how to know the container is alive.
160
-
161
- ```dockerfile
162
- HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
163
- CMD curl -fsS http://localhost:3000/health || exit 1
164
- ```
165
-
166
- Kubernetes uses its own liveness / readiness probes — set them in the manifest, not the Dockerfile. Docker Swarm / standalone Docker uses `HEALTHCHECK`.
167
-
168
- ## Signal handling
169
-
170
- ```dockerfile
171
- # ✅ node handles SIGTERM directly (no shell in between)
172
- CMD ["node", "server.js"]
173
-
174
- # ❌ shell form — shell gets SIGTERM, may not forward to node
175
- CMD node server.js
176
- ```
177
-
178
- Exec form (array) runs the binary directly. Shell form runs `/bin/sh -c` and can swallow signals. Use exec form for main process.
179
-
180
- For apps that don't handle signals, use `tini` as init:
181
-
182
- ```dockerfile
183
- ENTRYPOINT ["/sbin/tini", "--"]
184
- CMD ["./my-binary"]
185
- ```
186
-
187
- ## Logging
188
-
189
- Write to stdout / stderr. The container runtime collects these.
190
-
191
- ```dockerfile
192
- # ❌ logs go into the container filesystem; lost on restart
193
- CMD ["my-binary", "--log-file", "/var/log/app.log"]
194
-
195
- # ✅ stdout
196
- CMD ["my-binary"] # app logs to stdout by default
197
- ```
198
-
199
- ## Image scanning
200
-
201
- Run a scanner in CI (Trivy, Grype, Snyk).
202
-
203
- ```
204
- trivy image myapp:sha-abc123
205
- # fail build on HIGH/CRITICAL unfixed CVEs
206
- ```
207
-
208
- Scan at build, again on a schedule (CVEs are disclosed after you build).
209
-
210
- ## Image signing (supply chain)
211
-
212
- Sign images so the cluster can verify.
213
-
214
- ```
215
- cosign sign --key cosign.key myregistry/myapp:sha-abc123
216
- ```
217
-
218
- At deploy, policy (Kyverno, Gatekeeper, ECR policy, Sigstore policy-controller) verifies the signature before admission.
219
-
220
- ## Don't install what you don't need
221
-
222
- Every package installed is:
223
- - Bytes on the wire
224
- - Disk on the node
225
- - A CVE waiting to be reported
226
-
227
- ```dockerfile
228
- # ❌
229
- RUN apt-get update && apt-get install -y \
230
- curl vim git build-essential python3 netcat ...
231
-
232
- # ✅
233
- RUN apt-get update && apt-get install --no-install-recommends -y \
234
- ca-certificates && rm -rf /var/lib/apt/lists/*
235
- ```
236
-
237
- Clean apt lists, yum caches, pip caches in the same layer that installed them.
238
-
239
- ## Distroless specifics
240
-
241
- No shell. No `ls`, no `cat`, no `curl`. This is a feature.
242
-
243
- - Healthcheck: use the binary itself (`myapp healthcheck`) or a Kubernetes probe over HTTP.
244
- - Debugging: `kubectl exec` won't give you a shell. Use ephemeral debug containers (`kubectl debug`) or log more.
245
-
246
- Downsides: ops is harder at first. Upside: drastically smaller attack surface.
247
-
248
- ## Image size — typical targets
249
-
250
- | App | Target size |
251
- |---|---|
252
- | Go / Rust static binary | 5–15 MB |
253
- | Node.js app | 100–200 MB |
254
- | Python app | 100–250 MB |
255
- | Java app (with JRE) | 150–250 MB |
256
-
257
- If your Node image is 1.5 GB, you shipped `node_modules/` twice, left dev deps, or forgot `--omit=dev`.
258
-
259
- ## Anti-patterns
260
-
261
- | Anti-pattern | Fix |
262
- |---|---|
263
- | `FROM ubuntu:latest` | Specific version; smaller base |
264
- | `COPY . .` before `RUN npm ci` | Deps before source for cache |
265
- | `apt-get install -y *` no cleanup | `rm -rf /var/lib/apt/lists/*` same layer |
266
- | `RUN chmod ...` in 10 separate layers | Combine; each layer has size cost |
267
- | Running as root | `USER` before CMD |
268
- | Shell form CMD | Exec form, signals work |
269
- | Logs to file inside container | stdout/stderr |
270
- | `ADD` for local files | `COPY` — `ADD` also untars and downloads, surprising |
271
- | Secrets in `ENV` / `ARG` | Mount at runtime |
272
- | Every service uses a different base image | Standardize; fewer bases to scan and update |
@@ -1,201 +0,0 @@
1
- # Deploy
2
-
3
- Rolling, blue-green, canary, feature flags. Rollback plan always.
4
-
5
- ## Deploy ≠ release
6
-
7
- - **Deploy**: new code is running on the infra.
8
- - **Release**: new code is serving user traffic.
9
-
10
- Decoupling them (deploy first, flag on later) is how you ship safely. The deploy can be tested under real load without user impact; the release is a quick toggle.
11
-
12
- ## Rolling update
13
-
14
- Replace instances one / a few at a time. Default in Kubernetes, ECS, most orchestrators.
15
-
16
- ```
17
- v1 v1 v1 v1 (4 pods)
18
- v1 v1 v1 v2 (replace one)
19
- v1 v1 v2 v2 (replace next)
20
- ... (eventually all v2)
21
- ```
22
-
23
- Parameters to tune:
24
- - **maxSurge**: how many extra pods can exist during roll (e.g., +25%).
25
- - **maxUnavailable**: how many pods can be missing (e.g., 0 for strict).
26
- - **readinessProbe**: traffic waits until new pod reports ready.
27
-
28
- Rollback: roll back to the previous replica set / task definition.
29
-
30
- ## Blue-green
31
-
32
- Two full environments. Cut over all traffic at once.
33
-
34
- ```
35
- blue (prod traffic) — current version
36
- green (idle) — new version, warmed up
37
-
38
- Cut over: point load balancer to green.
39
- Rollback: point back to blue (instant).
40
- ```
41
-
42
- Pros: clean cutover, instant rollback.
43
- Cons: 2× infra cost during the overlap window.
44
-
45
- Use for:
46
- - Critical releases where rolling drag-out is risky.
47
- - DB schema changes that coexist with both versions.
48
-
49
- ## Canary
50
-
51
- Send a small percentage of traffic to the new version; scale up if healthy, roll back if not.
52
-
53
- ```
54
- 100% v1
55
- 5% v2, 95% v1 — watch metrics for 10 min
56
- 25% v2, 75% v1 — watch
57
- 50% v2, 50% v1
58
- 100% v2
59
- ```
60
-
61
- Observation:
62
- - Error rate on v2 vs. v1
63
- - Latency p95/p99
64
- - Business metrics (conversion, checkout success)
65
- - Custom alarms (signup, payment)
66
-
67
- Automated: Argo Rollouts, Flagger, AWS CodeDeploy canary. Manual also works — humans read dashboards and decide.
68
-
69
- Rollback: pull the canary (route 100% back to v1).
70
-
71
- ## Progressive delivery
72
-
73
- Canary + automated analysis. The rollout controller evaluates metrics at each step and promotes / rolls back automatically.
74
-
75
- ```yaml
76
- # Argo Rollouts (sketch)
77
- strategy:
78
- canary:
79
- steps:
80
- - setWeight: 10
81
- - pause: { duration: 5m }
82
- - analysis: { templates: [error-rate, latency-p95] }
83
- - setWeight: 50
84
- - analysis: [...]
85
- - setWeight: 100
86
- ```
87
-
88
- The analysis step is a check against a metric threshold. Fail → auto-rollback.
89
-
90
- ## Feature flags
91
-
92
- Ship code dark; flip for a percentage of users; roll back with a toggle.
93
-
94
- ```
95
- if feature_enabled('new_checkout', user):
96
- new_checkout()
97
- else:
98
- old_checkout()
99
- ```
100
-
101
- Benefits:
102
- - Deploy-release decoupling.
103
- - A/B testing for correctness, not just design.
104
- - Instant rollback without a redeploy.
105
-
106
- Discipline:
107
- - Every flag is temporary. Clean up after full rollout (or after hypothesis failure).
108
- - Document owner + expiry for each flag. Stale flags accrete and become impossible to remove.
109
- - Service (LaunchDarkly, ConfigCat, Unleash, Flagsmith, home-grown).
110
-
111
- ## Database migrations + deploys
112
-
113
- See `database/migrations.md` — expand / contract is the safe dance. Key rules for deploy:
114
-
115
- - **Migration BEFORE code that needs it.** Don't deploy v2 of the app before running its required migration.
116
- - **No destructive migrations during peak hours.** Schedule windows; at least reduce blast radius.
117
- - **New code tolerates old schema AND old code tolerates new schema** at the overlap.
118
-
119
- ## Preflight checks
120
-
121
- Before actually rolling out:
122
- - **Smoke test** against staging with the exact artifact going to prod.
123
- - **Load test** for major changes (perf regressions hide in staging noise).
124
- - **Dependency audit** (new CVE in the image?).
125
- - **Release notes** drafted; rollback plan documented.
126
-
127
- ## During deploy
128
-
129
- Monitor:
130
- - **Deployment health**: readiness failures, crash loops.
131
- - **Service health**: error rate, latency, saturation.
132
- - **Downstream**: DB, cache, message broker metrics — did the new code change call patterns?
133
- - **Business metrics**: signups / second, checkout completion.
134
-
135
- Alerting during a deploy is different — some jitter is normal. Tighten post-deploy windows.
136
-
137
- ## Rollback
138
-
139
- Every deploy plan includes: **how do we get back?**
140
-
141
- ```
142
- If <condition>, roll back by <step 1>, <step 2>, ...
143
- ```
144
-
145
- Common "conditions":
146
- - Error rate > 2× baseline for 5 min
147
- - Latency p99 > 2× baseline
148
- - Business metric (signup, checkout) drops > 20%
149
- - Manual oncall decision
150
-
151
- Rollback command should be one thing — not a checklist. Automate it.
152
-
153
- ### What's rollback-safe?
154
-
155
- | Change | Rollback |
156
- |---|---|
157
- | Code-only | Deploy previous artifact |
158
- | Migration that's additive | Old code works; no DB action needed |
159
- | Migration that removed a column | Restore from backup (painful) — avoid this in a rolled-back state |
160
- | Feature flag on | Turn it off |
161
- | Config change | Revert config |
162
-
163
- Design changes so rolling back code is sufficient. That dictates the migration pattern (expand/contract).
164
-
165
- ## Shutdown gracefully
166
-
167
- On `SIGTERM`:
168
- 1. Stop accepting new connections (readiness → unhealthy; LB removes pod).
169
- 2. Finish in-flight requests (with a grace period — 30 s typical).
170
- 3. Drain queues / finish current job.
171
- 4. Close DB / external connections.
172
- 5. Exit 0.
173
-
174
- Without this, rolling updates drop requests and leave half-processed jobs.
175
-
176
- Kubernetes: `terminationGracePeriodSeconds: 30` + a `preStop` hook + SIGTERM handling in app.
177
-
178
- ## Deploy cadence
179
-
180
- - **Fast** (multiple / day, per team) — best for small changes, high automation, strong tests.
181
- - **Batched** (weekly / fortnightly) — when risk of each release is high.
182
-
183
- High-performing orgs deploy multiple times per day. The trick is making each deploy small.
184
-
185
- ## "Release" vs. "deploy" for mobile
186
-
187
- Mobile can't feature-flag installed versions. But server-side flags can control behaviour of the installed app. Design APIs so server-side flags let you turn off client features without a new app version.
188
-
189
- ## Anti-patterns
190
-
191
- | Anti-pattern | Fix |
192
- |---|---|
193
- | Deploying on Fridays without cause | Deploy midweek, quieter rollback |
194
- | Rollback as "SSH in and run..." | Automated, one-command rollback |
195
- | Waiting for the deploy to "look OK" by refreshing the app | Instrument; set specific metrics |
196
- | Manual canary percentage math | Use the orchestrator's progressive rollout |
197
- | Schema migration in the same step as code rollout | Pre-migrate; expand/contract |
198
- | Long-lived feature flags | Set expiry; clean up |
199
- | Sidecar fetching config at startup with no timeout | Fail fast; bounded retry |
200
- | Skipping grace period on SIGTERM | Lose requests at every deploy |
201
- | Deploys that don't produce an event in observability | Correlate spikes; deploys are first-class events |