@sushanglewis/lincoln 1.5.0 → 1.5.2

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 (305) hide show
  1. package/dist/main.d.ts +3 -0
  2. package/dist/main.js +1286 -916
  3. package/dist/main.js.map +1 -1
  4. package/dist/postinstall.d.ts +3 -0
  5. package/dist/postinstall.js +18 -0
  6. package/dist/postinstall.js.map +1 -0
  7. package/framework/.claude/agents/_contract.md +79 -0
  8. package/framework/.claude/agents/architect.md +31 -0
  9. package/framework/.claude/agents/default.md +151 -0
  10. package/framework/.claude/agents/designer.md +33 -0
  11. package/framework/.claude/agents/engineer.md +42 -0
  12. package/framework/.claude/agents/external/NOTICES.md +12 -0
  13. package/framework/.claude/agents/external/everything-claude-code.manifest.yaml +23 -0
  14. package/framework/.claude/agents/external/oh-my-claudecode.manifest.yaml +26 -0
  15. package/framework/.claude/agents/external/wshobson-agents.manifest.yaml +23 -0
  16. package/framework/.claude/agents/frontend-engineer.md +32 -0
  17. package/framework/.claude/agents/knowledge-curator.md +28 -0
  18. package/framework/.claude/agents/pm.md +38 -0
  19. package/framework/.claude/agents/qa.md +28 -0
  20. package/framework/.claude/agents/release-coordinator.md +25 -0
  21. package/framework/.claude/agents/researcher.md +41 -0
  22. package/framework/.claude/harnesses/claude-code.yaml +15 -0
  23. package/framework/.claude/harnesses/codex.yaml +40 -0
  24. package/framework/.claude/harnesses/command-map.yaml +255 -0
  25. package/framework/.claude/harnesses/opencode.yaml +32 -0
  26. package/framework/.claude/harnesses/scenarios.yaml +45 -0
  27. package/framework/.claude/hooks/on-pr-event.sh +69 -0
  28. package/framework/.claude/hooks/on-session-start.sh +427 -0
  29. package/framework/.claude/hooks/on-stop.sh +104 -0
  30. package/framework/.claude/hooks/post-tool-use.sh +161 -0
  31. package/framework/.claude/hooks/pre-tool-use.sh +246 -0
  32. package/framework/.claude/schemas/agent-definition.schema.json +35 -0
  33. package/framework/.claude/schemas/benchmark-report.schema.json +148 -0
  34. package/framework/.claude/schemas/pm-to-ux-handoff.schema.yaml +128 -0
  35. package/framework/.claude/schemas/stage-definition.schema.json +233 -0
  36. package/framework/.claude/schemas/workflow-stage.schema.json +86 -0
  37. package/framework/.claude/schemas/workflow-template.schema.json +88 -0
  38. package/framework/.claude/settings.json +14 -0
  39. package/framework/.claude/skills/build-product-prototype/SKILL.md +35 -0
  40. package/framework/.claude/skills/build-product-prototype/prompts/main.md +78 -0
  41. package/framework/.claude/skills/clarify-requirements/SKILL.md +32 -0
  42. package/framework/.claude/skills/clarify-requirements/prompts/main.md +81 -0
  43. package/framework/.claude/skills/dependencies.yaml +139 -0
  44. package/framework/.claude/skills/draft-product-design/SKILL.md +40 -0
  45. package/framework/.claude/skills/draft-product-design/prompts/main.md +47 -0
  46. package/framework/.claude/skills/lc-analyze-frameworks/SKILL.md +43 -0
  47. package/framework/.claude/skills/lc-analyze-frameworks/prompts/main.md +95 -0
  48. package/framework/.claude/skills/lc-benchmark/SKILL.md +61 -0
  49. package/framework/.claude/skills/lc-build-codebase-knowledge/SKILL.md +38 -0
  50. package/framework/.claude/skills/lc-build-codebase-knowledge/prompts/build-codebase-knowledge.md +61 -0
  51. package/framework/.claude/skills/lc-collect-intelligence/SKILL.md +43 -0
  52. package/framework/.claude/skills/lc-collect-intelligence/prompts/main.md +72 -0
  53. package/framework/.claude/skills/lc-competitive-analysis/SKILL.md +43 -0
  54. package/framework/.claude/skills/lc-competitive-analysis/prompts/main.md +70 -0
  55. package/framework/.claude/skills/lc-explore-opensource/SKILL.md +36 -0
  56. package/framework/.claude/skills/lc-explore-opensource/prompts/explore-opensource.md +77 -0
  57. package/framework/.claude/skills/lc-first-principles/SKILL.md +43 -0
  58. package/framework/.claude/skills/lc-first-principles/prompts/main.md +73 -0
  59. package/framework/.claude/skills/lc-handoff/SKILL.md +34 -0
  60. package/framework/.claude/skills/lc-init-branch/SKILL.md +52 -0
  61. package/framework/.claude/skills/lc-market-research/SKILL.md +43 -0
  62. package/framework/.claude/skills/lc-market-research/prompts/main.md +79 -0
  63. package/framework/.claude/skills/lc-product-research/SKILL.md +43 -0
  64. package/framework/.claude/skills/lc-product-research/prompts/main.md +80 -0
  65. package/framework/.claude/skills/lc-research-report/SKILL.md +43 -0
  66. package/framework/.claude/skills/lc-research-report/prompts/main.md +90 -0
  67. package/framework/.claude/skills/lc-research-scope/SKILL.md +43 -0
  68. package/framework/.claude/skills/lc-research-scope/prompts/main.md +82 -0
  69. package/framework/.claude/skills/lc-setup/SKILL.md +68 -0
  70. package/framework/.claude/skills/lc-setup/prompts/main.md +88 -0
  71. package/framework/.claude/skills/lc-stage/SKILL.md +45 -0
  72. package/framework/.claude/skills/lc-stakeholder-research/SKILL.md +43 -0
  73. package/framework/.claude/skills/lc-stakeholder-research/prompts/main.md +65 -0
  74. package/framework/.claude/skills/lc-status/SKILL.md +25 -0
  75. package/framework/.claude/skills/lc-storytelling/SKILL.md +43 -0
  76. package/framework/.claude/skills/lc-storytelling/prompts/main.md +77 -0
  77. package/framework/.claude/skills/lc-wf/SKILL.md +54 -0
  78. package/framework/.claude/skills/lc-workflow/SKILL.md +48 -0
  79. package/framework/.claude/skills/lc-workflow/validators/validate.py +755 -0
  80. package/framework/.claude/skills/lc-workflow-router/SKILL.md +41 -0
  81. package/framework/.claude/skills/lc-workflow-router/prompts/intake-prompt.md +91 -0
  82. package/framework/.claude/skills/lc-workflow-router/prompts/router-prompt.md +44 -0
  83. package/framework/.claude/skills/plan-tdd-development/SKILL.md +31 -0
  84. package/framework/.claude/skills/plan-tdd-development/prompts/main.md +44 -0
  85. package/framework/.claude/skills/process-interview/SKILL.md +32 -0
  86. package/framework/.claude/skills/process-interview/prompts/main.md +47 -0
  87. package/framework/.claude/skills/propose-with-openspec/SKILL.md +37 -0
  88. package/framework/.claude/skills/propose-with-openspec/prompts/main.md +53 -0
  89. package/framework/.claude/skills/split-to-github/SKILL.md +32 -0
  90. package/framework/.claude/skills/split-to-github/prompts/main.md +42 -0
  91. package/framework/.claude/skills/sync-to-knowledge/SKILL.md +35 -0
  92. package/framework/.claude/skills/sync-to-knowledge/prompts/main.md +54 -0
  93. package/framework/.claude/skills/workflow-continue/SKILL.md +24 -0
  94. package/framework/.claude/skills/workflow-continue/prompts/main.md +25 -0
  95. package/framework/.claude/stages/build-codebase-knowledge.yaml +42 -0
  96. package/framework/.claude/stages/clarify.yaml +59 -0
  97. package/framework/.claude/stages/explore-opensource.yaml +40 -0
  98. package/framework/.claude/stages/implement.yaml +60 -0
  99. package/framework/.claude/stages/ingest.yaml +40 -0
  100. package/framework/.claude/stages/lc-analyze-frameworks.yaml +37 -0
  101. package/framework/.claude/stages/lc-collect-intelligence.yaml +37 -0
  102. package/framework/.claude/stages/lc-competitive-analysis.yaml +37 -0
  103. package/framework/.claude/stages/lc-first-principles.yaml +37 -0
  104. package/framework/.claude/stages/lc-market-research.yaml +37 -0
  105. package/framework/.claude/stages/lc-product-research.yaml +37 -0
  106. package/framework/.claude/stages/lc-research-report.yaml +38 -0
  107. package/framework/.claude/stages/lc-research-scope.yaml +38 -0
  108. package/framework/.claude/stages/lc-stakeholder-research.yaml +37 -0
  109. package/framework/.claude/stages/lc-storytelling.yaml +37 -0
  110. package/framework/.claude/stages/product-design-docs.yaml +66 -0
  111. package/framework/.claude/stages/product-prototype.yaml +53 -0
  112. package/framework/.claude/stages/propose.yaml +45 -0
  113. package/framework/.claude/stages/split.yaml +41 -0
  114. package/framework/.claude/stages/sync-knowledge.yaml +49 -0
  115. package/framework/.claude/stages/tdd-development-plan.yaml +43 -0
  116. package/framework/.claude/stages/workflow-router.yaml +45 -0
  117. package/framework/.claude/templates/solo-workflow-context.yaml +23 -0
  118. package/framework/.claude/workflows/README.md +93 -0
  119. package/framework/.claude/workflows/bug-fix.yaml +81 -0
  120. package/framework/.claude/workflows/design-spike.yaml +55 -0
  121. package/framework/.claude/workflows/existing-project-iteration.yaml +106 -0
  122. package/framework/.claude/workflows/interview-to-knowledge.yaml +189 -0
  123. package/framework/.claude/workflows/oss-first-design.yaml +100 -0
  124. package/framework/.claude/workflows/pm-research.yaml +115 -0
  125. package/framework/.claude-plugin/hooks.json +6 -0
  126. package/framework/.claude-plugin/marketplace.json +32 -0
  127. package/framework/.claude-plugin/plugin.json +57 -0
  128. package/framework/.version-bump.json +43 -0
  129. package/framework/CLAUDE.md +140 -0
  130. package/framework/CONTRIBUTING.md +219 -0
  131. package/framework/LICENSE +21 -0
  132. package/framework/README.en.md +139 -0
  133. package/framework/README.md +139 -0
  134. package/framework/RELEASE.md +334 -0
  135. package/framework/SKILL.md +24 -0
  136. package/framework/USAGE.md +356 -0
  137. package/framework/manifest.json +1214 -0
  138. package/framework/requirements.txt +4 -0
  139. package/framework/scripts/__init__.py +0 -0
  140. package/framework/scripts/build_codebase_knowledge.py +76 -0
  141. package/framework/scripts/bump_version.py +181 -0
  142. package/framework/scripts/check-dependency-drift.py +69 -0
  143. package/framework/scripts/check-harness-drift.sh +57 -0
  144. package/framework/scripts/check-main-merge-hygiene.py +128 -0
  145. package/framework/scripts/check-skill-dependencies.sh +124 -0
  146. package/framework/scripts/init-lincoln-branch.sh +300 -0
  147. package/framework/scripts/init-project.sh +184 -0
  148. package/framework/scripts/lc-benchmark-cli.py +66 -0
  149. package/framework/scripts/lincoln-audit.py +288 -0
  150. package/framework/scripts/lincoln-setup.py +651 -0
  151. package/framework/scripts/lincoln-status.py +448 -0
  152. package/framework/scripts/lincoln_benchmark.py +224 -0
  153. package/framework/scripts/lincoln_benchmark_eval.py +104 -0
  154. package/framework/scripts/lincoln_benchmark_metrics.py +818 -0
  155. package/framework/scripts/lincoln_benchmark_report.py +141 -0
  156. package/framework/scripts/lincoln_command_map.py +289 -0
  157. package/framework/scripts/lincoln_dependency_manager.py +335 -0
  158. package/framework/scripts/lincoln_documents.py +175 -0
  159. package/framework/scripts/lincoln_harness_adapter.py +319 -0
  160. package/framework/scripts/lincoln_index.py +255 -0
  161. package/framework/scripts/lincoln_paths.py +198 -0
  162. package/framework/scripts/lincoln_prd.py +227 -0
  163. package/framework/scripts/lincoln_role.py +46 -0
  164. package/framework/scripts/lincoln_scenario.py +59 -0
  165. package/framework/scripts/lincoln_session_start_metrics.py +71 -0
  166. package/framework/scripts/lincoln_skill_prompt.py +48 -0
  167. package/framework/scripts/lincoln_trace.py +335 -0
  168. package/framework/scripts/lincoln_workflow.py +199 -0
  169. package/framework/scripts/list-active-lincoln-branches.sh +87 -0
  170. package/framework/scripts/package-lincoln-plugin.py +340 -0
  171. package/framework/scripts/run-infrastructure-tests.py +84 -0
  172. package/framework/scripts/stage_loader.py +1071 -0
  173. package/framework/scripts/static-check.sh +356 -0
  174. package/framework/scripts/sync-external-agents.sh +210 -0
  175. package/framework/scripts/sync-framework-package.mjs +218 -0
  176. package/framework/scripts/task_tool_guard.py +213 -0
  177. package/framework/scripts/track-artifacts.py +140 -0
  178. package/framework/scripts/validate_stage.py +350 -0
  179. package/{README.md → framework/tools/lincoln/README.md} +4 -4
  180. package/framework/tools/lincoln/package-lock.json +3349 -0
  181. package/framework/tools/lincoln/package.json +48 -0
  182. package/framework/tools/lincoln/src/cli.tsx +60 -0
  183. package/framework/tools/lincoln/src/components/AudioMeter.tsx +34 -0
  184. package/framework/tools/lincoln/src/components/CancelledScreen.tsx +11 -0
  185. package/framework/tools/lincoln/src/components/DevicesMenu.tsx +79 -0
  186. package/framework/tools/lincoln/src/components/HintBar.tsx +25 -0
  187. package/framework/tools/lincoln/src/components/LogView.tsx +36 -0
  188. package/framework/tools/lincoln/src/components/ModelMenu.tsx +122 -0
  189. package/framework/tools/lincoln/src/components/ReadyScreen.tsx +54 -0
  190. package/framework/tools/lincoln/src/components/RecordingApp.tsx +211 -0
  191. package/framework/tools/lincoln/src/components/RecordingScreen.tsx +41 -0
  192. package/framework/tools/lincoln/src/components/SelectMenu.tsx +53 -0
  193. package/framework/tools/lincoln/src/components/StatusPanel.tsx +52 -0
  194. package/framework/tools/lincoln/src/components/StopConfirmation.tsx +32 -0
  195. package/framework/tools/lincoln/src/config/args.ts +35 -0
  196. package/framework/tools/lincoln/src/config/loadConfig.ts +81 -0
  197. package/framework/tools/lincoln/src/config/resolveConfig.ts +85 -0
  198. package/framework/tools/lincoln/src/devices/listDevices.ts +11 -0
  199. package/framework/tools/lincoln/src/devices/parseDevices.ts +25 -0
  200. package/framework/tools/lincoln/src/hooks/useKeyHandler.ts +63 -0
  201. package/framework/tools/lincoln/src/main.tsx +4 -0
  202. package/framework/tools/lincoln/src/models/models.ts +34 -0
  203. package/framework/tools/lincoln/src/models/runWarmup.ts +46 -0
  204. package/framework/tools/lincoln/src/models/warmupProgress.ts +30 -0
  205. package/framework/tools/lincoln/src/recording/spawnRecorder.ts +127 -0
  206. package/framework/tools/lincoln/src/recording/useRecorder.ts +146 -0
  207. package/framework/tools/lincoln/src/utils/amplitudeToMeter.ts +4 -0
  208. package/framework/tools/lincoln/src/utils/formatDuration.ts +6 -0
  209. package/framework/tools/lincoln/src/utils/sessionId.ts +25 -0
  210. package/framework/tools/lincoln/tests/cli.test.tsx +52 -0
  211. package/framework/tools/lincoln/tests/components/AudioMeter.test.tsx +31 -0
  212. package/framework/tools/lincoln/tests/components/CancelledScreen.test.tsx +12 -0
  213. package/framework/tools/lincoln/tests/components/ReadyScreen.test.tsx +68 -0
  214. package/framework/tools/lincoln/tests/components/RecordingApp.menus.test.tsx +158 -0
  215. package/framework/tools/lincoln/tests/components/RecordingApp.test.tsx +248 -0
  216. package/framework/tools/lincoln/tests/components/RecordingScreen.test.tsx +37 -0
  217. package/framework/tools/lincoln/tests/components/SelectMenu.test.tsx +59 -0
  218. package/framework/tools/lincoln/tests/components/StopConfirmation.test.tsx +38 -0
  219. package/framework/tools/lincoln/tests/config/args.test.ts +49 -0
  220. package/framework/tools/lincoln/tests/config/loadConfig.test.ts +59 -0
  221. package/framework/tools/lincoln/tests/config/resolveConfig.test.ts +72 -0
  222. package/framework/tools/lincoln/tests/devices/parseDevices.test.ts +21 -0
  223. package/framework/tools/lincoln/tests/hooks/useKeyHandler.enabled.test.tsx +44 -0
  224. package/framework/tools/lincoln/tests/hooks/useKeyHandler.test.tsx +130 -0
  225. package/framework/tools/lincoln/tests/models/models.test.ts +27 -0
  226. package/framework/tools/lincoln/tests/models/warmupProgress.test.ts +25 -0
  227. package/framework/tools/lincoln/tests/recording/spawnRecorder.test.ts +85 -0
  228. package/framework/tools/lincoln/tests/recording/useRecorder.test.tsx +172 -0
  229. package/framework/tools/lincoln/tests/utils/amplitudeToMeter.test.ts +22 -0
  230. package/framework/tools/lincoln/tests/utils/formatDuration.test.ts +11 -0
  231. package/framework/tools/lincoln/tests/utils/sessionId.test.ts +30 -0
  232. package/framework/tools/lincoln/tsconfig.json +22 -0
  233. package/framework/tools/lincoln/tsconfig.tests.json +10 -0
  234. package/framework/tools/lincoln/tsup.config.ts +17 -0
  235. package/framework/tools/lincoln/vitest.config.ts +20 -0
  236. package/framework/tools/lincoln-installer/package-lock.json +3611 -0
  237. package/framework/tools/lincoln-installer/package.json +53 -0
  238. package/framework/tools/lincoln-installer/src/cli.tsx +63 -0
  239. package/framework/tools/lincoln-installer/src/components/HarnessSelectScreen.tsx +43 -0
  240. package/framework/tools/lincoln-installer/src/components/InstallerApp.tsx +98 -0
  241. package/framework/tools/lincoln-installer/src/components/OptionsScreen.tsx +56 -0
  242. package/framework/tools/lincoln-installer/src/components/ProgressScreen.tsx +25 -0
  243. package/framework/tools/lincoln-installer/src/components/ResultScreen.tsx +40 -0
  244. package/framework/tools/lincoln-installer/src/components/SelectMenu.tsx +73 -0
  245. package/framework/tools/lincoln-installer/src/components/SummaryScreen.tsx +49 -0
  246. package/framework/tools/lincoln-installer/src/components/UpdateApp.tsx +135 -0
  247. package/framework/tools/lincoln-installer/src/components/WelcomeScreen.tsx +22 -0
  248. package/framework/tools/lincoln-installer/src/config/args.ts +76 -0
  249. package/framework/tools/lincoln-installer/src/config/resolveConfig.ts +33 -0
  250. package/framework/tools/lincoln-installer/src/config/updateArgs.ts +67 -0
  251. package/framework/tools/lincoln-installer/src/hooks/useSetup.ts +149 -0
  252. package/framework/tools/lincoln-installer/src/main.tsx +11 -0
  253. package/framework/tools/lincoln-installer/src/types.ts +19 -0
  254. package/framework/tools/lincoln-installer/src/update-main.tsx +11 -0
  255. package/framework/tools/lincoln-installer/src/update.tsx +90 -0
  256. package/framework/tools/lincoln-installer/src/utils/detectHarness.ts +51 -0
  257. package/framework/tools/lincoln-installer/src/utils/runSetup.ts +62 -0
  258. package/framework/tools/lincoln-installer/src/utils/updateRelease.ts +454 -0
  259. package/framework/tools/lincoln-installer/tests/components/InstallerApp.test.tsx +88 -0
  260. package/framework/tools/lincoln-installer/tests/components/SelectMenu.test.tsx +26 -0
  261. package/framework/tools/lincoln-installer/tests/components/UpdateApp.test.tsx +170 -0
  262. package/framework/tools/lincoln-installer/tests/components/screens.test.tsx +310 -0
  263. package/framework/tools/lincoln-installer/tests/config/args.test.ts +66 -0
  264. package/framework/tools/lincoln-installer/tests/config/resolveConfig.test.ts +75 -0
  265. package/framework/tools/lincoln-installer/tests/config/updateArgs.test.ts +52 -0
  266. package/framework/tools/lincoln-installer/tests/hooks/useSetup.test.tsx +213 -0
  267. package/framework/tools/lincoln-installer/tests/update.test.tsx +108 -0
  268. package/framework/tools/lincoln-installer/tests/utils/detectHarness.test.ts +40 -0
  269. package/framework/tools/lincoln-installer/tests/utils/runSetup.test.ts +45 -0
  270. package/framework/tools/lincoln-installer/tests/utils/updateRelease.test.ts +559 -0
  271. package/framework/tools/lincoln-installer/tsconfig.json +22 -0
  272. package/framework/tools/lincoln-installer/tsconfig.tests.json +8 -0
  273. package/framework/tools/lincoln-installer/tsup.config.ts +17 -0
  274. package/framework/tools/lincoln-installer/vitest.config.ts +20 -0
  275. package/framework/tools/lincoln-record/Cargo.lock +1896 -0
  276. package/framework/tools/lincoln-record/Cargo.toml +24 -0
  277. package/framework/tools/lincoln-record/diarize/diarize.py +117 -0
  278. package/framework/tools/lincoln-record/diarize/merge.py +55 -0
  279. package/framework/tools/lincoln-record/src/audio/capture/microphone.rs +194 -0
  280. package/framework/tools/lincoln-record/src/audio/capture/mod.rs +1 -0
  281. package/framework/tools/lincoln-record/src/audio/devices.rs +20 -0
  282. package/framework/tools/lincoln-record/src/audio/mod.rs +5 -0
  283. package/framework/tools/lincoln-record/src/audio/resampler.rs +44 -0
  284. package/framework/tools/lincoln-record/src/audio/saver.rs +87 -0
  285. package/framework/tools/lincoln-record/src/audio/source.rs +104 -0
  286. package/framework/tools/lincoln-record/src/cli.rs +96 -0
  287. package/framework/tools/lincoln-record/src/config.rs +135 -0
  288. package/framework/tools/lincoln-record/src/lib.rs +6 -0
  289. package/framework/tools/lincoln-record/src/main.rs +242 -0
  290. package/framework/tools/lincoln-record/src/model/mod.rs +248 -0
  291. package/framework/tools/lincoln-record/src/output/metadata.rs +30 -0
  292. package/framework/tools/lincoln-record/src/output/mod.rs +2 -0
  293. package/framework/tools/lincoln-record/src/output/transcript.rs +42 -0
  294. package/framework/tools/lincoln-record/src/transcription/diarization.rs +64 -0
  295. package/framework/tools/lincoln-record/src/transcription/mod.rs +3 -0
  296. package/framework/tools/lincoln-record/src/transcription/provider.rs +43 -0
  297. package/framework/tools/lincoln-record/src/transcription/whisper.rs +176 -0
  298. package/framework/tools/lincoln-record/tests/cli_args.rs +103 -0
  299. package/framework/tools/lincoln-record/tests/config_test.rs +70 -0
  300. package/framework/tools/lincoln-record/tests/devices_test.rs +23 -0
  301. package/framework/tools/lincoln-record/tests/diarization_tests.rs +101 -0
  302. package/framework/tools/lincoln-record/tests/integration_tests.rs +44 -0
  303. package/framework/tools/lincoln-record/tests/model_test.rs +68 -0
  304. package/framework/tools/lincoln-record/tests/transcription_tests.rs +73 -0
  305. package/package.json +19 -13
