@coralai/sps-cli 0.34.0 → 0.34.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 (335) hide show
  1. package/dist/commands/acpCommand.d.ts.map +1 -1
  2. package/dist/commands/acpCommand.js +21 -1
  3. package/dist/commands/acpCommand.js.map +1 -1
  4. package/dist/commands/agentCommand.d.ts.map +1 -1
  5. package/dist/commands/agentCommand.js +25 -15
  6. package/dist/commands/agentCommand.js.map +1 -1
  7. package/dist/commands/agentDaemon.d.ts.map +1 -1
  8. package/dist/commands/agentDaemon.js +19 -2
  9. package/dist/commands/agentDaemon.js.map +1 -1
  10. package/dist/commands/agentRenderer.d.ts.map +1 -1
  11. package/dist/commands/agentRenderer.js +18 -3
  12. package/dist/commands/agentRenderer.js.map +1 -1
  13. package/dist/commands/cardAdd.d.ts.map +1 -1
  14. package/dist/commands/cardAdd.js +22 -2
  15. package/dist/commands/cardAdd.js.map +1 -1
  16. package/dist/commands/cardDashboard.d.ts.map +1 -1
  17. package/dist/commands/cardDashboard.js +23 -3
  18. package/dist/commands/cardDashboard.js.map +1 -1
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +35 -69
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/logs.d.ts.map +1 -1
  23. package/dist/commands/logs.js +18 -8
  24. package/dist/commands/logs.js.map +1 -1
  25. package/dist/commands/monitorTick.d.ts.map +1 -1
  26. package/dist/commands/monitorTick.js +23 -3
  27. package/dist/commands/monitorTick.js.map +1 -1
  28. package/dist/commands/pipelineRunner.d.ts.map +1 -1
  29. package/dist/commands/pipelineRunner.js +21 -7
  30. package/dist/commands/pipelineRunner.js.map +1 -1
  31. package/dist/commands/pipelineTick.d.ts.map +1 -1
  32. package/dist/commands/pipelineTick.js +6 -6
  33. package/dist/commands/pipelineTick.js.map +1 -1
  34. package/dist/commands/pmCommand.d.ts.map +1 -1
  35. package/dist/commands/pmCommand.js +21 -1
  36. package/dist/commands/pmCommand.js.map +1 -1
  37. package/dist/commands/projectInit.d.ts.map +1 -1
  38. package/dist/commands/projectInit.js +22 -2
  39. package/dist/commands/projectInit.js.map +1 -1
  40. package/dist/commands/qaTick.d.ts.map +1 -1
  41. package/dist/commands/qaTick.js +6 -6
  42. package/dist/commands/qaTick.js.map +1 -1
  43. package/dist/commands/reset.d.ts.map +1 -1
  44. package/dist/commands/reset.js +21 -25
  45. package/dist/commands/reset.js.map +1 -1
  46. package/dist/commands/schedulerTick.d.ts.map +1 -1
  47. package/dist/commands/schedulerTick.js +23 -3
  48. package/dist/commands/schedulerTick.js.map +1 -1
  49. package/dist/commands/setup.d.ts.map +1 -1
  50. package/dist/commands/setup.js +68 -30
  51. package/dist/commands/setup.js.map +1 -1
  52. package/dist/commands/status.d.ts.map +1 -1
  53. package/dist/commands/status.js +20 -7
  54. package/dist/commands/status.js.map +1 -1
  55. package/dist/commands/stop.d.ts.map +1 -1
  56. package/dist/commands/stop.js +19 -14
  57. package/dist/commands/stop.js.map +1 -1
  58. package/dist/commands/tick.d.ts.map +1 -1
  59. package/dist/commands/tick.js +8 -8
  60. package/dist/commands/tick.js.map +1 -1
  61. package/dist/commands/workerDashboard.d.ts.map +1 -1
  62. package/dist/commands/workerDashboard.js +23 -3
  63. package/dist/commands/workerDashboard.js.map +1 -1
  64. package/dist/commands/workerLaunch.d.ts.map +1 -1
  65. package/dist/commands/workerLaunch.js +6 -6
  66. package/dist/commands/workerLaunch.js.map +1 -1
  67. package/dist/commands/workerPs.d.ts +0 -4
  68. package/dist/commands/workerPs.d.ts.map +1 -1
  69. package/dist/commands/workerPs.js +22 -6
  70. package/dist/commands/workerPs.js.map +1 -1
  71. package/dist/core/config.d.ts.map +1 -1
  72. package/dist/core/config.js +17 -2
  73. package/dist/core/config.js.map +1 -1
  74. package/dist/core/config.test.js +19 -4
  75. package/dist/core/config.test.js.map +1 -1
  76. package/dist/core/context.d.ts +15 -0
  77. package/dist/core/context.d.ts.map +1 -1
  78. package/dist/core/context.js +15 -0
  79. package/dist/core/context.js.map +1 -1
  80. package/dist/core/lock.d.ts.map +1 -1
  81. package/dist/core/lock.js +17 -10
  82. package/dist/core/lock.js.map +1 -1
  83. package/dist/core/lock.test.js +18 -3
  84. package/dist/core/lock.test.js.map +1 -1
  85. package/dist/core/logger.d.ts.map +1 -1
  86. package/dist/core/logger.js +16 -1
  87. package/dist/core/logger.js.map +1 -1
  88. package/dist/core/memory.d.ts +11 -12
  89. package/dist/core/memory.d.ts.map +1 -1
  90. package/dist/core/memory.js +13 -14
  91. package/dist/core/memory.js.map +1 -1
  92. package/dist/core/paths.d.ts +0 -1
  93. package/dist/core/paths.d.ts.map +1 -1
  94. package/dist/core/paths.js +16 -4
  95. package/dist/core/paths.js.map +1 -1
  96. package/dist/core/pipelineConfig.d.ts +6 -4
  97. package/dist/core/pipelineConfig.d.ts.map +1 -1
  98. package/dist/core/pipelineConfig.js +67 -30
  99. package/dist/core/pipelineConfig.js.map +1 -1
  100. package/dist/core/projectPipelineAdapter.d.ts +3 -3
  101. package/dist/core/projectPipelineAdapter.d.ts.map +1 -1
  102. package/dist/core/projectPipelineAdapter.js +41 -24
  103. package/dist/core/projectPipelineAdapter.js.map +1 -1
  104. package/dist/core/queue.d.ts.map +1 -1
  105. package/dist/core/queue.js +16 -1
  106. package/dist/core/queue.js.map +1 -1
  107. package/dist/core/queue.test.js +19 -4
  108. package/dist/core/queue.test.js.map +1 -1
  109. package/dist/core/runtimeSnapshot.d.ts +1 -1
  110. package/dist/core/runtimeSnapshot.d.ts.map +1 -1
  111. package/dist/core/runtimeSnapshot.js +18 -3
  112. package/dist/core/runtimeSnapshot.js.map +1 -1
  113. package/dist/core/runtimeStore.d.ts +1 -1
  114. package/dist/core/runtimeStore.d.ts.map +1 -1
  115. package/dist/core/runtimeStore.js +15 -0
  116. package/dist/core/runtimeStore.js.map +1 -1
  117. package/dist/core/sessionContext.d.ts +1 -1
  118. package/dist/core/sessionContext.d.ts.map +1 -1
  119. package/dist/core/sessionContext.js +12 -3
  120. package/dist/core/sessionContext.js.map +1 -1
  121. package/dist/core/sessionLiveness.d.ts +17 -1
  122. package/dist/core/sessionLiveness.d.ts.map +1 -1
  123. package/dist/core/sessionLiveness.js +2 -11
  124. package/dist/core/sessionLiveness.js.map +1 -1
  125. package/dist/core/shellEnv.d.ts +15 -0
  126. package/dist/core/shellEnv.d.ts.map +1 -1
  127. package/dist/core/shellEnv.js +13 -3
  128. package/dist/core/shellEnv.js.map +1 -1
  129. package/dist/core/shellEnv.test.js +19 -4
  130. package/dist/core/shellEnv.test.js.map +1 -1
  131. package/dist/core/state.d.ts +1 -1
  132. package/dist/core/state.d.ts.map +1 -1
  133. package/dist/core/state.js +16 -1
  134. package/dist/core/state.js.map +1 -1
  135. package/dist/core/state.test.js +19 -4
  136. package/dist/core/state.test.js.map +1 -1
  137. package/dist/core/taskPrompts.d.ts +15 -8
  138. package/dist/core/taskPrompts.d.ts.map +1 -1
  139. package/dist/core/taskPrompts.js +0 -37
  140. package/dist/core/taskPrompts.js.map +1 -1
  141. package/dist/core/workerRuntimeSummary.d.ts.map +1 -1
  142. package/dist/core/workerRuntimeSummary.js +15 -0
  143. package/dist/core/workerRuntimeSummary.js.map +1 -1
  144. package/dist/daemon/daemonClient.d.ts +16 -1
  145. package/dist/daemon/daemonClient.d.ts.map +1 -1
  146. package/dist/daemon/daemonClient.js +13 -4
  147. package/dist/daemon/daemonClient.js.map +1 -1
  148. package/dist/daemon/sessionDaemon.d.ts +15 -0
  149. package/dist/daemon/sessionDaemon.d.ts.map +1 -1
  150. package/dist/daemon/sessionDaemon.js +12 -8
  151. package/dist/daemon/sessionDaemon.js.map +1 -1
  152. package/dist/engines/EventHandler.d.ts +18 -9
  153. package/dist/engines/EventHandler.d.ts.map +1 -1
  154. package/dist/engines/EventHandler.js +18 -0
  155. package/dist/engines/EventHandler.js.map +1 -1
  156. package/dist/engines/MonitorEngine.d.ts +21 -4
  157. package/dist/engines/MonitorEngine.d.ts.map +1 -1
  158. package/dist/engines/MonitorEngine.js +18 -2
  159. package/dist/engines/MonitorEngine.js.map +1 -1
  160. package/dist/engines/SchedulerEngine.d.ts +20 -2
  161. package/dist/engines/SchedulerEngine.d.ts.map +1 -1
  162. package/dist/engines/SchedulerEngine.js +20 -2
  163. package/dist/engines/SchedulerEngine.js.map +1 -1
  164. package/dist/engines/StageEngine.d.ts +22 -4
  165. package/dist/engines/StageEngine.d.ts.map +1 -1
  166. package/dist/engines/StageEngine.js +23 -13
  167. package/dist/engines/StageEngine.js.map +1 -1
  168. package/dist/engines/engine-pipeline-adapter.test.d.ts +15 -0
  169. package/dist/engines/engine-pipeline-adapter.test.d.ts.map +1 -1
  170. package/dist/engines/engine-pipeline-adapter.test.js +19 -11
  171. package/dist/engines/engine-pipeline-adapter.test.js.map +1 -1
  172. package/dist/interfaces/ACPClient.d.ts +16 -1
  173. package/dist/interfaces/ACPClient.d.ts.map +1 -1
  174. package/dist/interfaces/ACPClient.js +15 -0
  175. package/dist/interfaces/ACPClient.js.map +1 -1
  176. package/dist/interfaces/AgentRuntime.d.ts +16 -1
  177. package/dist/interfaces/AgentRuntime.d.ts.map +1 -1
  178. package/dist/interfaces/AgentRuntime.js +15 -0
  179. package/dist/interfaces/AgentRuntime.js.map +1 -1
  180. package/dist/interfaces/Notifier.d.ts +15 -0
  181. package/dist/interfaces/Notifier.d.ts.map +1 -1
  182. package/dist/interfaces/Notifier.js +15 -0
  183. package/dist/interfaces/Notifier.js.map +1 -1
  184. package/dist/interfaces/RepoBackend.d.ts +15 -0
  185. package/dist/interfaces/RepoBackend.d.ts.map +1 -1
  186. package/dist/interfaces/RepoBackend.js +15 -0
  187. package/dist/interfaces/RepoBackend.js.map +1 -1
  188. package/dist/interfaces/TaskBackend.d.ts +15 -0
  189. package/dist/interfaces/TaskBackend.d.ts.map +1 -1
  190. package/dist/interfaces/TaskBackend.js +15 -0
  191. package/dist/interfaces/TaskBackend.js.map +1 -1
  192. package/dist/main.d.ts +15 -0
  193. package/dist/main.d.ts.map +1 -1
  194. package/dist/main.js +40 -26
  195. package/dist/main.js.map +1 -1
  196. package/dist/manager/completion-judge.d.ts +15 -0
  197. package/dist/manager/completion-judge.d.ts.map +1 -1
  198. package/dist/manager/completion-judge.js +14 -5
  199. package/dist/manager/completion-judge.js.map +1 -1
  200. package/dist/manager/completion-judge.test.d.ts +15 -0
  201. package/dist/manager/completion-judge.test.d.ts.map +1 -1
  202. package/dist/manager/completion-judge.test.js +19 -4
  203. package/dist/manager/completion-judge.test.js.map +1 -1
  204. package/dist/manager/integration-queue.d.ts +11 -5
  205. package/dist/manager/integration-queue.d.ts.map +1 -1
  206. package/dist/manager/integration-queue.js +11 -5
  207. package/dist/manager/integration-queue.js.map +1 -1
  208. package/dist/manager/integration-queue.test.d.ts +15 -0
  209. package/dist/manager/integration-queue.test.d.ts.map +1 -1
  210. package/dist/manager/integration-queue.test.js +18 -3
  211. package/dist/manager/integration-queue.test.js.map +1 -1
  212. package/dist/manager/pm-client.d.ts.map +1 -1
  213. package/dist/manager/pm-client.js +12 -5
  214. package/dist/manager/pm-client.js.map +1 -1
  215. package/dist/manager/resource-limiter.d.ts.map +1 -1
  216. package/dist/manager/resource-limiter.js +12 -3
  217. package/dist/manager/resource-limiter.js.map +1 -1
  218. package/dist/manager/resource-limiter.test.d.ts +15 -0
  219. package/dist/manager/resource-limiter.test.d.ts.map +1 -1
  220. package/dist/manager/resource-limiter.test.js +16 -1
  221. package/dist/manager/resource-limiter.test.js.map +1 -1
  222. package/dist/manager/runtime-coordinator.d.ts +15 -0
  223. package/dist/manager/runtime-coordinator.d.ts.map +1 -1
  224. package/dist/manager/runtime-coordinator.js +18 -3
  225. package/dist/manager/runtime-coordinator.js.map +1 -1
  226. package/dist/manager/supervisor.d.ts +13 -5
  227. package/dist/manager/supervisor.d.ts.map +1 -1
  228. package/dist/manager/supervisor.js +2 -2
  229. package/dist/manager/supervisor.js.map +1 -1
  230. package/dist/manager/supervisor.test.d.ts +15 -0
  231. package/dist/manager/supervisor.test.d.ts.map +1 -1
  232. package/dist/manager/supervisor.test.js +17 -2
  233. package/dist/manager/supervisor.test.js.map +1 -1
  234. package/dist/manager/worker-manager-impl.d.ts +4 -4
  235. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  236. package/dist/manager/worker-manager-impl.js +12 -6
  237. package/dist/manager/worker-manager-impl.js.map +1 -1
  238. package/dist/manager/worker-manager-impl.test.d.ts +15 -0
  239. package/dist/manager/worker-manager-impl.test.d.ts.map +1 -1
  240. package/dist/manager/worker-manager-impl.test.js +20 -5
  241. package/dist/manager/worker-manager-impl.test.js.map +1 -1
  242. package/dist/manager/worker-manager.d.ts +11 -6
  243. package/dist/manager/worker-manager.d.ts.map +1 -1
  244. package/dist/manager/worker-manager.js +11 -6
  245. package/dist/manager/worker-manager.js.map +1 -1
  246. package/dist/models/acp.d.ts +15 -0
  247. package/dist/models/acp.d.ts.map +1 -1
  248. package/dist/models/acp.js +15 -0
  249. package/dist/models/acp.js.map +1 -1
  250. package/dist/models/types.d.ts +15 -0
  251. package/dist/models/types.d.ts.map +1 -1
  252. package/dist/models/types.js +15 -0
  253. package/dist/models/types.js.map +1 -1
  254. package/dist/providers/ACPWorkerRuntime.d.ts +2 -2
  255. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  256. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  257. package/dist/providers/GitLabRepoBackend.d.ts +0 -4
  258. package/dist/providers/GitLabRepoBackend.d.ts.map +1 -1
  259. package/dist/providers/GitLabRepoBackend.js +15 -4
  260. package/dist/providers/GitLabRepoBackend.js.map +1 -1
  261. package/dist/providers/LocalACPClient.d.ts +15 -0
  262. package/dist/providers/LocalACPClient.d.ts.map +1 -1
  263. package/dist/providers/LocalACPClient.js.map +1 -1
  264. package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
  265. package/dist/providers/MarkdownTaskBackend.js +17 -2
  266. package/dist/providers/MarkdownTaskBackend.js.map +1 -1
  267. package/dist/providers/MatrixNotifier.d.ts +15 -0
  268. package/dist/providers/MatrixNotifier.d.ts.map +1 -1
  269. package/dist/providers/MatrixNotifier.js.map +1 -1
  270. package/dist/providers/PlaneTaskBackend.d.ts +0 -6
  271. package/dist/providers/PlaneTaskBackend.d.ts.map +1 -1
  272. package/dist/providers/PlaneTaskBackend.js +15 -6
  273. package/dist/providers/PlaneTaskBackend.js.map +1 -1
  274. package/dist/providers/TrelloTaskBackend.d.ts +15 -7
  275. package/dist/providers/TrelloTaskBackend.d.ts.map +1 -1
  276. package/dist/providers/TrelloTaskBackend.js +0 -8
  277. package/dist/providers/TrelloTaskBackend.js.map +1 -1
  278. package/dist/providers/adapters/AcpSdkAdapter.d.ts +1 -1
  279. package/dist/providers/adapters/AcpSdkAdapter.d.ts.map +1 -1
  280. package/dist/providers/adapters/AcpSdkAdapter.js +32 -32
  281. package/dist/providers/adapters/AcpSdkAdapter.js.map +1 -1
  282. package/dist/providers/adapters/acp-fs-handlers.d.ts.map +1 -1
  283. package/dist/providers/adapters/acp-fs-handlers.js +13 -4
  284. package/dist/providers/adapters/acp-fs-handlers.js.map +1 -1
  285. package/dist/providers/adapters/acp-fs-handlers.test.js +17 -2
  286. package/dist/providers/adapters/acp-fs-handlers.test.js.map +1 -1
  287. package/dist/providers/adapters/acp-permissions.d.ts +12 -5
  288. package/dist/providers/adapters/acp-permissions.d.ts.map +1 -1
  289. package/dist/providers/adapters/acp-permissions.js +12 -5
  290. package/dist/providers/adapters/acp-permissions.js.map +1 -1
  291. package/dist/providers/adapters/acp-permissions.test.js +17 -2
  292. package/dist/providers/adapters/acp-permissions.test.js.map +1 -1
  293. package/dist/providers/adapters/acp-session-accumulator.d.ts.map +1 -1
  294. package/dist/providers/adapters/acp-session-accumulator.js +12 -4
  295. package/dist/providers/adapters/acp-session-accumulator.js.map +1 -1
  296. package/dist/providers/adapters/acp-session-accumulator.test.js +16 -1
  297. package/dist/providers/adapters/acp-session-accumulator.test.js.map +1 -1
  298. package/dist/providers/adapters/acp-terminal-manager.d.ts.map +1 -1
  299. package/dist/providers/adapters/acp-terminal-manager.js +12 -3
  300. package/dist/providers/adapters/acp-terminal-manager.js.map +1 -1
  301. package/dist/providers/adapters/acp-terminal-manager.test.js +16 -1
  302. package/dist/providers/adapters/acp-terminal-manager.test.js.map +1 -1
  303. package/dist/providers/outputParser.d.ts +16 -1
  304. package/dist/providers/outputParser.d.ts.map +1 -1
  305. package/dist/providers/outputParser.js +14 -3
  306. package/dist/providers/outputParser.js.map +1 -1
  307. package/dist/providers/outputParser.test.js +19 -4
  308. package/dist/providers/outputParser.test.js.map +1 -1
  309. package/dist/providers/registry.d.ts +19 -4
  310. package/dist/providers/registry.d.ts.map +1 -1
  311. package/dist/providers/registry.js +4 -4
  312. package/dist/providers/registry.js.map +1 -1
  313. package/dist/providers/streamRenderer.d.ts +13 -1
  314. package/dist/providers/streamRenderer.d.ts.map +1 -1
  315. package/dist/providers/streamRenderer.js +13 -1
  316. package/dist/providers/streamRenderer.js.map +1 -1
  317. package/dist/test-setup.js +12 -3
  318. package/dist/test-setup.js.map +1 -1
  319. package/package.json +4 -3
  320. package/skills/dev-worker/SKILL.md +40 -0
  321. package/skills/sps-pipeline/SKILL.md +273 -0
  322. package/profiles/_template.md +0 -48
  323. package/profiles/critic.md +0 -35
  324. /package/{profiles → skills/dev-worker/references}/architect.md +0 -0
  325. /package/{profiles → skills/dev-worker/references}/backend.md +0 -0
  326. /package/{profiles → skills/dev-worker/references}/frontend.md +0 -0
  327. /package/{profiles → skills/dev-worker/references}/fullstack.md +0 -0
  328. /package/{profiles → skills/dev-worker/references}/optimizer.md +0 -0
  329. /package/{profiles → skills/dev-worker/references}/phaser.md +0 -0
  330. /package/{profiles → skills/dev-worker/references}/prototyper.md +0 -0
  331. /package/{profiles → skills/dev-worker/references}/reviewer.md +0 -0
  332. /package/{profiles → skills/dev-worker/references}/security.md +0 -0
  333. /package/{profiles → skills/dev-worker/references}/senior.md +0 -0
  334. /package/{profiles → skills/dev-worker/references}/typescript.md +0 -0
  335. /package/{profiles → skills/dev-worker/references}/writer.md +0 -0
