@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.
- package/dist/main.d.ts +3 -0
- package/dist/main.js +1286 -916
- package/dist/main.js.map +1 -1
- package/dist/postinstall.d.ts +3 -0
- package/dist/postinstall.js +18 -0
- package/dist/postinstall.js.map +1 -0
- package/framework/.claude/agents/_contract.md +79 -0
- package/framework/.claude/agents/architect.md +31 -0
- package/framework/.claude/agents/default.md +151 -0
- package/framework/.claude/agents/designer.md +33 -0
- package/framework/.claude/agents/engineer.md +42 -0
- package/framework/.claude/agents/external/NOTICES.md +12 -0
- package/framework/.claude/agents/external/everything-claude-code.manifest.yaml +23 -0
- package/framework/.claude/agents/external/oh-my-claudecode.manifest.yaml +26 -0
- package/framework/.claude/agents/external/wshobson-agents.manifest.yaml +23 -0
- package/framework/.claude/agents/frontend-engineer.md +32 -0
- package/framework/.claude/agents/knowledge-curator.md +28 -0
- package/framework/.claude/agents/pm.md +38 -0
- package/framework/.claude/agents/qa.md +28 -0
- package/framework/.claude/agents/release-coordinator.md +25 -0
- package/framework/.claude/agents/researcher.md +41 -0
- package/framework/.claude/harnesses/claude-code.yaml +15 -0
- package/framework/.claude/harnesses/codex.yaml +40 -0
- package/framework/.claude/harnesses/command-map.yaml +255 -0
- package/framework/.claude/harnesses/opencode.yaml +32 -0
- package/framework/.claude/harnesses/scenarios.yaml +45 -0
- package/framework/.claude/hooks/on-pr-event.sh +69 -0
- package/framework/.claude/hooks/on-session-start.sh +427 -0
- package/framework/.claude/hooks/on-stop.sh +104 -0
- package/framework/.claude/hooks/post-tool-use.sh +161 -0
- package/framework/.claude/hooks/pre-tool-use.sh +246 -0
- package/framework/.claude/schemas/agent-definition.schema.json +35 -0
- package/framework/.claude/schemas/benchmark-report.schema.json +148 -0
- package/framework/.claude/schemas/pm-to-ux-handoff.schema.yaml +128 -0
- package/framework/.claude/schemas/stage-definition.schema.json +233 -0
- package/framework/.claude/schemas/workflow-stage.schema.json +86 -0
- package/framework/.claude/schemas/workflow-template.schema.json +88 -0
- package/framework/.claude/settings.json +14 -0
- package/framework/.claude/skills/build-product-prototype/SKILL.md +35 -0
- package/framework/.claude/skills/build-product-prototype/prompts/main.md +78 -0
- package/framework/.claude/skills/clarify-requirements/SKILL.md +32 -0
- package/framework/.claude/skills/clarify-requirements/prompts/main.md +81 -0
- package/framework/.claude/skills/dependencies.yaml +139 -0
- package/framework/.claude/skills/draft-product-design/SKILL.md +40 -0
- package/framework/.claude/skills/draft-product-design/prompts/main.md +47 -0
- package/framework/.claude/skills/lc-analyze-frameworks/SKILL.md +43 -0
- package/framework/.claude/skills/lc-analyze-frameworks/prompts/main.md +95 -0
- package/framework/.claude/skills/lc-benchmark/SKILL.md +61 -0
- package/framework/.claude/skills/lc-build-codebase-knowledge/SKILL.md +38 -0
- package/framework/.claude/skills/lc-build-codebase-knowledge/prompts/build-codebase-knowledge.md +61 -0
- package/framework/.claude/skills/lc-collect-intelligence/SKILL.md +43 -0
- package/framework/.claude/skills/lc-collect-intelligence/prompts/main.md +72 -0
- package/framework/.claude/skills/lc-competitive-analysis/SKILL.md +43 -0
- package/framework/.claude/skills/lc-competitive-analysis/prompts/main.md +70 -0
- package/framework/.claude/skills/lc-explore-opensource/SKILL.md +36 -0
- package/framework/.claude/skills/lc-explore-opensource/prompts/explore-opensource.md +77 -0
- package/framework/.claude/skills/lc-first-principles/SKILL.md +43 -0
- package/framework/.claude/skills/lc-first-principles/prompts/main.md +73 -0
- package/framework/.claude/skills/lc-handoff/SKILL.md +34 -0
- package/framework/.claude/skills/lc-init-branch/SKILL.md +52 -0
- package/framework/.claude/skills/lc-market-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-market-research/prompts/main.md +79 -0
- package/framework/.claude/skills/lc-product-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-product-research/prompts/main.md +80 -0
- package/framework/.claude/skills/lc-research-report/SKILL.md +43 -0
- package/framework/.claude/skills/lc-research-report/prompts/main.md +90 -0
- package/framework/.claude/skills/lc-research-scope/SKILL.md +43 -0
- package/framework/.claude/skills/lc-research-scope/prompts/main.md +82 -0
- package/framework/.claude/skills/lc-setup/SKILL.md +68 -0
- package/framework/.claude/skills/lc-setup/prompts/main.md +88 -0
- package/framework/.claude/skills/lc-stage/SKILL.md +45 -0
- package/framework/.claude/skills/lc-stakeholder-research/SKILL.md +43 -0
- package/framework/.claude/skills/lc-stakeholder-research/prompts/main.md +65 -0
- package/framework/.claude/skills/lc-status/SKILL.md +25 -0
- package/framework/.claude/skills/lc-storytelling/SKILL.md +43 -0
- package/framework/.claude/skills/lc-storytelling/prompts/main.md +77 -0
- package/framework/.claude/skills/lc-wf/SKILL.md +54 -0
- package/framework/.claude/skills/lc-workflow/SKILL.md +48 -0
- package/framework/.claude/skills/lc-workflow/validators/validate.py +755 -0
- package/framework/.claude/skills/lc-workflow-router/SKILL.md +41 -0
- package/framework/.claude/skills/lc-workflow-router/prompts/intake-prompt.md +91 -0
- package/framework/.claude/skills/lc-workflow-router/prompts/router-prompt.md +44 -0
- package/framework/.claude/skills/plan-tdd-development/SKILL.md +31 -0
- package/framework/.claude/skills/plan-tdd-development/prompts/main.md +44 -0
- package/framework/.claude/skills/process-interview/SKILL.md +32 -0
- package/framework/.claude/skills/process-interview/prompts/main.md +47 -0
- package/framework/.claude/skills/propose-with-openspec/SKILL.md +37 -0
- package/framework/.claude/skills/propose-with-openspec/prompts/main.md +53 -0
- package/framework/.claude/skills/split-to-github/SKILL.md +32 -0
- package/framework/.claude/skills/split-to-github/prompts/main.md +42 -0
- package/framework/.claude/skills/sync-to-knowledge/SKILL.md +35 -0
- package/framework/.claude/skills/sync-to-knowledge/prompts/main.md +54 -0
- package/framework/.claude/skills/workflow-continue/SKILL.md +24 -0
- package/framework/.claude/skills/workflow-continue/prompts/main.md +25 -0
- package/framework/.claude/stages/build-codebase-knowledge.yaml +42 -0
- package/framework/.claude/stages/clarify.yaml +59 -0
- package/framework/.claude/stages/explore-opensource.yaml +40 -0
- package/framework/.claude/stages/implement.yaml +60 -0
- package/framework/.claude/stages/ingest.yaml +40 -0
- package/framework/.claude/stages/lc-analyze-frameworks.yaml +37 -0
- package/framework/.claude/stages/lc-collect-intelligence.yaml +37 -0
- package/framework/.claude/stages/lc-competitive-analysis.yaml +37 -0
- package/framework/.claude/stages/lc-first-principles.yaml +37 -0
- package/framework/.claude/stages/lc-market-research.yaml +37 -0
- package/framework/.claude/stages/lc-product-research.yaml +37 -0
- package/framework/.claude/stages/lc-research-report.yaml +38 -0
- package/framework/.claude/stages/lc-research-scope.yaml +38 -0
- package/framework/.claude/stages/lc-stakeholder-research.yaml +37 -0
- package/framework/.claude/stages/lc-storytelling.yaml +37 -0
- package/framework/.claude/stages/product-design-docs.yaml +66 -0
- package/framework/.claude/stages/product-prototype.yaml +53 -0
- package/framework/.claude/stages/propose.yaml +45 -0
- package/framework/.claude/stages/split.yaml +41 -0
- package/framework/.claude/stages/sync-knowledge.yaml +49 -0
- package/framework/.claude/stages/tdd-development-plan.yaml +43 -0
- package/framework/.claude/stages/workflow-router.yaml +45 -0
- package/framework/.claude/templates/solo-workflow-context.yaml +23 -0
- package/framework/.claude/workflows/README.md +93 -0
- package/framework/.claude/workflows/bug-fix.yaml +81 -0
- package/framework/.claude/workflows/design-spike.yaml +55 -0
- package/framework/.claude/workflows/existing-project-iteration.yaml +106 -0
- package/framework/.claude/workflows/interview-to-knowledge.yaml +189 -0
- package/framework/.claude/workflows/oss-first-design.yaml +100 -0
- package/framework/.claude/workflows/pm-research.yaml +115 -0
- package/framework/.claude-plugin/hooks.json +6 -0
- package/framework/.claude-plugin/marketplace.json +32 -0
- package/framework/.claude-plugin/plugin.json +57 -0
- package/framework/.version-bump.json +43 -0
- package/framework/CLAUDE.md +140 -0
- package/framework/CONTRIBUTING.md +219 -0
- package/framework/LICENSE +21 -0
- package/framework/README.en.md +139 -0
- package/framework/README.md +139 -0
- package/framework/RELEASE.md +334 -0
- package/framework/SKILL.md +24 -0
- package/framework/USAGE.md +356 -0
- package/framework/manifest.json +1214 -0
- package/framework/requirements.txt +4 -0
- package/framework/scripts/__init__.py +0 -0
- package/framework/scripts/build_codebase_knowledge.py +76 -0
- package/framework/scripts/bump_version.py +181 -0
- package/framework/scripts/check-dependency-drift.py +69 -0
- package/framework/scripts/check-harness-drift.sh +57 -0
- package/framework/scripts/check-main-merge-hygiene.py +128 -0
- package/framework/scripts/check-skill-dependencies.sh +124 -0
- package/framework/scripts/init-lincoln-branch.sh +300 -0
- package/framework/scripts/init-project.sh +184 -0
- package/framework/scripts/lc-benchmark-cli.py +66 -0
- package/framework/scripts/lincoln-audit.py +288 -0
- package/framework/scripts/lincoln-setup.py +651 -0
- package/framework/scripts/lincoln-status.py +448 -0
- package/framework/scripts/lincoln_benchmark.py +224 -0
- package/framework/scripts/lincoln_benchmark_eval.py +104 -0
- package/framework/scripts/lincoln_benchmark_metrics.py +818 -0
- package/framework/scripts/lincoln_benchmark_report.py +141 -0
- package/framework/scripts/lincoln_command_map.py +289 -0
- package/framework/scripts/lincoln_dependency_manager.py +335 -0
- package/framework/scripts/lincoln_documents.py +175 -0
- package/framework/scripts/lincoln_harness_adapter.py +319 -0
- package/framework/scripts/lincoln_index.py +255 -0
- package/framework/scripts/lincoln_paths.py +198 -0
- package/framework/scripts/lincoln_prd.py +227 -0
- package/framework/scripts/lincoln_role.py +46 -0
- package/framework/scripts/lincoln_scenario.py +59 -0
- package/framework/scripts/lincoln_session_start_metrics.py +71 -0
- package/framework/scripts/lincoln_skill_prompt.py +48 -0
- package/framework/scripts/lincoln_trace.py +335 -0
- package/framework/scripts/lincoln_workflow.py +199 -0
- package/framework/scripts/list-active-lincoln-branches.sh +87 -0
- package/framework/scripts/package-lincoln-plugin.py +340 -0
- package/framework/scripts/run-infrastructure-tests.py +84 -0
- package/framework/scripts/stage_loader.py +1071 -0
- package/framework/scripts/static-check.sh +356 -0
- package/framework/scripts/sync-external-agents.sh +210 -0
- package/framework/scripts/sync-framework-package.mjs +218 -0
- package/framework/scripts/task_tool_guard.py +213 -0
- package/framework/scripts/track-artifacts.py +140 -0
- package/framework/scripts/validate_stage.py +350 -0
- package/{README.md → framework/tools/lincoln/README.md} +4 -4
- package/framework/tools/lincoln/package-lock.json +3349 -0
- package/framework/tools/lincoln/package.json +48 -0
- package/framework/tools/lincoln/src/cli.tsx +60 -0
- package/framework/tools/lincoln/src/components/AudioMeter.tsx +34 -0
- package/framework/tools/lincoln/src/components/CancelledScreen.tsx +11 -0
- package/framework/tools/lincoln/src/components/DevicesMenu.tsx +79 -0
- package/framework/tools/lincoln/src/components/HintBar.tsx +25 -0
- package/framework/tools/lincoln/src/components/LogView.tsx +36 -0
- package/framework/tools/lincoln/src/components/ModelMenu.tsx +122 -0
- package/framework/tools/lincoln/src/components/ReadyScreen.tsx +54 -0
- package/framework/tools/lincoln/src/components/RecordingApp.tsx +211 -0
- package/framework/tools/lincoln/src/components/RecordingScreen.tsx +41 -0
- package/framework/tools/lincoln/src/components/SelectMenu.tsx +53 -0
- package/framework/tools/lincoln/src/components/StatusPanel.tsx +52 -0
- package/framework/tools/lincoln/src/components/StopConfirmation.tsx +32 -0
- package/framework/tools/lincoln/src/config/args.ts +35 -0
- package/framework/tools/lincoln/src/config/loadConfig.ts +81 -0
- package/framework/tools/lincoln/src/config/resolveConfig.ts +85 -0
- package/framework/tools/lincoln/src/devices/listDevices.ts +11 -0
- package/framework/tools/lincoln/src/devices/parseDevices.ts +25 -0
- package/framework/tools/lincoln/src/hooks/useKeyHandler.ts +63 -0
- package/framework/tools/lincoln/src/main.tsx +4 -0
- package/framework/tools/lincoln/src/models/models.ts +34 -0
- package/framework/tools/lincoln/src/models/runWarmup.ts +46 -0
- package/framework/tools/lincoln/src/models/warmupProgress.ts +30 -0
- package/framework/tools/lincoln/src/recording/spawnRecorder.ts +127 -0
- package/framework/tools/lincoln/src/recording/useRecorder.ts +146 -0
- package/framework/tools/lincoln/src/utils/amplitudeToMeter.ts +4 -0
- package/framework/tools/lincoln/src/utils/formatDuration.ts +6 -0
- package/framework/tools/lincoln/src/utils/sessionId.ts +25 -0
- package/framework/tools/lincoln/tests/cli.test.tsx +52 -0
- package/framework/tools/lincoln/tests/components/AudioMeter.test.tsx +31 -0
- package/framework/tools/lincoln/tests/components/CancelledScreen.test.tsx +12 -0
- package/framework/tools/lincoln/tests/components/ReadyScreen.test.tsx +68 -0
- package/framework/tools/lincoln/tests/components/RecordingApp.menus.test.tsx +158 -0
- package/framework/tools/lincoln/tests/components/RecordingApp.test.tsx +248 -0
- package/framework/tools/lincoln/tests/components/RecordingScreen.test.tsx +37 -0
- package/framework/tools/lincoln/tests/components/SelectMenu.test.tsx +59 -0
- package/framework/tools/lincoln/tests/components/StopConfirmation.test.tsx +38 -0
- package/framework/tools/lincoln/tests/config/args.test.ts +49 -0
- package/framework/tools/lincoln/tests/config/loadConfig.test.ts +59 -0
- package/framework/tools/lincoln/tests/config/resolveConfig.test.ts +72 -0
- package/framework/tools/lincoln/tests/devices/parseDevices.test.ts +21 -0
- package/framework/tools/lincoln/tests/hooks/useKeyHandler.enabled.test.tsx +44 -0
- package/framework/tools/lincoln/tests/hooks/useKeyHandler.test.tsx +130 -0
- package/framework/tools/lincoln/tests/models/models.test.ts +27 -0
- package/framework/tools/lincoln/tests/models/warmupProgress.test.ts +25 -0
- package/framework/tools/lincoln/tests/recording/spawnRecorder.test.ts +85 -0
- package/framework/tools/lincoln/tests/recording/useRecorder.test.tsx +172 -0
- package/framework/tools/lincoln/tests/utils/amplitudeToMeter.test.ts +22 -0
- package/framework/tools/lincoln/tests/utils/formatDuration.test.ts +11 -0
- package/framework/tools/lincoln/tests/utils/sessionId.test.ts +30 -0
- package/framework/tools/lincoln/tsconfig.json +22 -0
- package/framework/tools/lincoln/tsconfig.tests.json +10 -0
- package/framework/tools/lincoln/tsup.config.ts +17 -0
- package/framework/tools/lincoln/vitest.config.ts +20 -0
- package/framework/tools/lincoln-installer/package-lock.json +3611 -0
- package/framework/tools/lincoln-installer/package.json +53 -0
- package/framework/tools/lincoln-installer/src/cli.tsx +63 -0
- package/framework/tools/lincoln-installer/src/components/HarnessSelectScreen.tsx +43 -0
- package/framework/tools/lincoln-installer/src/components/InstallerApp.tsx +98 -0
- package/framework/tools/lincoln-installer/src/components/OptionsScreen.tsx +56 -0
- package/framework/tools/lincoln-installer/src/components/ProgressScreen.tsx +25 -0
- package/framework/tools/lincoln-installer/src/components/ResultScreen.tsx +40 -0
- package/framework/tools/lincoln-installer/src/components/SelectMenu.tsx +73 -0
- package/framework/tools/lincoln-installer/src/components/SummaryScreen.tsx +49 -0
- package/framework/tools/lincoln-installer/src/components/UpdateApp.tsx +135 -0
- package/framework/tools/lincoln-installer/src/components/WelcomeScreen.tsx +22 -0
- package/framework/tools/lincoln-installer/src/config/args.ts +76 -0
- package/framework/tools/lincoln-installer/src/config/resolveConfig.ts +33 -0
- package/framework/tools/lincoln-installer/src/config/updateArgs.ts +67 -0
- package/framework/tools/lincoln-installer/src/hooks/useSetup.ts +149 -0
- package/framework/tools/lincoln-installer/src/main.tsx +11 -0
- package/framework/tools/lincoln-installer/src/types.ts +19 -0
- package/framework/tools/lincoln-installer/src/update-main.tsx +11 -0
- package/framework/tools/lincoln-installer/src/update.tsx +90 -0
- package/framework/tools/lincoln-installer/src/utils/detectHarness.ts +51 -0
- package/framework/tools/lincoln-installer/src/utils/runSetup.ts +62 -0
- package/framework/tools/lincoln-installer/src/utils/updateRelease.ts +454 -0
- package/framework/tools/lincoln-installer/tests/components/InstallerApp.test.tsx +88 -0
- package/framework/tools/lincoln-installer/tests/components/SelectMenu.test.tsx +26 -0
- package/framework/tools/lincoln-installer/tests/components/UpdateApp.test.tsx +170 -0
- package/framework/tools/lincoln-installer/tests/components/screens.test.tsx +310 -0
- package/framework/tools/lincoln-installer/tests/config/args.test.ts +66 -0
- package/framework/tools/lincoln-installer/tests/config/resolveConfig.test.ts +75 -0
- package/framework/tools/lincoln-installer/tests/config/updateArgs.test.ts +52 -0
- package/framework/tools/lincoln-installer/tests/hooks/useSetup.test.tsx +213 -0
- package/framework/tools/lincoln-installer/tests/update.test.tsx +108 -0
- package/framework/tools/lincoln-installer/tests/utils/detectHarness.test.ts +40 -0
- package/framework/tools/lincoln-installer/tests/utils/runSetup.test.ts +45 -0
- package/framework/tools/lincoln-installer/tests/utils/updateRelease.test.ts +559 -0
- package/framework/tools/lincoln-installer/tsconfig.json +22 -0
- package/framework/tools/lincoln-installer/tsconfig.tests.json +8 -0
- package/framework/tools/lincoln-installer/tsup.config.ts +17 -0
- package/framework/tools/lincoln-installer/vitest.config.ts +20 -0
- package/framework/tools/lincoln-record/Cargo.lock +1896 -0
- package/framework/tools/lincoln-record/Cargo.toml +24 -0
- package/framework/tools/lincoln-record/diarize/diarize.py +117 -0
- package/framework/tools/lincoln-record/diarize/merge.py +55 -0
- package/framework/tools/lincoln-record/src/audio/capture/microphone.rs +194 -0
- package/framework/tools/lincoln-record/src/audio/capture/mod.rs +1 -0
- package/framework/tools/lincoln-record/src/audio/devices.rs +20 -0
- package/framework/tools/lincoln-record/src/audio/mod.rs +5 -0
- package/framework/tools/lincoln-record/src/audio/resampler.rs +44 -0
- package/framework/tools/lincoln-record/src/audio/saver.rs +87 -0
- package/framework/tools/lincoln-record/src/audio/source.rs +104 -0
- package/framework/tools/lincoln-record/src/cli.rs +96 -0
- package/framework/tools/lincoln-record/src/config.rs +135 -0
- package/framework/tools/lincoln-record/src/lib.rs +6 -0
- package/framework/tools/lincoln-record/src/main.rs +242 -0
- package/framework/tools/lincoln-record/src/model/mod.rs +248 -0
- package/framework/tools/lincoln-record/src/output/metadata.rs +30 -0
- package/framework/tools/lincoln-record/src/output/mod.rs +2 -0
- package/framework/tools/lincoln-record/src/output/transcript.rs +42 -0
- package/framework/tools/lincoln-record/src/transcription/diarization.rs +64 -0
- package/framework/tools/lincoln-record/src/transcription/mod.rs +3 -0
- package/framework/tools/lincoln-record/src/transcription/provider.rs +43 -0
- package/framework/tools/lincoln-record/src/transcription/whisper.rs +176 -0
- package/framework/tools/lincoln-record/tests/cli_args.rs +103 -0
- package/framework/tools/lincoln-record/tests/config_test.rs +70 -0
- package/framework/tools/lincoln-record/tests/devices_test.rs +23 -0
- package/framework/tools/lincoln-record/tests/diarization_tests.rs +101 -0
- package/framework/tools/lincoln-record/tests/integration_tests.rs +44 -0
- package/framework/tools/lincoln-record/tests/model_test.rs +68 -0
- package/framework/tools/lincoln-record/tests/transcription_tests.rs +73 -0
- package/package.json +19 -13
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
# Lincoln 用户手册
|
|
2
|
+
|
|
3
|
+
本文档面向 Lincoln 的**最终用户**:独立开发者、vibe-coding maker,以及产品、设计、研发、QA 团队成员。如果你希望为 Lincoln 框架本身贡献代码或扩展,请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
|
4
|
+
|
|
5
|
+
## 目录
|
|
6
|
+
|
|
7
|
+
- [安装 Lincoln](#安装-lincoln)
|
|
8
|
+
- [第一次打开](#第一次打开)
|
|
9
|
+
- [路径 A:轻量个人路径](#路径-a轻量个人路径)
|
|
10
|
+
- [路径 B:团队 issue 路径](#路径-b团队-issue-路径)
|
|
11
|
+
- [常用自然语言指令](#常用自然语言指令)
|
|
12
|
+
- [阶段与门控](#阶段与门控)
|
|
13
|
+
- [工作状态与交接](#工作状态与交接)
|
|
14
|
+
- [工具](#工具)
|
|
15
|
+
- [多 harness 支持](#多-harness-支持)
|
|
16
|
+
- [目录结构](#目录结构)
|
|
17
|
+
- [依赖](#依赖)
|
|
18
|
+
- [故障排查](#故障排查)
|
|
19
|
+
|
|
20
|
+
## 安装 Lincoln
|
|
21
|
+
|
|
22
|
+
### 方式一:全局 npm 插件(推荐)
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g @sushanglewis/lincoln
|
|
26
|
+
lincoln install
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`lincoln install` 会把 Lincoln 运行时框架同步到 `~/.claude/`、`~/.codex/`、`~/.opencode/`。项目侧只需保留 `.lincoln.yaml` 标记即可激活;没有标记的项目中 Lincoln hooks 会静默退出,不会污染空目录。
|
|
30
|
+
|
|
31
|
+
常用命令:
|
|
32
|
+
|
|
33
|
+
- `lincoln install` — 首次全局安装
|
|
34
|
+
- `lincoln update` — 拉取最新版本并重新同步
|
|
35
|
+
- `lincoln use <version>` — 切换已安装的全局版本
|
|
36
|
+
- `lincoln doctor` — 诊断安装状态
|
|
37
|
+
- `lincoln init-project` — 在当前项目创建 `.lincoln.yaml`
|
|
38
|
+
- `lincoln migrate-project` — 从旧 vendored 框架模型迁移到全局插件模型
|
|
39
|
+
- `lincoln record` — 启动访谈录音 TUI
|
|
40
|
+
|
|
41
|
+
### 方式二:作为 Claude Code 插件安装
|
|
42
|
+
|
|
43
|
+
Lincoln 支持以 Claude Code 插件形式安装。清单文件位于 `.claude-plugin/`:
|
|
44
|
+
|
|
45
|
+
- `.claude-plugin/plugin.json` — 插件元数据与技能入口
|
|
46
|
+
- `.claude-plugin/marketplace.json` — Marketplace 注册信息
|
|
47
|
+
|
|
48
|
+
安装方式取决于你使用的 Claude Code 插件管理器。通常将本仓库作为插件源引用即可。
|
|
49
|
+
|
|
50
|
+
### 方式三:手动初始化
|
|
51
|
+
|
|
52
|
+
如果你希望完全手动控制安装过程,可以:
|
|
53
|
+
|
|
54
|
+
1. 确保已安装 `python3`(≥3.10 推荐)、`node`(≥20)、`gh`(已登录)、`openspec`
|
|
55
|
+
2. 安装外部 skills:`superpowers`、`gsd`,可选 `oh-my-claudecode`
|
|
56
|
+
3. 运行 `python3 scripts/init-project.sh`
|
|
57
|
+
4. 配置 `.github/openspec-config.yml`
|
|
58
|
+
|
|
59
|
+
第一次打开仓库时,Lincoln 的 hooks 通常会自动触发安装。如果 Claude 没有自动开始,请对 Agent 说:
|
|
60
|
+
|
|
61
|
+
> 请帮我完成 Lincoln 的初始化安装。
|
|
62
|
+
|
|
63
|
+
Agent 会按以下步骤执行:
|
|
64
|
+
|
|
65
|
+
1. 询问是否需要录音转写能力(需要时才安装 ffmpeg 并构建 `tools/lincoln-record/`)
|
|
66
|
+
2. 询问是否需要运行 benchmark
|
|
67
|
+
3. 检查当前仓库的 Lincoln 环境,列出所有缺失依赖
|
|
68
|
+
4. 安装外部 skills 到 `~/.claude/skills/`
|
|
69
|
+
5. 安装 CLI 工具:openspec、gh
|
|
70
|
+
6. 配置 `.github/openspec-config.yml`
|
|
71
|
+
7. 运行 `scripts/init-project.sh`
|
|
72
|
+
8. 完成后汇报状态
|
|
73
|
+
|
|
74
|
+
### 更新 Lincoln
|
|
75
|
+
|
|
76
|
+
当 Lincoln 发布新版本后,运行:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
lincoln update
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
它会查询 npm registry 最新版本,全局安装后重新执行 `lincoln install --yes`。使用 `--check` 可只查看是否有更新,`--dry-run` 可预览变更。
|
|
83
|
+
|
|
84
|
+
### 从旧 vendored 模型迁移
|
|
85
|
+
|
|
86
|
+
如果你的项目已经内嵌了 `.claude/`、`scripts/` 等框架文件,先确保全局 CLI 已安装,然后运行:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
lincoln migrate-project --dry-run
|
|
90
|
+
lincoln migrate-project --yes
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
`migrate-project` 会比较项目中的框架文件与全局 payload 的 sha256:未修改的文件会被删除,已修改或用户自定义的文件会被保留并列出,同时在项目根目录生成 `.lincoln.yaml`。`.context/`、`issue-*/`、`.github/openspec-config.yml` 等用户数据始终保留。
|
|
94
|
+
|
|
95
|
+
## 第一次打开
|
|
96
|
+
|
|
97
|
+
在 Conductor / Claude Code 中打开仓库后,如果 Lincoln 还没有可驱动的工作状态(新仓库,或工作包尚未启动),Agent 会自动进入开场引导:
|
|
98
|
+
|
|
99
|
+
1. **摸排**:Agent 对仓库做概览级侦察(顶层结构、README、知识索引、开放 issues),不读源码、不做深度扫描。
|
|
100
|
+
2. **判断**:Agent 给出对你处境的评估——角色、流程位置、最可能的问题与目标,并标注置信度。
|
|
101
|
+
3. **询问和确认**:Agent 按 Johari 认知象限设计确认动作,每轮最多 3 个问题。
|
|
102
|
+
4. **有策略的开展**:只有当每个目标都有明确的验收标准、执行路径也确定之后,Agent 才开始实际工作。
|
|
103
|
+
|
|
104
|
+
已有进行中的工作时不会打扰——Agent 会直接继续当前阶段。
|
|
105
|
+
|
|
106
|
+
## 路径 A:轻量个人路径
|
|
107
|
+
|
|
108
|
+
适合:个人项目、独立 maker、vibe-coding 开发者。
|
|
109
|
+
|
|
110
|
+
特点:无需先建 GitHub issue,直接在本地项目上与 Agent 结对迭代。
|
|
111
|
+
|
|
112
|
+
1. 在 Conductor 中打开项目仓库。
|
|
113
|
+
2. 对 Claude 说「检查一下 Lincoln 环境」——Agent 会运行环境检测并列出缺失依赖。
|
|
114
|
+
3. 根据你的场景选择模板:
|
|
115
|
+
- **已有源码,想让 Agent 先读懂代码再迭代**:使用 `existing-project-iteration`
|
|
116
|
+
- **只有想法,先做方案/原型探索**:使用 `design-spike`
|
|
117
|
+
- **要做市场/竞品/用户/相关者研究或决策支持**:使用 `pm-research`
|
|
118
|
+
4. 对 Claude 说:
|
|
119
|
+
- 如果你选择 `existing-project-iteration`:
|
|
120
|
+
> 请使用 Lincoln 的 `existing-project-iteration` 模板,帮我理解当前代码库并规划下一个功能迭代。
|
|
121
|
+
- 如果你选择 `design-spike`:
|
|
122
|
+
|
|
123
|
+
003e 请使用 Lincoln 的 `design-spike` 模板,帮我澄清这个想法并产出设计评审与原型。
|
|
124
|
+
|
|
125
|
+
5. 后续如果决定引入团队流程或需要 GitHub issue 跟踪,对 Agent 说「开始处理 issue <N>」——Agent 会新建 issue 工作包,你再把手头已确认的需求/设计产物交给它整理到新的 `issue-<number>/` 目录。
|
|
126
|
+
|
|
127
|
+
个人路径的产物默认落在由模板自动选择的工作包目录(如 workspace 名或仓库名)下,其中代码知识库产物写入 `knowledge/`,设计、需求、调研产物写入 `<process_slug>/pages/docs/` 下的 HTML 页面,原型产物写入 `<process_slug>/pages/prototype/`。
|
|
128
|
+
|
|
129
|
+
## 路径 B:团队 issue 路径
|
|
130
|
+
|
|
131
|
+
适合:产品、设计、研发、QA 团队,以 GitHub issue 为单元进行多角色协作。
|
|
132
|
+
|
|
133
|
+
### 初始化一个 issue 工作包
|
|
134
|
+
|
|
135
|
+
每个需求都对应一个 GitHub issue 和一个 Lincoln feature 分支。对 Agent 说「开始处理 issue <N>」,Agent 会基于 issue 编号创建分支,生成该 issue 专属的工作包目录。
|
|
136
|
+
|
|
137
|
+
你也可以提供更细的偏好,Agent 会翻译成对应的初始化参数:
|
|
138
|
+
|
|
139
|
+
- 访谈/需求会话 ID(格式 `YYYY-MM-DD-descriptive-name`,省略时默认生成)
|
|
140
|
+
- 设计主题 ID(kebab-case,省略时默认生成)
|
|
141
|
+
- 工作包目录名(默认 `issue-<number>`)
|
|
142
|
+
- 工作流模板(`.claude/workflows/` 下,默认 `interview-to-knowledge`)
|
|
143
|
+
- 初始化后是否推送分支到远程
|
|
144
|
+
|
|
145
|
+
执行后会在分支上生成:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
issue-<N>/
|
|
149
|
+
├── index.html # 人读门户:聚合阶段状态、导航与产物
|
|
150
|
+
├── assets/ # 门户共享样式与运行时
|
|
151
|
+
│ ├── style.css
|
|
152
|
+
│ ├── app.js
|
|
153
|
+
│ └── js/package-data.js # 由 workflow-stage.yaml 生成的导航数据
|
|
154
|
+
├── workflow-stage.yaml # issue 运行时状态与 handoff 协议
|
|
155
|
+
├── documents.yaml # 文档索引:各阶段产物与 human 确认状态
|
|
156
|
+
├── recordings/ # 原始录音(gitignored)
|
|
157
|
+
├── interviews/<session-id>/ # 转写、摘要、原始洞察
|
|
158
|
+
├── pages/docs/ # 需求、PRD、设计、TDD 计划等 HTML 页面
|
|
159
|
+
├── pages/prototype/ # 可交互原型 HTML 页面
|
|
160
|
+
├── openspec/changes/ # OpenSpec 变更提案
|
|
161
|
+
└── handoffs/ # 阶段交接文档
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
`issue-<N>/workflow-stage.yaml` 是人类、Agent 之间共享的阶段交接协议。`issue-<N>/index.html` 是人类查看工作包状态与文档的入口,每次状态保存时由 `lincoln_index.py` 自动刷新 `assets/js/package-data.js`,驱动左侧导航、iframe 画布与右侧信息面板。
|
|
165
|
+
|
|
166
|
+
### 跨成员、跨 Agent 协作
|
|
167
|
+
|
|
168
|
+
分支名必须严格使用 `issue-<number>` 约定。任何成员或 Agent 收到上游节点的 handoff 时,按分支名即可定位对应 issue 与工作包(`{process_slug}/workflow-stage.yaml`),从而保障从需求到最终验收,issue、branch、PR 端到端一一对应。
|
|
169
|
+
|
|
170
|
+
对 Agent 说「列出所有活跃的 Lincoln 分支」,即可查看所有 issue 分支的阶段状态与等待对象。
|
|
171
|
+
|
|
172
|
+
## 常用自然语言指令
|
|
173
|
+
|
|
174
|
+
Lincoln 是 AI-Native 工作流——**你不需要在终端输入任何命令**。直接用自然语言描述意图,Agent 会自动翻译成对应脚本并代为执行;也可以在 agent harness 中用 `/lc-*` 显式调用技能:
|
|
175
|
+
|
|
176
|
+
| 你说 | Agent 做 |
|
|
177
|
+
|------|----------|
|
|
178
|
+
| 开始处理 issue 55 | `/lc-wf-interview-to-knowledge`(或 `/lc-init-branch`)初始化分支与工作包 |
|
|
179
|
+
| 现在什么状态 | `/lc-status` 汇报当前阶段、等待对象与下一步 |
|
|
180
|
+
| 提交本阶段产物 | `/lc-stage` 记录产物并刷新 `documents.yaml` |
|
|
181
|
+
| 确认通过 | `/lc-stage` 在人类 PM 显式确认后标记当前 gate |
|
|
182
|
+
| 生成交接 | `/lc-handoff` 生成 handoff 文档 |
|
|
183
|
+
| 进入下一阶段 | Agent 校验 gate 后执行阶段推进 |
|
|
184
|
+
| 检查 Lincoln 环境 | `/lc-setup` 检测依赖并列出缺失项 |
|
|
185
|
+
| 列出所有活跃分支 | Agent 列出所有 issue 分支的阶段状态与等待对象 |
|
|
186
|
+
| 审计工作流健康度 | Agent 输出 PASS/WARN/FAIL 健康报告 |
|
|
187
|
+
| 运行 benchmark | `/lc-benchmark` 生成 Lincoln 会话基准评测报告 |
|
|
188
|
+
| 启动 PM 研究工作流 | `/lc-wf-pm-research` 进入市场/竞品/用户/相关者研究 |
|
|
189
|
+
| 调用研究员角色 | `/lc-agent-researcher` 输出 researcher 角色契约与上下文 |
|
|
190
|
+
| 查看某 skill 的完整提示 | `/lc-skill-lc-first-principles` 输出对应 SKILL.md + prompts |
|
|
191
|
+
| 执行一个场景 | `/lc-scenario-make-prd` 按场景组合角色与技能序列 |
|
|
192
|
+
|
|
193
|
+
`/lc-stage` 技能覆盖完整的阶段生命周期意图映射。底层脚本始终由 Agent 执行,用户无需关心。
|
|
194
|
+
|
|
195
|
+
## 阶段与门控
|
|
196
|
+
|
|
197
|
+
每个阶段都有:
|
|
198
|
+
|
|
199
|
+
- **入口校验**:当前阶段上下文、前置产物是否就绪
|
|
200
|
+
- **产物要求**:阶段必须生成的文件或文档
|
|
201
|
+
- **出口校验**:产物完整性、内容检查
|
|
202
|
+
- **门控(gate)**:自动校验 + 可选的 `human_gate: true` 人工确认
|
|
203
|
+
|
|
204
|
+
`human_gate: true` 的步骤不能跳过,必须获得人类 PM 的显式 `confirm` 或已审批标记。
|
|
205
|
+
|
|
206
|
+
阶段准出校验通过 `scripts/validate_stage.py` 运行。
|
|
207
|
+
|
|
208
|
+
## 工作状态与交接
|
|
209
|
+
|
|
210
|
+
### 查看当前分支状态
|
|
211
|
+
|
|
212
|
+
对 Agent 说「现在什么状态」,Agent 会汇报:当前阶段、等待对象、已加载上下文、推荐技能、产物状态、下一步动作。需要机器可读的结果时,可以要求 JSON 或 Markdown 格式。
|
|
213
|
+
|
|
214
|
+
### 生成交接文档
|
|
215
|
+
|
|
216
|
+
暂停或切换协作者时,对 Agent 说「生成交接」,会生成 `.context/lc-handoff-<stage>.md` 或 `{process_slug}/handoffs/` 文档,包含当前阶段、已确认产物、待解决问题、下一角色、推荐技能。
|
|
217
|
+
|
|
218
|
+
阶段通过人类确认后,对 Agent 说「确认通过」,Agent 会标记该阶段 gate 已审批通过。
|
|
219
|
+
|
|
220
|
+
### PM→UX 交接
|
|
221
|
+
|
|
222
|
+
在 `product-design-docs` 阶段结束时,PM Agent 会生成 `{process_slug}/handoffs/pm-to-ux/master-handoff-pm-to-ux-v*.md` 与 `{process_slug}/handoffs/pm-to-ux/pm-to-ux.handoff.yaml`:
|
|
223
|
+
|
|
224
|
+
- **master-handoff** 是人类可读的交接文档,汇总需求背景、设计决策、场景、功能目录、数据模型、流程与可行性结论。
|
|
225
|
+
- **pm-to-ux.handoff.yaml** 是机器可读的 agent-agent 契约,定义接收方(lc-designer / lc-frontend-engineer)应读取的上下文包顺序与校验项。
|
|
226
|
+
|
|
227
|
+
UX Agent 接手时应先读 `pm-to-ux.handoff.yaml`,再读 master-handoff,然后按 `context_pack` 顺序读取 Tier-2 设计文档。
|
|
228
|
+
|
|
229
|
+
### 查看所有进行中的 Lincoln 分支
|
|
230
|
+
|
|
231
|
+
对 Agent 说「列出所有活跃的 Lincoln 分支」;只看等待自己的分支时说「哪些分支在等我」。
|
|
232
|
+
|
|
233
|
+
### 审计工作流健康度
|
|
234
|
+
|
|
235
|
+
对 Agent 说「审计工作流健康度」,Agent 会输出 PASS/WARN/FAIL 报告,覆盖状态一致性、产物完整性、门控合规性、技能覆盖、异常检测。
|
|
236
|
+
|
|
237
|
+
## 工具
|
|
238
|
+
|
|
239
|
+
Lincoln 提供以下配套工具:
|
|
240
|
+
|
|
241
|
+
- `@sushanglewis/lincoln` — 全局 CLI(`lincoln install`、`lincoln update`、`lincoln use`、`lincoln doctor`、`lincoln init-project`、`lincoln migrate-project`、`lincoln record`)
|
|
242
|
+
- `tools/lincoln/` — 基于 Ink/React 的 TUI 录音前端(`lincoln-record` CLI)
|
|
243
|
+
- `tools/lincoln-record/` — Rust 本地录音转写 CLI(whisper-rs + Metal 加速、说话人分离),推荐用于访谈录音的本地转写
|
|
244
|
+
- `tools/lincoln-installer/` — 旧版终端 TUI 安装器与更新器(已弃用,保留向后兼容)
|
|
245
|
+
|
|
246
|
+
安装与使用说明见各自目录下的 README 或 `--help`。全局 CLI 可通过 `lincoln --help` 查看所有命令。
|
|
247
|
+
|
|
248
|
+
## 多 harness 支持
|
|
249
|
+
|
|
250
|
+
Lincoln 的端到端逻辑(角色契约、阶段工作流、`lc-*` 命令)可适配到 codex 与 opencode。`.claude/` 是唯一事实源,各 harness 产物由适配器按 `.claude/harnesses/<name>.yaml` manifest 派生,**不要手改生成产物**。
|
|
251
|
+
|
|
252
|
+
需要对 Agent 说「生成 codex 适配」或「生成 opencode 适配」(也可说「安装时同时生成两个 harness 适配」一步到位)。生成产物:
|
|
253
|
+
|
|
254
|
+
- codex: `AGENTS.md`、`~/.codex/prompts/lc-*.md` 以及 `.codex-plugin/plugin.json`
|
|
255
|
+
- opencode: `.opencode/agent/*.md` 与 `.opencode/command/lc-*.md`
|
|
256
|
+
|
|
257
|
+
生成产物不入 git(`.opencode/`、`.codex-plugin/`、`AGENTS.md` 已加入 `.gitignore`)。CI 会校验 manifest 可生成、本地产物未漂移。
|
|
258
|
+
|
|
259
|
+
### Codex hooks 缺省回退陷阱
|
|
260
|
+
|
|
261
|
+
Codex 在 `.codex-plugin/plugin.json` **省略** `hooks` 字段时,会回退到默认的 `hooks/hooks.json`。因此 Lincoln 派生的 codex 插件清单会**显式写入 `"hooks": {}`**;缺失字段或空数组 `[]` 都会触发回退路径。新增 harness 能力时,必须在 manifest 中显式声明,未配置的能力务必置空对象/空集合,而非省略字段。
|
|
262
|
+
|
|
263
|
+
## 目录结构
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
.
|
|
267
|
+
├── issue-<number>/ # issue 工作包(团队/协作场景)
|
|
268
|
+
│ ├── workflow-stage.yaml # issue 运行时状态与 handoff 协议
|
|
269
|
+
│ ├── documents.yaml # 文档索引(自动生成)
|
|
270
|
+
│ ├── recordings/ # 原始音频(gitignored)
|
|
271
|
+
│ ├── interviews/<session-id>/ # 转写与摘要
|
|
272
|
+
│ ├── pages/docs/ # HTML 说明文档
|
|
273
|
+
│ ├── pages/prototype/ # HTML 可交互原型
|
|
274
|
+
│ ├── openspec/changes/ # OpenSpec 变更提案
|
|
275
|
+
│ └── handoffs/ # 阶段交接文档
|
|
276
|
+
├── knowledge/ # 项目级 Obsidian vault(合并到 main)
|
|
277
|
+
├── products/ # 产品代码占位
|
|
278
|
+
├── oss/ # 开源候选跟踪
|
|
279
|
+
├── .claude/ # Claude Code 系统提示层(自动加载)
|
|
280
|
+
│ ├── agents/ # Agent 角色模板
|
|
281
|
+
│ ├── hooks/ # 生命周期 hooks
|
|
282
|
+
│ ├── schemas/ # JSON Schema 校验
|
|
283
|
+
│ ├── skills/ # 原生 skills
|
|
284
|
+
│ ├── stages/ # 阶段上下文
|
|
285
|
+
│ ├── templates/issue-package/ # issue 工作包模板
|
|
286
|
+
│ ├── workflows/ # SOP 工作流模板
|
|
287
|
+
│ ├── settings.json # Claude Code 项目设置
|
|
288
|
+
├── .context/ # session 级临时文件(gitignored)
|
|
289
|
+
├── .github/ # issue 模板、Actions、OpenSpec 配置
|
|
290
|
+
├── scripts/ # 初始化、状态、审计工具
|
|
291
|
+
├── tests/ # pytest 测试套件
|
|
292
|
+
└── tools/ # lincoln TUI + lincoln-record + installer
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## 依赖
|
|
296
|
+
|
|
297
|
+
- `python3`(≥3.10 推荐)
|
|
298
|
+
- `node` ≥ 20(用于 `tools/lincoln/` 与全局 `@sushanglewis/lincoln` CLI)
|
|
299
|
+
- `gh` CLI(已登录)
|
|
300
|
+
- `openspec` CLI:`npm install -g @fission-ai/openspec`
|
|
301
|
+
- `ffmpeg`(可选,仅录音转写需要)
|
|
302
|
+
- Rust 工具链(`cargo`,可选,仅构建 `tools/lincoln-record/` 需要)
|
|
303
|
+
- Pencil 应用或 Pencil MCP(用于 `.pen` 原型)
|
|
304
|
+
- `ecc` CLI(来自 everything-claude-code)
|
|
305
|
+
- Obsidian(可选,用于可视化浏览 vault)
|
|
306
|
+
|
|
307
|
+
此外,Lincoln 依赖若干外部 skill/CLI,清单见 `.claude/skills/dependencies.yaml`。初始化或升级后请对 Agent 说「检查 Lincoln 环境」。外部 skills 已 pin 到已知良好的上游 ref——需要升级时对 Agent 说「升级 Lincoln 外部依赖」,Agent 会比对上游漂移、跑 benchmark 验证无回归后更新 pin。
|
|
308
|
+
|
|
309
|
+
## 故障排查
|
|
310
|
+
|
|
311
|
+
### Lincoln 没有自动初始化
|
|
312
|
+
|
|
313
|
+
对 Agent 说:
|
|
314
|
+
|
|
315
|
+
> 请帮我完成 Lincoln 的初始化安装。
|
|
316
|
+
|
|
317
|
+
Agent 会按步骤检测依赖、安装外部 skills、运行 `scripts/init-project.sh`。
|
|
318
|
+
|
|
319
|
+
### 缺少外部 skill
|
|
320
|
+
|
|
321
|
+
对 Agent 说:
|
|
322
|
+
|
|
323
|
+
> 检查 Lincoln 环境。
|
|
324
|
+
|
|
325
|
+
Agent 会列出缺失项并引导安装。
|
|
326
|
+
|
|
327
|
+
### 当前阶段推进不了
|
|
328
|
+
|
|
329
|
+
通常是因为某个 gate 未满足或 `human_gate: true` 未获得人类确认。对 Agent 说:
|
|
330
|
+
|
|
331
|
+
> 现在什么状态?
|
|
332
|
+
|
|
333
|
+
Agent 会汇报当前阶段、等待对象和下一步动作。
|
|
334
|
+
|
|
335
|
+
### issue 工作包文件被误加入 main
|
|
336
|
+
|
|
337
|
+
Lincoln 提供 `scripts/check-main-merge-hygiene.py` 作为 PR → main 的 CI 门禁,会将任何含 `workflow-stage.yaml` 的工作包目录下所有文件拒之门外。如果本地误操作,Agent 也可以帮你清理。
|
|
338
|
+
|
|
339
|
+
### 多 harness 产物未生成
|
|
340
|
+
|
|
341
|
+
对 Agent 说:
|
|
342
|
+
|
|
343
|
+
> 生成 codex 适配和 opencode 适配。
|
|
344
|
+
|
|
345
|
+
Agent 会调用 `scripts/lincoln-setup.py generate-harness --harness codex --harness opencode`。
|
|
346
|
+
|
|
347
|
+
### 更新后行为异常
|
|
348
|
+
|
|
349
|
+
运行:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
python3 scripts/bump_version.py --check
|
|
353
|
+
python3 scripts/check-dependency-drift.py
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
确认 manifests lockstep 对齐且外部 skill pins 未漂移。
|