@coralai/sps-cli 0.55.12 → 0.56.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 (431) 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 +121 -0
  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/memory.d.ts.map +1 -1
  102. package/dist/core/memory.js +9 -12
  103. package/dist/core/memory.js.map +1 -1
  104. package/dist/core/memoryIngest.d.ts +18 -0
  105. package/dist/core/memoryIngest.d.ts.map +1 -0
  106. package/dist/core/memoryIngest.js +56 -0
  107. package/dist/core/memoryIngest.js.map +1 -0
  108. package/dist/core/memoryProvider.d.ts +63 -0
  109. package/dist/core/memoryProvider.d.ts.map +1 -0
  110. package/dist/core/memoryProvider.js +205 -0
  111. package/dist/core/memoryProvider.js.map +1 -0
  112. package/dist/core/skillStore.d.ts.map +1 -1
  113. package/dist/core/skillStore.js +2 -1
  114. package/dist/core/skillStore.js.map +1 -1
  115. package/dist/core/skills/SkillsManager.d.ts +38 -0
  116. package/dist/core/skills/SkillsManager.d.ts.map +1 -0
  117. package/dist/core/skills/SkillsManager.js +231 -0
  118. package/dist/core/skills/SkillsManager.js.map +1 -0
  119. package/dist/core/skills/distribution.d.ts +64 -0
  120. package/dist/core/skills/distribution.d.ts.map +1 -0
  121. package/dist/core/skills/distribution.js +269 -0
  122. package/dist/core/skills/distribution.js.map +1 -0
  123. package/dist/core/skills/index.d.ts +13 -0
  124. package/dist/core/skills/index.d.ts.map +1 -0
  125. package/dist/core/skills/index.js +13 -0
  126. package/dist/core/skills/index.js.map +1 -0
  127. package/dist/core/skills/types.d.ts +44 -0
  128. package/dist/core/skills/types.d.ts.map +1 -0
  129. package/dist/core/skills/types.js +9 -0
  130. package/dist/core/skills/types.js.map +1 -0
  131. package/dist/core/taskPrompts.d.ts +0 -12
  132. package/dist/core/taskPrompts.d.ts.map +1 -1
  133. package/dist/core/taskPrompts.js +0 -14
  134. package/dist/core/taskPrompts.js.map +1 -1
  135. package/dist/core/transcriptIngest.d.ts +37 -0
  136. package/dist/core/transcriptIngest.d.ts.map +1 -0
  137. package/dist/core/transcriptIngest.js +137 -0
  138. package/dist/core/transcriptIngest.js.map +1 -0
  139. package/dist/core/wiki/types.d.ts +282 -745
  140. package/dist/core/wiki/types.d.ts.map +1 -1
  141. package/dist/core/wiki/types.js +1 -1
  142. package/dist/core/wiki/types.js.map +1 -1
  143. package/dist/engines/SmartArrangeEngine.d.ts +75 -0
  144. package/dist/engines/SmartArrangeEngine.d.ts.map +1 -0
  145. package/dist/engines/SmartArrangeEngine.js +112 -0
  146. package/dist/engines/SmartArrangeEngine.js.map +1 -0
  147. package/dist/engines/StageEngine.d.ts +3 -17
  148. package/dist/engines/StageEngine.d.ts.map +1 -1
  149. package/dist/engines/StageEngine.js +13 -91
  150. package/dist/engines/StageEngine.js.map +1 -1
  151. package/dist/engines/smartarrange/AcpWorkerExec.d.ts +35 -0
  152. package/dist/engines/smartarrange/AcpWorkerExec.d.ts.map +1 -0
  153. package/dist/engines/smartarrange/AcpWorkerExec.js +71 -0
  154. package/dist/engines/smartarrange/AcpWorkerExec.js.map +1 -0
  155. package/dist/engines/smartarrange/cardSink.d.ts +29 -0
  156. package/dist/engines/smartarrange/cardSink.d.ts.map +1 -0
  157. package/dist/engines/smartarrange/cardSink.js +43 -0
  158. package/dist/engines/smartarrange/cardSink.js.map +1 -0
  159. package/dist/engines/smartarrange/runner.d.ts +24 -0
  160. package/dist/engines/smartarrange/runner.d.ts.map +1 -0
  161. package/dist/engines/smartarrange/runner.js +116 -0
  162. package/dist/engines/smartarrange/runner.js.map +1 -0
  163. package/dist/engines/smartarrange/screenshot.d.ts +5 -0
  164. package/dist/engines/smartarrange/screenshot.d.ts.map +1 -0
  165. package/dist/engines/smartarrange/screenshot.js +117 -0
  166. package/dist/engines/smartarrange/screenshot.js.map +1 -0
  167. package/dist/main.js +127 -92
  168. package/dist/main.js.map +1 -1
  169. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  170. package/dist/manager/worker-manager-impl.js +7 -0
  171. package/dist/manager/worker-manager-impl.js.map +1 -1
  172. package/dist/providers/LLMClient.d.ts +32 -0
  173. package/dist/providers/LLMClient.d.ts.map +1 -0
  174. package/dist/providers/LLMClient.js +108 -0
  175. package/dist/providers/LLMClient.js.map +1 -0
  176. package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
  177. package/dist/providers/MarkdownTaskBackend.js +3 -2
  178. package/dist/providers/MarkdownTaskBackend.js.map +1 -1
  179. package/dist/providers/llm/chatTools.d.ts +11 -0
  180. package/dist/providers/llm/chatTools.d.ts.map +1 -0
  181. package/dist/providers/llm/chatTools.js +57 -0
  182. package/dist/providers/llm/chatTools.js.map +1 -0
  183. package/dist/providers/llm/codexAuth.d.ts +8 -0
  184. package/dist/providers/llm/codexAuth.d.ts.map +1 -0
  185. package/dist/providers/llm/codexAuth.js +57 -0
  186. package/dist/providers/llm/codexAuth.js.map +1 -0
  187. package/dist/providers/llm/codexModel.d.ts +14 -0
  188. package/dist/providers/llm/codexModel.d.ts.map +1 -0
  189. package/dist/providers/llm/codexModel.js +96 -0
  190. package/dist/providers/llm/codexModel.js.map +1 -0
  191. package/dist/providers/llm/localSubscription.d.ts +15 -0
  192. package/dist/providers/llm/localSubscription.d.ts.map +1 -0
  193. package/dist/providers/llm/localSubscription.js +66 -0
  194. package/dist/providers/llm/localSubscription.js.map +1 -0
  195. package/dist/providers/llm/modelFactory.d.ts +14 -0
  196. package/dist/providers/llm/modelFactory.d.ts.map +1 -0
  197. package/dist/providers/llm/modelFactory.js +22 -0
  198. package/dist/providers/llm/modelFactory.js.map +1 -0
  199. package/dist/providers/llm/monitorSkills.d.ts +6 -0
  200. package/dist/providers/llm/monitorSkills.d.ts.map +1 -0
  201. package/dist/providers/llm/monitorSkills.js +37 -0
  202. package/dist/providers/llm/monitorSkills.js.map +1 -0
  203. package/dist/providers/llm/probeTools.d.ts +7 -0
  204. package/dist/providers/llm/probeTools.d.ts.map +1 -0
  205. package/dist/providers/llm/probeTools.js +84 -0
  206. package/dist/providers/llm/probeTools.js.map +1 -0
  207. package/dist/providers/llm/providers.d.ts +26 -0
  208. package/dist/providers/llm/providers.d.ts.map +1 -0
  209. package/dist/providers/llm/providers.js +68 -0
  210. package/dist/providers/llm/providers.js.map +1 -0
  211. package/dist/providers/llm/skillTools.d.ts +4 -0
  212. package/dist/providers/llm/skillTools.d.ts.map +1 -0
  213. package/dist/providers/llm/skillTools.js +42 -0
  214. package/dist/providers/llm/skillTools.js.map +1 -0
  215. package/dist/providers/llm/workerTools.d.ts +9 -0
  216. package/dist/providers/llm/workerTools.d.ts.map +1 -0
  217. package/dist/providers/llm/workerTools.js +111 -0
  218. package/dist/providers/llm/workerTools.js.map +1 -0
  219. package/dist/providers/mcp/spsMcpServer.d.ts +15 -0
  220. package/dist/providers/mcp/spsMcpServer.d.ts.map +1 -0
  221. package/dist/providers/mcp/spsMcpServer.js +67 -0
  222. package/dist/providers/mcp/spsMcpServer.js.map +1 -0
  223. package/dist/providers/mcp/spsMcpStdio.d.ts +2 -0
  224. package/dist/providers/mcp/spsMcpStdio.d.ts.map +1 -0
  225. package/dist/providers/mcp/spsMcpStdio.js +32 -0
  226. package/dist/providers/mcp/spsMcpStdio.js.map +1 -0
  227. package/dist/providers/mcp/spsMcpStdioConfig.d.ts +11 -0
  228. package/dist/providers/mcp/spsMcpStdioConfig.d.ts.map +1 -0
  229. package/dist/providers/mcp/spsMcpStdioConfig.js +19 -0
  230. package/dist/providers/mcp/spsMcpStdioConfig.js.map +1 -0
  231. package/dist/server.d.ts +23 -0
  232. package/dist/server.d.ts.map +1 -1
  233. package/dist/server.js +23 -0
  234. package/dist/server.js.map +1 -1
  235. package/dist/services/ChatService.d.ts +8 -0
  236. package/dist/services/ChatService.d.ts.map +1 -1
  237. package/dist/services/ChatService.js +2 -0
  238. package/dist/services/ChatService.js.map +1 -1
  239. package/dist/services/LogService.d.ts +1 -1
  240. package/dist/services/LogService.d.ts.map +1 -1
  241. package/dist/services/LogService.js +3 -2
  242. package/dist/services/LogService.js.map +1 -1
  243. package/dist/services/ProjectService.d.ts +12 -2
  244. package/dist/services/ProjectService.d.ts.map +1 -1
  245. package/dist/services/ProjectService.js +1 -0
  246. package/dist/services/ProjectService.js.map +1 -1
  247. package/dist/services/SkillService.js +11 -13
  248. package/dist/services/SkillService.js.map +1 -1
  249. package/dist/services/SmartArrangeService.d.ts +12 -0
  250. package/dist/services/SmartArrangeService.d.ts.map +1 -0
  251. package/dist/services/SmartArrangeService.js +37 -0
  252. package/dist/services/SmartArrangeService.js.map +1 -0
  253. package/dist/services/SystemService.d.ts +20 -0
  254. package/dist/services/SystemService.d.ts.map +1 -1
  255. package/dist/services/SystemService.js +93 -0
  256. package/dist/services/SystemService.js.map +1 -1
  257. package/dist/services/WorkerService.d.ts +8 -0
  258. package/dist/services/WorkerService.d.ts.map +1 -1
  259. package/dist/services/WorkerService.js +73 -3
  260. package/dist/services/WorkerService.js.map +1 -1
  261. package/dist/services/container.d.ts +2 -0
  262. package/dist/services/container.d.ts.map +1 -1
  263. package/dist/services/container.js +2 -0
  264. package/dist/services/container.js.map +1 -1
  265. package/dist/shared/localTime.d.ts +8 -0
  266. package/dist/shared/localTime.d.ts.map +1 -0
  267. package/dist/shared/localTime.js +11 -0
  268. package/dist/shared/localTime.js.map +1 -0
  269. package/dist/shared/runtimePaths.d.ts +1 -1
  270. package/dist/shared/runtimePaths.d.ts.map +1 -1
  271. package/dist/shared/runtimePaths.js +2 -2
  272. package/dist/shared/runtimePaths.js.map +1 -1
  273. package/dist/shared/runtimeSchemas.d.ts +74 -245
  274. package/dist/shared/runtimeSchemas.d.ts.map +1 -1
  275. package/dist/shared/runtimeSchemas.js +2 -2
  276. package/dist/shared/runtimeSchemas.js.map +1 -1
  277. package/monitor-skills/probe-playbook/SKILL.md +32 -0
  278. package/monitor-skills/visual-rubric/SKILL.md +34 -0
  279. package/package.json +8 -8
  280. package/project-template/.claude/hooks/stop.sh +3 -1
  281. package/dist/console-assets/assets/index-BvWWj69G.js +0 -557
  282. package/dist/console-assets/assets/index-Eo4PuNPl.css +0 -10
  283. package/dist/interfaces/ACPClient.d.ts +0 -107
  284. package/dist/interfaces/ACPClient.d.ts.map +0 -1
  285. package/dist/interfaces/ACPClient.js +0 -17
  286. package/dist/interfaces/ACPClient.js.map +0 -1
  287. package/dist/interfaces/AgentRuntime.d.ts +0 -40
  288. package/dist/interfaces/AgentRuntime.d.ts.map +0 -1
  289. package/dist/interfaces/AgentRuntime.js +0 -17
  290. package/dist/interfaces/AgentRuntime.js.map +0 -1
  291. package/dist/manager/agentmemory.d.ts +0 -6
  292. package/dist/manager/agentmemory.d.ts.map +0 -1
  293. package/dist/manager/agentmemory.js +0 -73
  294. package/dist/manager/agentmemory.js.map +0 -1
  295. package/dist/models/acp.d.ts +0 -64
  296. package/dist/models/acp.d.ts.map +0 -1
  297. package/dist/models/acp.js +0 -17
  298. package/dist/models/acp.js.map +0 -1
  299. package/dist/providers/LocalACPClient.d.ts +0 -27
  300. package/dist/providers/LocalACPClient.d.ts.map +0 -1
  301. package/dist/providers/LocalACPClient.js +0 -26
  302. package/dist/providers/LocalACPClient.js.map +0 -1
  303. package/dist/providers/adapters/AcpSdkAdapter.d.ts +0 -24
  304. package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +0 -1
  305. package/dist/providers/adapters/AcpSdkAdapter.js +0 -439
  306. package/dist/providers/adapters/AcpSdkAdapter.js.map +0 -1
  307. package/dist/providers/adapters/acp-fs-handlers.d.ts +0 -26
  308. package/dist/providers/adapters/acp-fs-handlers.d.ts.map +0 -1
  309. package/dist/providers/adapters/acp-fs-handlers.js +0 -61
  310. package/dist/providers/adapters/acp-fs-handlers.js.map +0 -1
  311. package/dist/providers/adapters/acp-permissions.d.ts +0 -42
  312. package/dist/providers/adapters/acp-permissions.d.ts.map +0 -1
  313. package/dist/providers/adapters/acp-permissions.js +0 -76
  314. package/dist/providers/adapters/acp-permissions.js.map +0 -1
  315. package/dist/providers/adapters/acp-session-accumulator.d.ts +0 -55
  316. package/dist/providers/adapters/acp-session-accumulator.d.ts.map +0 -1
  317. package/dist/providers/adapters/acp-session-accumulator.js +0 -133
  318. package/dist/providers/adapters/acp-session-accumulator.js.map +0 -1
  319. package/dist/providers/adapters/acp-terminal-manager.d.ts +0 -56
  320. package/dist/providers/adapters/acp-terminal-manager.d.ts.map +0 -1
  321. package/dist/providers/adapters/acp-terminal-manager.js +0 -127
  322. package/dist/providers/adapters/acp-terminal-manager.js.map +0 -1
  323. package/project-template/logs/.gitkeep +0 -0
  324. package/skills/architecture-decision-records/SKILL.md +0 -207
  325. package/skills/backend/SKILL.md +0 -62
  326. package/skills/backend/references/api-design.md +0 -168
  327. package/skills/backend/references/caching.md +0 -181
  328. package/skills/backend/references/data-access.md +0 -173
  329. package/skills/backend/references/layering.md +0 -181
  330. package/skills/backend/references/observability.md +0 -190
  331. package/skills/backend/references/resilience.md +0 -201
  332. package/skills/backend/references/security.md +0 -186
  333. package/skills/backend-architect/SKILL.md +0 -119
  334. package/skills/code-reviewer/SKILL.md +0 -143
  335. package/skills/coding-standards/SKILL.md +0 -60
  336. package/skills/coding-standards/references/clean-code.md +0 -258
  337. package/skills/coding-standards/references/code-review.md +0 -192
  338. package/skills/coding-standards/references/commits-and-prs.md +0 -226
  339. package/skills/coding-standards/references/error-strategy.md +0 -193
  340. package/skills/coding-standards/references/naming.md +0 -185
  341. package/skills/coding-standards/references/tdd.md +0 -171
  342. package/skills/database/SKILL.md +0 -53
  343. package/skills/database/references/indexing.md +0 -190
  344. package/skills/database/references/migrations.md +0 -199
  345. package/skills/database/references/nosql.md +0 -185
  346. package/skills/database/references/queries.md +0 -295
  347. package/skills/database/references/scaling.md +0 -203
  348. package/skills/database/references/schema.md +0 -191
  349. package/skills/database-optimizer/SKILL.md +0 -168
  350. package/skills/debugging-workflow/SKILL.md +0 -244
  351. package/skills/dev-worker/SKILL.md +0 -40
  352. package/skills/dev-worker/references/architect.md +0 -139
  353. package/skills/dev-worker/references/backend.md +0 -163
  354. package/skills/dev-worker/references/frontend.md +0 -122
  355. package/skills/dev-worker/references/fullstack.md +0 -179
  356. package/skills/dev-worker/references/optimizer.md +0 -151
  357. package/skills/dev-worker/references/phaser.md +0 -109
  358. package/skills/dev-worker/references/prototyper.md +0 -171
  359. package/skills/dev-worker/references/reviewer.md +0 -122
  360. package/skills/dev-worker/references/security.md +0 -154
  361. package/skills/dev-worker/references/senior.md +0 -155
  362. package/skills/dev-worker/references/typescript.md +0 -65
  363. package/skills/dev-worker/references/writer.md +0 -201
  364. package/skills/devops/SKILL.md +0 -55
  365. package/skills/devops/references/ci-cd.md +0 -204
  366. package/skills/devops/references/containers.md +0 -272
  367. package/skills/devops/references/deploy.md +0 -201
  368. package/skills/devops/references/iac.md +0 -252
  369. package/skills/devops/references/observability.md +0 -228
  370. package/skills/devops/references/secrets.md +0 -178
  371. package/skills/devops-automator/SKILL.md +0 -164
  372. package/skills/frontend/SKILL.md +0 -52
  373. package/skills/frontend/references/accessibility.md +0 -222
  374. package/skills/frontend/references/components.md +0 -206
  375. package/skills/frontend/references/performance.md +0 -219
  376. package/skills/frontend/references/routing.md +0 -209
  377. package/skills/frontend/references/state.md +0 -190
  378. package/skills/frontend/references/testing.md +0 -216
  379. package/skills/frontend-developer/SKILL.md +0 -115
  380. package/skills/git-workflow/SKILL.md +0 -355
  381. package/skills/golang/SKILL.md +0 -49
  382. package/skills/golang/references/concurrency.md +0 -284
  383. package/skills/golang/references/errors.md +0 -241
  384. package/skills/golang/references/idioms.md +0 -285
  385. package/skills/golang/references/testing.md +0 -238
  386. package/skills/java/SKILL.md +0 -50
  387. package/skills/java/references/concurrency.md +0 -194
  388. package/skills/java/references/idioms.md +0 -283
  389. package/skills/java/references/testing.md +0 -228
  390. package/skills/kotlin/SKILL.md +0 -47
  391. package/skills/kotlin/references/coroutines.md +0 -240
  392. package/skills/kotlin/references/idioms.md +0 -268
  393. package/skills/kotlin/references/testing.md +0 -219
  394. package/skills/mobile/SKILL.md +0 -50
  395. package/skills/mobile/references/architecture.md +0 -204
  396. package/skills/mobile/references/navigation.md +0 -158
  397. package/skills/mobile/references/performance.md +0 -152
  398. package/skills/mobile/references/platform.md +0 -166
  399. package/skills/mobile/references/state-and-data.md +0 -174
  400. package/skills/python/SKILL.md +0 -51
  401. package/skills/python/THIRD_PARTY.md +0 -14
  402. package/skills/python/references/async.md +0 -218
  403. package/skills/python/references/error-handling.md +0 -254
  404. package/skills/python/references/idioms.md +0 -279
  405. package/skills/python/references/packaging.md +0 -233
  406. package/skills/python/references/testing.md +0 -269
  407. package/skills/python/references/typing.md +0 -292
  408. package/skills/qa-tester/SKILL.md +0 -186
  409. package/skills/rust/SKILL.md +0 -50
  410. package/skills/rust/references/async.md +0 -224
  411. package/skills/rust/references/errors.md +0 -240
  412. package/skills/rust/references/ownership.md +0 -263
  413. package/skills/rust/references/testing.md +0 -274
  414. package/skills/rust/references/traits.md +0 -250
  415. package/skills/security-engineer/SKILL.md +0 -157
  416. package/skills/sps-memory/SKILL.md +0 -213
  417. package/skills/sps-pipeline/SKILL.md +0 -476
  418. package/skills/swift/SKILL.md +0 -48
  419. package/skills/swift/references/concurrency.md +0 -280
  420. package/skills/swift/references/idioms.md +0 -334
  421. package/skills/swift/references/testing.md +0 -229
  422. package/skills/tax-worker/SKILL.md +0 -150
  423. package/skills/tax-worker/references/account-codes.md +0 -165
  424. package/skills/typescript/SKILL.md +0 -51
  425. package/skills/typescript/references/async.md +0 -241
  426. package/skills/typescript/references/errors.md +0 -208
  427. package/skills/typescript/references/idioms.md +0 -246
  428. package/skills/typescript/references/testing.md +0 -225
  429. package/skills/typescript/references/tooling.md +0 -208
  430. package/skills/typescript/references/types.md +0 -259
  431. 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 |