@@ -0,0 +1,273 @@
1
+ ---
2
+ name: sps-pipeline
3
+ description: |
4
+ SPS pipeline management — create YAML configs, manage task cards, start/stop pipelines,
5
+ memory system, and monitor worker status. Use when asked to "create a pipeline", "set up a project",
6
+ "add tasks", "start the pipeline", "check pipeline status", or manage SPS workflow.
7
+ Proactively use when the user discusses project setup, task planning, or CI/CD automation. (🪸 Coral SPS)
8
+ ---
9
+
10
+ # SPS Pipeline Management (v0.34.0)
11
+
12
+ Manage the full lifecycle of SPS development pipelines: project setup, YAML configuration, task cards, memory system, and pipeline execution.
13
+
14
+ ## Interactive Pipeline Creation
15
+
16
+ When the user asks to create a pipeline, set up a project, or configure YAML, follow this guided flow:
17
+
18
+ ### Step 1: Gather project info
19
+
20
+ Ask the user:
21
+ 1. **项目名称** — 用于 SPS 内部标识(如 `my-app`)
22
+ 2. **代码仓库路径** — 本地路径(如 `~/projects/my-app`)
23
+ 3. **Git 远程仓库** — GitLab/GitHub 项目路径(如 `user/my-app`),留空则跳过
24
+ 4. **合并目标分支** — 默认 `main`
25
+ 5. **PM 后端** — `markdown`(本地文件,零配置)/ `plane` / `trello`
26
+
27
+ ### Step 2: Design the pipeline stages
28
+
29
+ Ask the user:
30
+ 1. **你的开发流程有几个阶段?** 常见选择:
31
+ - **简单**(1 stage):开发完直接 Done
32
+ - **标准**(2 stages):开发 → 合并
33
+ - **完整**(3+ stages):开发 → Code Review → 测试 → 合并
34
+ 2. **每个阶段用什么 Agent?** — `claude`(默认)/ `codex` / `gemini`
35
+ 3. **需要什么 skill profile?** — 如 `frontend`、`backend`、`phaser`(可选,留空用默认)
36
+ 4. **最大并发 Worker 数?** — 默认 `1`
37
+
38
+ ### Step 3: Generate and deploy
39
+
40
+ Based on the answers:
41
+ 1. Run `sps project init <name>` if project doesn't exist
42
+ 2. Generate the pipeline YAML file at `<repo>/.sps/pipelines/project.yaml`
43
+ 3. Update project conf at `~/.coral/projects/<name>/conf`
44
+ 4. Run `sps doctor <name> --fix` to validate
45
+ 5. Show the user the generated YAML and explain each section
46
+
47
+ ### Pipeline YAML location
48
+
49
+ The YAML file goes in the **project repository** (not ~/.coral/):
50
+ ```
51
+ <project-repo>/
52
+ └── .sps/
53
+ └── pipelines/
54
+ └── project.yaml ← pipeline definition
55
+ ```
56
+
57
+ `.sps/` should be in `.gitignore` (sps doctor --fix handles this automatically).
58
+
59
+ ### Example conversation
60
+
61
+ User: "帮我创建一个新项目的 pipeline"
62
+
63
+ Agent flow:
64
+ 1. Ask project name and repo path
65
+ 2. Ask how many stages they want
66
+ 3. Ask agent preference
67
+ 4. Generate YAML + conf
68
+ 5. Run doctor to validate
69
+ 6. Show next steps (add cards, start pipeline)
70
+
71
+ ---
72
+
73
+ ## Quick Reference
74
+
75
+ ### Project Setup
76
+
77
+ ```bash
78
+ # Install SPS CLI
79
+ npm install -g @coralai/sps-cli
80
+
81
+ # Initial setup (creates directories, installs skills, configures credentials)
82
+ sps setup
83
+
84
+ # Initialize a new project
85
+ sps project init <project-name>
86
+
87
+ # Edit project config
88
+ vim ~/.coral/projects/<project-name>/conf
89
+
90
+ # Health check
91
+ sps doctor <project-name> --fix
92
+ ```
93
+
94
+ ### Pipeline YAML Configuration
95
+
96
+ Create `.sps/pipelines/<name>.yaml` in the project repo. Minimum viable config (1 stage):
97
+
98
+ ```yaml
99
+ mode: project
100
+
101
+ states:
102
+ backlog: Backlog
103
+ ready: Todo
104
+ done: Done
105
+
106
+ stages:
107
+ - name: develop
108
+ trigger: "card_enters 'Todo'"
109
+ card_state: Inprogress
110
+ agent: claude
111
+ completion: git-evidence
112
+ on_complete: "move_card Done"
113
+ ```
114
+
115
+ Multi-stage example (any number of stages):
116
+
117
+ ```yaml
118
+ mode: project
119
+
120
+ states:
121
+ backlog: Backlog
122
+ ready: Ready
123
+ done: Done
124
+
125
+ stages:
126
+ - name: develop
127
+ trigger: "card_enters 'Ready'"
128
+ card_state: Active
129
+ agent: claude
130
+ profile: fullstack
131
+ completion: git-evidence
132
+ on_complete: "move_card CodeReview"
133
+ on_fail:
134
+ action: "label NEEDS-FIX"
135
+ comment: "Development worker failed."
136
+
137
+ - name: code-review
138
+ trigger: "card_enters 'CodeReview'"
139
+ card_state: CodeReview
140
+ agent: claude
141
+ profile: reviewer
142
+ completion: exit-code
143
+ on_complete: "move_card QA"
144
+
145
+ - name: integrate
146
+ trigger: "card_enters 'QA'"
147
+ card_state: QA
148
+ agent: claude
149
+ completion: fast-forward-merge
150
+ on_complete: "move_card Done"
151
+ queue: fifo
152
+ ```
153
+
154
+ Only 3 fixed state roles required (backlog/ready/done). All intermediate states come from each stage's `card_state` and `on_complete`.
155
+
156
+ ### Pipeline Switching
157
+
158
+ ```bash
159
+ sps pipeline list
160
+ sps pipeline use <project> <pipeline-name>
161
+ ```
162
+
163
+ ### Card Management
164
+
165
+ ```bash
166
+ sps card add <project> "Task title" --desc "Description"
167
+ sps card dashboard <project>
168
+ sps reset <project> <seq1> <seq2> ...
169
+ ```
170
+
171
+ ### Pipeline Execution
172
+
173
+ ```bash
174
+ # Start continuous pipeline
175
+ sps tick <project>
176
+ # or: sps pipeline start <project>
177
+
178
+ # Stop pipeline
179
+ sps stop <project>
180
+
181
+ # Check status
182
+ sps status
183
+ ```
184
+
185
+ ### Worker Monitoring
186
+
187
+ ```bash
188
+ sps worker ps <project>
189
+ sps worker kill <project> <seq>
190
+ sps worker dashboard <project>
191
+ ```
192
+
193
+ ### Memory System
194
+
195
+ Three-layer persistent memory at `~/.coral/memory/`:
196
+
197
+ ```bash
198
+ # View memory index
199
+ sps memory list <project>
200
+
201
+ # Generate memory context for prompt injection
202
+ sps memory context <project>
203
+
204
+ # Add memory entries
205
+ sps memory add <project> --type convention --name "API naming" --body "Use camelCase"
206
+ sps memory add <project> --type decision --name "Use PostgreSQL" --body "Concurrent writes needed"
207
+ sps memory add <project> --type lesson --name "Migration order" --body "Schema first, then data"
208
+ sps memory add <project> --type reference --name "Design docs" --body "figma.com/file/..."
209
+ ```
210
+
211
+ Types: `convention` (no decay), `decision` (slow decay), `lesson` (30-day decay), `reference` (no decay).
212
+
213
+ Workers receive memory in their prompt and can write new memories directly to `~/.coral/memory/projects/<name>/`.
214
+
215
+ ### Skill Management
216
+
217
+ ```bash
218
+ sps skill sync
219
+ ```
220
+
221
+ ## Architecture
222
+
223
+ ```
224
+ SchedulerEngine (orchestration)
225
+ → Backlog cards with AI-PIPELINE label → Ready
226
+
227
+ StageEngine × N (execution, YAML-driven)
228
+ → Each stage: trigger → launch worker → completion → state transition
229
+ → First stage: creates branch + worktree
230
+ → Last stage: releases resources + cleans worktree
231
+
232
+ MonitorEngine (monitoring)
233
+ → Heartbeat / stale detection across all stages
234
+ ```
235
+
236
+ ## Card State Flow
237
+
238
+ Fully configurable. Only 3 fixed roles:
239
+
240
+ ```
241
+ Backlog → Ready → [Stage 1] → [Stage 2] → ... → Done
242
+ ```
243
+
244
+ ## Key Config Fields (conf)
245
+
246
+ | Field | Description | Example |
247
+ |-------|-------------|---------|
248
+ | `PROJECT_NAME` | Project identifier | `my-project` |
249
+ | `PROJECT_DIR` | Repository path | `~/projects/my-project` |
250
+ | `GITLAB_PROJECT` | Git remote project path | `user/repo` |
251
+ | `GITLAB_MERGE_BRANCH` | Merge target branch | `main` |
252
+ | `PM_TOOL` | PM backend | `plane` / `trello` / `markdown` |
253
+ | `WORKER_TOOL` | Default AI agent | `claude` / `codex` |
254
+ | `MAX_CONCURRENT_WORKERS` | Max parallel workers | `1-5` |
255
+
256
+ ## Card Labels
257
+
258
+ | Label | Purpose |
259
+ |-------|---------|
260
+ | `AI-PIPELINE` | Marks card for pipeline processing (required) |
261
+ | `skill:xxx` | Load specific skill profile for worker |
262
+ | `conflict:xxx` | Conflict domain (same domain = serial execution) |
263
+ | `NEEDS-FIX` | Worker failed, needs manual fix |
264
+ | `BLOCKED` | External dependency blocking |
265
+
266
+ ## Troubleshooting
267
+
268
+ ```bash
269
+ sps doctor <project> --fix
270
+ sps logs <project>
271
+ ls ~/.coral/projects/<project>/logs/acp-stderr-*.log
272
+ sps reset <project> <seq>
273
+ ```
@@ -1,48 +0,0 @@
1
- ---
2
- name: template
3
- description: Template for creating worker skill profiles
4
- ---
5
-
6
- # Role
7
-
8
- Define the worker's professional identity and primary expertise.
9
- Example: "You are a senior frontend engineer specializing in React and TypeScript."
10
-
11
- # Standards
12
-
13
- Non-negotiable coding standards and quality requirements.
14
- - Language-specific rules (strict mode, linting, formatting)
15
- - Architecture patterns to follow
16
- - Anti-patterns to avoid
17
-
18
- # Architecture
19
-
20
- Preferred architecture patterns and file organization.
21
- - Directory structure conventions
22
- - State management approach
23
- - Component/module patterns
24
-
25
- # Patterns
26
-
27
- Common code patterns with examples. Include real, copy-pasteable code.
28
-
29
- ## Pattern Name
30
- ```language
31
- // code example
32
- ```
33
-
34
- # Testing
35
-
36
- Testing strategy, frameworks, and coverage requirements.
37
- - Test framework and assertion library
38
- - What to test (unit, integration, e2e)
39
- - Coverage target
40
- - Mocking strategy
41
-
42
- # Quality Metrics
43
-
44
- Measurable success criteria.
45
- - Performance targets
46
- - Bundle size limits
47
- - Accessibility scores
48
- - Coverage percentages
@@ -1,35 +0,0 @@
1
- ---
2
- name: critic
3
- description: Devil's advocate for technical discussions — challenges assumptions, finds blind spots, argues alternative positions
4
- ---
5
-
6
- # Role
7
-
8
- You are a technical critic and devil's advocate. Your job is to challenge ideas, find weaknesses in arguments, and present strong counterarguments. You are NOT trying to be difficult — you are trying to make the final decision better by stress-testing it.
9
-
10
- # Standards
11
-
12
- - Challenge every assumption. If someone says "X is better", ask "better for whom? under what conditions?"
13
- - Provide specific counterarguments, not vague objections
14
- - Back up your critique with concrete examples, data points, or real-world failure cases
15
- - Acknowledge when an argument is strong — don't argue for the sake of arguing
16
- - Offer alternative approaches the original author may not have considered
17
- - Point out risks, edge cases, and failure modes
18
- - Consider operational complexity, not just technical elegance
19
- - Think about the 6-month and 2-year consequences, not just today
20
-
21
- # Anti-patterns (do NOT do these)
22
-
23
- - Do not agree with the original position to be polite
24
- - Do not make generic objections ("this might be complex") — be specific
25
- - Do not dismiss the original argument entirely — engage with it seriously
26
- - Do not propose solutions unless asked — focus on exposing problems
27
- - Do not repeat the original text back — add new perspectives
28
-
29
- # Output Format
30
-
31
- Write your critique in clear sections:
32
- 1. What the original argument gets right (briefly)
33
- 2. Key challenges and counterarguments (the bulk of your output)
34
- 3. Risks and blind spots not addressed
35
- 4. Alternative approaches worth considering