@@ -0,0 +1,255 @@
1
+ # lc-* 命令单一事实源(Single source of truth)
2
+ # 三个 harness manifest(claude-code.yaml / codex.yaml / opencode.yaml)通过
3
+ # command_map_source: command-map.yaml 引用本文件。
4
+ # 新增/修改命令请运行: python3 "$LINCOLN_ROOT/scripts/lincoln_command_map.py" --refresh
5
+ commands:
6
+ lc-agent-architect:
7
+ description: Lincoln 架构师角色,用于系统设计、技术方案评审与跨阶段技术把关
8
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role architect
9
+ args_hint: $ARGUMENTS
10
+ lc-agent-designer:
11
+ description: 产品设计师角色模板,用于原型/UI 阶段
12
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role designer
13
+ args_hint: $ARGUMENTS
14
+ lc-agent-engineer:
15
+ description: 研发工程师角色模板,用于 TDD 计划、实现、测试阶段
16
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role engineer
17
+ args_hint: $ARGUMENTS
18
+ lc-agent-frontend-engineer:
19
+ description: Lincoln 前端工程师角色,用于原型实现、UI 评审与前端技术把关
20
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role frontend-engineer
21
+ args_hint: $ARGUMENTS
22
+ lc-agent-knowledge-curator:
23
+ description: Durable knowledge curator for accepted Lincoln feature work
24
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role knowledge-curator
25
+ args_hint: $ARGUMENTS
26
+ lc-agent-pm:
27
+ description: 产品经理角色模板,用于需求澄清、产品设计等 human_gate 阶段
28
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role pm
29
+ args_hint: $ARGUMENTS
30
+ lc-agent-qa:
31
+ description: QA and acceptance specialist for Lincoln validation and release readiness
32
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role qa
33
+ args_hint: $ARGUMENTS
34
+ lc-agent-release-coordinator:
35
+ description: Release and main-merge hygiene specialist for Lincoln feature branches
36
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role release-coordinator
37
+ args_hint: $ARGUMENTS
38
+ lc-agent-researcher:
39
+ description: Research specialist for Lincoln design, feasibility, and PM-led research
40
+ stages
41
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_role.py" --role researcher
42
+ args_hint: $ARGUMENTS
43
+ lc-approve:
44
+ description: 人类 PM 确认当前阶段 gate 通过(仅 human_gate 阶段)
45
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py"
46
+ args_hint: --stage <current_stage> --action approve-gate
47
+ lc-benchmark:
48
+ description: 运行 Lincoln benchmark 报告(需显式调用)
49
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/lc-benchmark-cli.py"
50
+ args_hint: '[--trigger manual|handoff|pr_created|pr_merged|session_stop]'
51
+ lc-handoff:
52
+ description: 生成阶段 handoff 报告
53
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py"
54
+ args_hint: --stage <current_stage> --action handoff-report
55
+ lc-init-branch:
56
+ description: 初始化 issue 工作包(分支 + workflow-stage.yaml)
57
+ action: bash scripts/init-lincoln-branch.sh
58
+ args_hint: --issue-number <N>
59
+ lc-scenario-build-codebase-knowledge:
60
+ description: 为已有源码构建功能知识库
61
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario build-codebase-knowledge
62
+ args_hint: $ARGUMENTS
63
+ lc-scenario-make-pr:
64
+ description: 整理 PR 摘要与合并准备
65
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario make-pr
66
+ args_hint: $ARGUMENTS
67
+ lc-scenario-make-prd:
68
+ description: 制作 PRD 与已确认的需求文档
69
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario make-prd
70
+ args_hint: $ARGUMENTS
71
+ lc-scenario-make-tdd:
72
+ description: 生成 TDD 研发计划
73
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario make-tdd
74
+ args_hint: $ARGUMENTS
75
+ lc-scenario-make-ux:
76
+ description: 制作产品设计与原型规格
77
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario make-ux
78
+ args_hint: $ARGUMENTS
79
+ lc-scenario-pm-research:
80
+ description: 完整 PM 市场/竞品/用户/相关者研究
81
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario pm-research
82
+ args_hint: $ARGUMENTS
83
+ lc-scenario-research-oss:
84
+ description: 开源方案调研
85
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_scenario.py" --scenario research-oss
86
+ args_hint: $ARGUMENTS
87
+ lc-setup:
88
+ description: 安装/检查 Lincoln 依赖并生成 harness 适配产物
89
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/lincoln-setup.py"
90
+ lc-skill-analyze-frameworks:
91
+ description: 提供并应用分析框架(SWOT、波特五力、商业模式画布、PEST、用户分析等),必要时生成 ECharts/HTML 可视化方案。
92
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-analyze-frameworks
93
+ args_hint: $ARGUMENTS
94
+ lc-skill-benchmark:
95
+ description: Generate a Lincoln benchmark report on explicit request.
96
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-benchmark
97
+ args_hint: $ARGUMENTS
98
+ lc-skill-build-codebase-knowledge:
99
+ description: Use when starting Lincoln on an existing project with source code
100
+ but no feature knowledge base yet.
101
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-build-codebase-knowledge
102
+ args_hint: $ARGUMENTS
103
+ lc-skill-build-product-prototype:
104
+ description: 基于已确认设计文档生成字段、界面规格和 Pencil 原型
105
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill build-product-prototype
106
+ args_hint: $ARGUMENTS
107
+ lc-skill-clarify-requirements:
108
+ description: 基于访谈内容与人类 PM 多轮澄清需求
109
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill clarify-requirements
110
+ args_hint: $ARGUMENTS
111
+ lc-skill-collect-intelligence:
112
+ description: 基于权威报告、官方动态、开放 API、官网等渠道,体系化收集研究所需的权威信息并标注来源。
113
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-collect-intelligence
114
+ args_hint: $ARGUMENTS
115
+ lc-skill-competitive-analysis:
116
+ description: 分析竞争格局,评估竞争对手定位、能力、优势与劣势,形成差异化洞察。
117
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-competitive-analysis
118
+ args_hint: $ARGUMENTS
119
+ lc-skill-draft-product-design:
120
+ description: 基于已确认需求生成产品设计评审文档包
121
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill draft-product-design
122
+ args_hint: $ARGUMENTS
123
+ lc-skill-explore-opensource:
124
+ description: Use during product design when the requirement can be solved or informed
125
+ by existing open-source projects.
126
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-explore-opensource
127
+ args_hint: $ARGUMENTS
128
+ lc-skill-first-principles:
129
+ description: 帮助 PM 回归底层真相,挑战假设,识别第一性原理,为研究奠定坚实基础。
130
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-first-principles
131
+ args_hint: $ARGUMENTS
132
+ lc-skill-handoff:
133
+ description: 为当前阶段生成交接文档,并标记人类审批通过
134
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-handoff
135
+ args_hint: $ARGUMENTS
136
+ lc-skill-init-branch:
137
+ description: 基于 GitHub issue 初始化 Lincoln issue work package 和 feature branch
138
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-init-branch
139
+ args_hint: $ARGUMENTS
140
+ lc-skill-market-research:
141
+ description: 分析市场规模、趋势、细分与动态,为产品定位与机会判断提供事实基础。
142
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-market-research
143
+ args_hint: $ARGUMENTS
144
+ lc-skill-plan-tdd-development:
145
+ description: 基于已确认产品设计和原型生成 TDD 研发计划
146
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill plan-tdd-development
147
+ args_hint: $ARGUMENTS
148
+ lc-skill-process-interview:
149
+ description: 处理访谈录音,生成转写、摘要和初始洞察
150
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill process-interview
151
+ args_hint: $ARGUMENTS
152
+ lc-skill-product-research:
153
+ description: 研究相关产品/解决方案的能力、价值主张、使用场景与优劣势。
154
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-product-research
155
+ args_hint: $ARGUMENTS
156
+ lc-skill-propose-with-openspec:
157
+ description: 基于已确认 TDD 研发计划调用 OpenSpec CLI 生成变更提案 artifact
158
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill propose-with-openspec
159
+ args_hint: $ARGUMENTS
160
+ lc-skill-research-report:
161
+ description: 整合 PM 研究全流程产物,输出可交付、可沉淀的研究报告。
162
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-research-report
163
+ args_hint: $ARGUMENTS
164
+ lc-skill-research-scope:
165
+ description: 界定 PM 研究工作的范围、目标、问题与验收标准,作为后续研究阶段的单一事实来源。
166
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-research-scope
167
+ args_hint: $ARGUMENTS
168
+ lc-skill-setup:
169
+ description: 'Lincoln 环境初始化 skill。用于在仓库首次打开或依赖发生变化时,
170
+
171
+ 检查、安装并配置 Lincoln 所需的外部 skills、CLI 工具、插件以及仓库配置。'
172
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-setup
173
+ args_hint: $ARGUMENTS
174
+ lc-skill-split-to-github:
175
+ description: 将 OpenSpec tasks 拆分为 GitHub Issues
176
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill split-to-github
177
+ args_hint: $ARGUMENTS
178
+ lc-skill-stage:
179
+ description: 用自然语言驱动当前阶段的生命周期:查看状态、校验准入、提交产物、确认 gate、进入下一阶段
180
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-stage
181
+ args_hint: $ARGUMENTS
182
+ lc-skill-stakeholder-research:
183
+ description: 识别并研究产品相关者(用户、买单方、建设方、维护方),找到他们的发声渠道并分析其诉求。
184
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-stakeholder-research
185
+ args_hint: $ARGUMENTS
186
+ lc-skill-status:
187
+ description: 查看当前 Lincoln 分支的阶段状态、等待对象、推荐技能和下一步动作
188
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-status
189
+ args_hint: $ARGUMENTS
190
+ lc-skill-storytelling:
191
+ description: 基于金字塔原理与科学论述逻辑,将研究成果结构化为动人的、可说服决策者的故事。
192
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-storytelling
193
+ args_hint: $ARGUMENTS
194
+ lc-skill-sync-to-knowledge:
195
+ description: PR 合并后将代码和 issue 沉淀到 Obsidian 知识库
196
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill sync-to-knowledge
197
+ args_hint: $ARGUMENTS
198
+ lc-skill-wf:
199
+ description: Lincoln workflow bundle 入口,按 lc-wf-<workflow-name> 启动对应 SOP(solo
200
+ 或 team)
201
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-wf
202
+ args_hint: $ARGUMENTS
203
+ lc-skill-workflow:
204
+ description: Lincoln 访谈到知识库完整工作流 bundle,按需组合 9 个阶段 skill
205
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-workflow
206
+ args_hint: $ARGUMENTS
207
+ lc-skill-workflow-continue:
208
+ description: 人类修改文件后继续被暂停的工作流
209
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill workflow-continue
210
+ args_hint: $ARGUMENTS
211
+ lc-skill-workflow-router:
212
+ description: Use at the start of a Lincoln session to run session intake (recon,
213
+ situation judgment, Johari confirmation) and select the most appropriate workflow
214
+ template.
215
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_skill_prompt.py" --skill lc-workflow-router
216
+ args_hint: $ARGUMENTS
217
+ lc-status:
218
+ description: 显示当前 Lincoln 阶段状态与下一步动作
219
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/lincoln-status.py"
220
+ lc-submit:
221
+ description: 提交当前阶段产物(写入 workflow-stage.yaml 并刷新 documents.yaml)
222
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py"
223
+ args_hint: --stage <current_stage> --action record-artifacts
224
+ lc-validate:
225
+ description: 运行当前阶段的准入校验(validate-entry)
226
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/stage_loader.py"
227
+ args_hint: --stage <current_stage> --action validate-entry
228
+ lc-wf-bug-fix:
229
+ description: 基于明确 issue/bug 的快速修复工作流
230
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
231
+ args_hint: start --workflow bug-fix
232
+ lc-wf-design-spike:
233
+ description: 仅做方案预研,不进入研发实现
234
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
235
+ args_hint: start --workflow design-spike
236
+ lc-wf-existing-project-iteration:
237
+ description: 已有源码项目的 Lincoln 迭代工作流
238
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
239
+ args_hint: start --workflow existing-project-iteration
240
+ lc-wf-interview-to-knowledge:
241
+ description: 从访谈录音到 GitHub Issues 再到 Obsidian 知识库沉淀的标准工作流
242
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
243
+ args_hint: start --workflow interview-to-knowledge --issue-number <N>
244
+ lc-wf-list:
245
+ description: 列出所有已注册的 Lincoln workflow 及其执行模式(solo/team)
246
+ action: python3 "${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-$HOME/.lincoln/current}}/scripts/lincoln_workflow.py"
247
+ args_hint: list
248
+ lc-wf-oss-first-design:
249
+ description: 先探索开源方案,再进行产品设计
250
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
251
+ args_hint: start --workflow oss-first-design
252
+ lc-wf-pm-research:
253
+ description: PM 市场/产品/竞品/用户/相关者研究与决策支持工作流(solo)
254
+ action: python3 "$LINCOLN_ROOT/scripts/lincoln_workflow.py"
255
+ args_hint: start --workflow pm-research
@@ -0,0 +1,32 @@
1
+ # opencode harness manifest
2
+ # 生成:.opencode/agent/*.md(角色)+ .opencode/command/lc-*.md(命令)
3
+ # spike 结论(Context7 /anomalyco/opencode):
4
+ # agent frontmatter 字段:description/mode/model/temperature/tools/permission
5
+ # command 文件:frontmatter(description/agent/model)+ 正文模板($ARGUMENTS)
6
+
7
+ name: opencode
8
+
9
+ capabilities:
10
+ # 缺省即关闭(#64):任何未显式声明的能力都可能被 harness 按默认值激活
11
+ # (superpowers codex hooks 陷阱 obra/superpowers@7d8d3d4)。新增能力必须显式写出;
12
+ # 空能力显式置 false,不得省略字段。验收测试:tests/test_harness_default_off.py
13
+ hooks: false # 用插件(.opencode/plugin)替代,本版本从轻不生成
14
+ skills: false # 以 agent/command 提示词承载
15
+ agents: true
16
+ commands: true
17
+
18
+ command_map_source: command-map.yaml
19
+
20
+ targets:
21
+ - kind: agent
22
+ source: .claude/agents/*.md
23
+ output: "{project}/.opencode/agent/{name}.md"
24
+ scope: project
25
+ transform: frontmatter
26
+ fields: [description, mode, model, permission, tools]
27
+
28
+ - kind: command
29
+ source: command_map
30
+ output: "{project}/.opencode/command/{name}.md"
31
+ scope: project
32
+ transform: command-template
@@ -0,0 +1,45 @@
1
+ # Scenario catalog for /lc-scenario-* commands.
2
+ # Each scenario describes a cross-role + cross-skill intent.
3
+
4
+ scenarios:
5
+ make-prd:
6
+ description: 制作 PRD 与已确认的需求文档
7
+ role: pm
8
+ skills: [clarify-requirements]
9
+ goal: 基于需求澄清输出已确认的 PRD、用户故事与验收标准
10
+
11
+ make-ux:
12
+ description: 制作产品设计与原型规格
13
+ role: designer
14
+ skills: [draft-product-design, build-product-prototype]
15
+ goal: 输出设计评审文档、UI 规格与可选的 Pencil 原型
16
+
17
+ make-tdd:
18
+ description: 生成 TDD 研发计划
19
+ role: engineer
20
+ skills: [plan-tdd-development]
21
+ goal: 基于已确认设计输出测试驱动研发计划
22
+
23
+ make-pr:
24
+ description: 整理 PR 摘要与合并准备
25
+ role: release-coordinator
26
+ skills: [workflow-continue]
27
+ goal: 基于分支提交历史生成综合 PR 描述与检查清单
28
+
29
+ research-oss:
30
+ description: 开源方案调研
31
+ role: researcher
32
+ skills: [lc-explore-opensource]
33
+ goal: 输出可选开源方案对比与推荐文档
34
+
35
+ pm-research:
36
+ description: 完整 PM 市场/竞品/用户/相关者研究
37
+ role: pm
38
+ skills: [lc-wf-pm-research]
39
+ goal: 启动 pm-research 工作流并完成最终研究报告
40
+
41
+ build-codebase-knowledge:
42
+ description: 为已有源码构建功能知识库
43
+ role: engineer
44
+ skills: [lc-build-codebase-knowledge]
45
+ goal: 扫描代码并生成知识库索引与功能文档
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # on-pr-event.sh
5
+ # Helper invoked by post-tool-use.sh or Stop hook when a PR/branch sync event is detected.
6
+ # Updates <process_slug>/workflow-stage.yaml with append-only node record.
7
+ #
8
+ # Usage:
9
+ # .claude/hooks/on-pr-event.sh <event> [<node-id>] [<status>]
10
+
11
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
+ LOCAL_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
13
+ PROJECT_ROOT="$(pwd)"
14
+
15
+ FRAMEWORK_ROOT="${CLAUDE_PLUGIN_ROOT:-${LINCOLN_HOME:-}}"
16
+ if [[ -z "$FRAMEWORK_ROOT" ]]; then
17
+ # If this hook file lives inside a vendored project framework, prefer that.
18
+ if [[ "$SCRIPT_DIR" == "$LOCAL_ROOT/.claude/hooks"* && -d "$LOCAL_ROOT/.claude/stages" ]]; then
19
+ FRAMEWORK_ROOT="$LOCAL_ROOT"
20
+ elif [[ -d "$HOME/.lincoln/current" ]]; then
21
+ FRAMEWORK_ROOT="$HOME/.lincoln/current"
22
+ else
23
+ FRAMEWORK_ROOT="$LOCAL_ROOT"
24
+ fi
25
+ fi
26
+
27
+ if [[ "$FRAMEWORK_ROOT" != "$LOCAL_ROOT" ]]; then
28
+ MARKER_FOUND="false"
29
+ SEARCH_DIR="$PROJECT_ROOT"
30
+ while [[ "$SEARCH_DIR" != "/" ]]; do
31
+ if [[ -f "$SEARCH_DIR/.lincoln.yaml" || -f "$SEARCH_DIR/.claude/workflow-state.yaml" ]]; then
32
+ MARKER_FOUND="true"
33
+ break
34
+ fi
35
+ SEARCH_DIR="$(dirname "$SEARCH_DIR")"
36
+ done
37
+ if [[ "$MARKER_FOUND" != "true" && -z "${LINCOLN_ALWAYS_ON:-}" ]]; then
38
+ echo "Lincoln inactive: no .lincoln.yaml in $PROJECT_ROOT"
39
+ exit 0
40
+ fi
41
+ fi
42
+
43
+ ROOT="$PROJECT_ROOT"
44
+
45
+ if [ -x "$FRAMEWORK_ROOT/.venv/bin/python3" ]; then
46
+ PYTHON="$FRAMEWORK_ROOT/.venv/bin/python3"
47
+ elif [ -x "$FRAMEWORK_ROOT/venv/bin/python3" ]; then
48
+ PYTHON="$FRAMEWORK_ROOT/venv/bin/python3"
49
+ elif [ -x "$HOME/.lincoln/venv/bin/python3" ]; then
50
+ PYTHON="$HOME/.lincoln/venv/bin/python3"
51
+ else
52
+ PYTHON="python3"
53
+ fi
54
+
55
+ EVENT="${1:-}"
56
+ NODE_ID="${2:-implement}"
57
+ STATUS="${3:-pr_submitted}"
58
+
59
+ if [[ -z "$EVENT" ]]; then
60
+ exit 0
61
+ fi
62
+
63
+ "$PYTHON" "$FRAMEWORK_ROOT/scripts/stage_loader.py" \
64
+ --action append-node \
65
+ --node-id "$NODE_ID" \
66
+ --status "$STATUS" \
67
+ 2>/dev/null || true
68
+
69
+ exit 0