@colin4k1024/tsp 2.4.0 → 2.4.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 (230) hide show
  1. package/README.md +87 -4
  2. package/bin/lib/post-install-bridge.js +2 -2
  3. package/bin/tsp-create.js +11 -11
  4. package/commands/team-help.md +2 -2
  5. package/commands/team-plan.md +1 -1
  6. package/commands/update-codemaps.md +3 -2
  7. package/docs/.vitepress/config.mts +199 -0
  8. package/docs/adr/ADR-001-doc-architecture-integration.md +33 -0
  9. package/docs/guides/README.md +5 -0
  10. package/docs/guides/installation.md +33 -0
  11. package/docs/guides/user-guide.md +36 -0
  12. package/docs/index.md +65 -0
  13. package/docs/memory/backlog.md +10 -0
  14. package/docs/memory/decisions.md +43 -0
  15. package/docs/memory/lessons-learned.md +87 -0
  16. package/docs/plans/2026-04-03-python-remnants-audit.md +265 -0
  17. package/docs/plans/2026-04-03-scripts-python-to-js-migration.md +372 -0
  18. package/docs/plans/2026-04-03-solo-delivery-execution-checklist.md +413 -0
  19. package/docs/plans/2026-04-03-solo-delivery-gap-plan.md +377 -0
  20. package/docs/plans/2026-04-03-team-skills-workflow-gates.md +548 -0
  21. package/docs/plans/2026-04-21-open-source-readiness-gap-plan.md +217 -0
  22. package/docs/plans/llm-surface-reduction-audit.md +147 -0
  23. package/docs/plans/llm-surface-reduction-execution-checklist.md +217 -0
  24. package/docs/plans/llm-surface-reduction-execution-history.md +124 -0
  25. package/docs/plans/team-skills-platform-migration.md +54 -0
  26. package/docs/presentation/README.md +42 -0
  27. package/docs/presentation/audience-presentation-route-map.md +84 -0
  28. package/docs/presentation/executive-briefing-talk-track.md +50 -0
  29. package/docs/presentation/generate_capability_matrix.py +396 -0
  30. package/docs/presentation/generate_ppt.py +354 -0
  31. package/docs/presentation/implementation-onboarding-brief.md +38 -0
  32. package/docs/presentation/presentation-talk-track.md +97 -0
  33. package/docs/presentation/vertical-scenario-route-map.md +99 -0
  34. package/docs/presentation/workshop-facilitator-guide.md +47 -0
  35. package/docs/runbooks/actionlint-workflow-gates.md +80 -0
  36. package/docs/runbooks/agent-governance.md +131 -0
  37. package/docs/runbooks/ai-eval-platform-demo-execution-log.md +147 -0
  38. package/docs/runbooks/ai-eval-platform-demo-script.md +136 -0
  39. package/docs/runbooks/ai-eval-platform-walkthrough.md +113 -0
  40. package/docs/runbooks/ai-pr-review-automation.md +56 -0
  41. package/docs/runbooks/api-breaking-change-gates.md +58 -0
  42. package/docs/runbooks/api-design-evolution-walkthrough.md +42 -0
  43. package/docs/runbooks/api-lint-gates.md +57 -0
  44. package/docs/runbooks/api-mocking-strategy-and-lifecycle-guide.md +47 -0
  45. package/docs/runbooks/architect-daily-operations.md +63 -0
  46. package/docs/runbooks/architect-design-conversation-example.md +83 -0
  47. package/docs/runbooks/artifact-attestation-gates.md +75 -0
  48. package/docs/runbooks/artifact-persistence.md +257 -0
  49. package/docs/runbooks/backend-engineer-daily-operations.md +63 -0
  50. package/docs/runbooks/batch-optimization-completion-checklist.md +104 -0
  51. package/docs/runbooks/biz-service-designer-end-to-end-conversation-example.md +5 -0
  52. package/docs/runbooks/biz-service-designer-toolkit.md +5 -0
  53. package/docs/runbooks/bug-fix-complete-walkthrough.md +60 -0
  54. package/docs/runbooks/build-failure-recovery-walkthrough.md +40 -0
  55. package/docs/runbooks/canary-decision-matrix.md +41 -0
  56. package/docs/runbooks/canary-staging-release-walkthrough.md +46 -0
  57. package/docs/runbooks/checkov-iac-gates.md +104 -0
  58. package/docs/runbooks/claude-code-review-workflow.md +72 -0
  59. package/docs/runbooks/claude-conversation-prompt-recipes.md +132 -0
  60. package/docs/runbooks/claude-end-to-end-conversation-example.md +198 -0
  61. package/docs/runbooks/claude-feature-development-guide.md +112 -0
  62. package/docs/runbooks/claude-quick-start.md +227 -0
  63. package/docs/runbooks/claude-usage-scenarios.md +176 -0
  64. package/docs/runbooks/code-review-collaboration-walkthrough.md +65 -0
  65. package/docs/runbooks/codeql-pr-security-gates.md +64 -0
  66. package/docs/runbooks/codex-end-to-end-conversation-example.md +166 -0
  67. package/docs/runbooks/codex-multi-agent-orchestration.md +65 -0
  68. package/docs/runbooks/codex-parallel-prompt-recipes.md +131 -0
  69. package/docs/runbooks/codex-quick-start.md +223 -0
  70. package/docs/runbooks/codex-usage-scenarios.md +168 -0
  71. package/docs/runbooks/codex-workflow-essentials.md +88 -0
  72. package/docs/runbooks/command-and-capability-matrix.md +162 -0
  73. package/docs/runbooks/conftest-policy-gates.md +84 -0
  74. package/docs/runbooks/consumer-driven-contract-testing-with-mock-alignment.md +45 -0
  75. package/docs/runbooks/contract-testing-playbook.md +78 -0
  76. package/docs/runbooks/cosign-signing-gates.md +71 -0
  77. package/docs/runbooks/cross-role-issue-triage-walkthrough.md +47 -0
  78. package/docs/runbooks/cursor-quick-start.md +123 -0
  79. package/docs/runbooks/custom-overlay.md +115 -0
  80. package/docs/runbooks/data-ml-pipeline-demo-execution-log.md +141 -0
  81. package/docs/runbooks/data-ml-pipeline-demo-script.md +102 -0
  82. package/docs/runbooks/data-ml-pipeline-walkthrough.md +119 -0
  83. package/docs/runbooks/data-observability-quality-demo-execution-log.md +36 -0
  84. package/docs/runbooks/data-observability-quality-demo-script.md +42 -0
  85. package/docs/runbooks/data-observability-quality-walkthrough.md +86 -0
  86. package/docs/runbooks/demo-deliverables-overview.md +278 -0
  87. package/docs/runbooks/demo-execution-log.md +530 -0
  88. package/docs/runbooks/demo-scenario.md +129 -0
  89. package/docs/runbooks/dependency-review-gates.md +63 -0
  90. package/docs/runbooks/dependency-update-automation.md +83 -0
  91. package/docs/runbooks/design-md-workflow.md +185 -0
  92. package/docs/runbooks/devops-engineer-daily-operations.md +60 -0
  93. package/docs/runbooks/devops-release-conversation-example.md +88 -0
  94. package/docs/runbooks/doc-architecture-integration.md +59 -0
  95. package/docs/runbooks/doc-architecture-quick-start.md +122 -0
  96. package/docs/runbooks/document-execution-audit.md +32 -0
  97. package/docs/runbooks/documentation-update-walkthrough.md +37 -0
  98. package/docs/runbooks/ecc-harness-usage.md +93 -0
  99. package/docs/runbooks/error-experience-usage.md +116 -0
  100. package/docs/runbooks/evolution-usage.md +162 -0
  101. package/docs/runbooks/executive-value-one-page.md +55 -0
  102. package/docs/runbooks/external-capability-approval-and-enablement-workflow.md +39 -0
  103. package/docs/runbooks/external-capability-intake.md +160 -0
  104. package/docs/runbooks/first-team-command-60-seconds.md +96 -0
  105. package/docs/runbooks/first-team-workflow-walkthrough.md +245 -0
  106. package/docs/runbooks/frontend-backend-integration-acceptance-checklist.md +46 -0
  107. package/docs/runbooks/frontend-backend-parallel-integration-walkthrough.md +48 -0
  108. package/docs/runbooks/frontend-bugfix-one-page.md +82 -0
  109. package/docs/runbooks/frontend-engineer-daily-operations.md +60 -0
  110. package/docs/runbooks/frontend-enterprise-style-profile.md +5 -0
  111. package/docs/runbooks/frontend-governance.md +47 -0
  112. package/docs/runbooks/frontend-refactor-walkthrough.md +42 -0
  113. package/docs/runbooks/git-pr-workflow.md +63 -0
  114. package/docs/runbooks/github-actions-supply-chain-demo-execution-log.md +158 -0
  115. package/docs/runbooks/github-actions-supply-chain-demo-script.md +150 -0
  116. package/docs/runbooks/github-actions-supply-chain-walkthrough.md +117 -0
  117. package/docs/runbooks/github-token-permissions-baseline.md +92 -0
  118. package/docs/runbooks/gitlab-manual-pipeline-release.md +5 -0
  119. package/docs/runbooks/gitlab-release-integration-playbook.md +5 -0
  120. package/docs/runbooks/gitnexus-code-intelligence-usage.md +133 -0
  121. package/docs/runbooks/graphify-knowledge-graph-usage.md +88 -0
  122. package/docs/runbooks/handoff-filling-guide-with-examples.md +70 -0
  123. package/docs/runbooks/handoff-governance.md +250 -0
  124. package/docs/runbooks/helm-unittest-playbook.md +101 -0
  125. package/docs/runbooks/hotfix-emergency-release-walkthrough.md +60 -0
  126. package/docs/runbooks/iac-kubernetes-platform-demo-execution-log.md +144 -0
  127. package/docs/runbooks/iac-kubernetes-platform-demo-script.md +130 -0
  128. package/docs/runbooks/iac-kubernetes-platform-walkthrough.md +120 -0
  129. package/docs/runbooks/implementation-onboarding-reading-path.md +67 -0
  130. package/docs/runbooks/in-toto-attestation-framework.md +94 -0
  131. package/docs/runbooks/incident-severity-triage-tree.md +43 -0
  132. package/docs/runbooks/incident-triage-one-page.md +65 -0
  133. package/docs/runbooks/internal-developer-platform-demo-execution-log.md +36 -0
  134. package/docs/runbooks/internal-developer-platform-demo-script.md +42 -0
  135. package/docs/runbooks/internal-developer-platform-walkthrough.md +91 -0
  136. package/docs/runbooks/karpathy-guidelines-usage.md +27 -0
  137. package/docs/runbooks/kubeconform-schema-gates.md +100 -0
  138. package/docs/runbooks/kubectl-server-dry-run-gates.md +103 -0
  139. package/docs/runbooks/kyverno-policy-gates.md +90 -0
  140. package/docs/runbooks/langfuse-and-observability-integration-guide.md +43 -0
  141. package/docs/runbooks/langfuse-coding-trace.md +44 -0
  142. package/docs/runbooks/mobile-miniapp-delivery-walkthrough.md +112 -0
  143. package/docs/runbooks/mobile-miniapp-demo-execution-log.md +139 -0
  144. package/docs/runbooks/mobile-miniapp-demo-script.md +129 -0
  145. package/docs/runbooks/multi-service-backend-integration-walkthrough.md +61 -0
  146. package/docs/runbooks/open-design-integration.md +163 -0
  147. package/docs/runbooks/open-source-release-checklist.md +90 -0
  148. package/docs/runbooks/opencode-quick-start.md +128 -0
  149. package/docs/runbooks/parallel-development-coordination-walkthrough.md +47 -0
  150. package/docs/runbooks/parallel-execution-usage.md +179 -0
  151. package/docs/runbooks/platform-capability-demo-execution-log.md +184 -0
  152. package/docs/runbooks/platform-capability-demo-script.md +192 -0
  153. package/docs/runbooks/plugin-extension-platform-demo-execution-log.md +136 -0
  154. package/docs/runbooks/plugin-extension-platform-demo-script.md +102 -0
  155. package/docs/runbooks/plugin-extension-platform-walkthrough.md +111 -0
  156. package/docs/runbooks/policy-controller-gates.md +75 -0
  157. package/docs/runbooks/post-rollback-verification-checklist.md +37 -0
  158. package/docs/runbooks/pre-release-checklist.md +50 -0
  159. package/docs/runbooks/product-manager-clarification-conversation-example.md +90 -0
  160. package/docs/runbooks/product-manager-daily-operations.md +60 -0
  161. package/docs/runbooks/production-incident-response-walkthrough.md +50 -0
  162. package/docs/runbooks/project-claude-design-rationale.md +188 -0
  163. package/docs/runbooks/project-manager-daily-operations.md +61 -0
  164. package/docs/runbooks/project-manager-planning-conversation-example.md +82 -0
  165. package/docs/runbooks/project-onboarding.md +452 -0
  166. package/docs/runbooks/qa-engineer-daily-operations.md +63 -0
  167. package/docs/runbooks/qa-review-conversation-example.md +87 -0
  168. package/docs/runbooks/release-closure-one-page.md +65 -0
  169. package/docs/runbooks/release-governance-reading-path.md +56 -0
  170. package/docs/runbooks/release-notes-automation.md +48 -0
  171. package/docs/runbooks/release-rollback-recovery-walkthrough.md +47 -0
  172. package/docs/runbooks/requirement-clarity-and-scope-walkthrough.md +46 -0
  173. package/docs/runbooks/reviewdog-pr-gates.md +49 -0
  174. package/docs/runbooks/role-prompt-recipes.md +130 -0
  175. package/docs/runbooks/rtk-integration-intake.md +45 -0
  176. package/docs/runbooks/rtk-token-optimization-usage.md +107 -0
  177. package/docs/runbooks/runner-egress-hardening.md +81 -0
  178. package/docs/runbooks/runtime-capabilities-overview.md +113 -0
  179. package/docs/runbooks/sbom-generation-gates.md +71 -0
  180. package/docs/runbooks/scorecard-supply-chain-gates.md +82 -0
  181. package/docs/runbooks/secret-scanning-gates.md +85 -0
  182. package/docs/runbooks/security-compliance-platform-demo-execution-log.md +36 -0
  183. package/docs/runbooks/security-compliance-platform-demo-script.md +49 -0
  184. package/docs/runbooks/security-compliance-platform-walkthrough.md +98 -0
  185. package/docs/runbooks/slsa-generator-patterns.md +73 -0
  186. package/docs/runbooks/slsa-verification-gates.md +75 -0
  187. package/docs/runbooks/solo-delivery-mode.md +142 -0
  188. package/docs/runbooks/solo-delivery-one-page.md +111 -0
  189. package/docs/runbooks/specialist-commands-playbook.md +85 -0
  190. package/docs/runbooks/sub-agent-invocation-map.md +144 -0
  191. package/docs/runbooks/system-architecture-design-walkthrough.md +49 -0
  192. package/docs/runbooks/team-closeout-example.md +73 -0
  193. package/docs/runbooks/team-command-output-contracts.md +358 -0
  194. package/docs/runbooks/team-commands-quick-prompts.md +125 -0
  195. package/docs/runbooks/team-execute-example.md +63 -0
  196. package/docs/runbooks/team-handoff-example.md +49 -0
  197. package/docs/runbooks/team-intake-example.md +70 -0
  198. package/docs/runbooks/team-plan-example.md +62 -0
  199. package/docs/runbooks/team-release-example.md +63 -0
  200. package/docs/runbooks/team-review-example.md +61 -0
  201. package/docs/runbooks/team-skills-test-run.md +184 -0
  202. package/docs/runbooks/team-skills-usage.md +336 -0
  203. package/docs/runbooks/team-training-reading-path.md +64 -0
  204. package/docs/runbooks/tech-lead-closure-conversation-example.md +78 -0
  205. package/docs/runbooks/tech-lead-daily-operations.md +67 -0
  206. package/docs/runbooks/trivy-security-gates.md +79 -0
  207. package/docs/runbooks/troubleshooting.md +234 -0
  208. package/docs/runbooks/vertical-scenario-capability-matrix.md +107 -0
  209. package/docs/runbooks/witness-policy-gates.md +78 -0
  210. package/docs/runbooks/zizmor-workflow-audits.md +81 -0
  211. package/manifests/install-components.json +9 -1
  212. package/manifests/install-modules.json +38 -2
  213. package/manifests/install-profiles.json +2 -0
  214. package/package.json +4 -1
  215. package/scripts/gitnexus-preflight.js +187 -0
  216. package/scripts/install-apply.js +9 -0
  217. package/scripts/install-open-design.js +206 -0
  218. package/scripts/install-plan.js +17 -0
  219. package/scripts/lib/install/apply.js +31 -0
  220. package/scripts/lib/install-executor.js +56 -0
  221. package/scripts/lib/team-skills-data.json +7 -6
  222. package/scripts/project-progress.js +852 -0
  223. package/scripts/release-health-summary.js +49 -7
  224. package/scripts/release.sh +1 -1
  225. package/scripts/validate-packed-tarball.js +25 -0
  226. package/scripts/workflow-help.js +3 -3
  227. package/skills/gitnexus/SKILL.md +60 -0
  228. package/skills/gitnexus/agents/openai.yaml +4 -0
  229. package/skills/open-design/SKILL.md +87 -0
  230. package/skills/open-design/agents/openai.yaml +4 -0
@@ -115,7 +115,7 @@ function buildDocFreshnessCheck(root) {
115
115
  id: 'validate-doc-freshness',
116
116
  label: 'validate-doc-freshness',
117
117
  command: 'node scripts/validate-doc-freshness.js',
118
- status: report.errorCount > 0 ? 'fail' : (report.warningCount > 0 ? 'warn' : 'pass'),
118
+ status: report.errorCount > 0 ? 'fail' : 'pass',
119
119
  details: report.errorCount > 0
120
120
  ? report.errors[0]
121
121
  : (report.warningCount > 0 ? report.warnings[0] : `checked ${report.markdownFileCount} markdown files`),
@@ -148,20 +148,60 @@ function buildPrebuiltCheck(root) {
148
148
  };
149
149
  }
150
150
 
151
+ function packCurrentTarball(root) {
152
+ const result = spawnSync('npm', ['pack', '--json', '--ignore-scripts'], {
153
+ cwd: root,
154
+ encoding: 'utf8',
155
+ });
156
+
157
+ if (result.status !== 0) {
158
+ throw new Error(summarizeOutput(result.stderr || result.stdout) || `npm pack failed with exit ${result.status}`);
159
+ }
160
+
161
+ let data;
162
+ try {
163
+ data = JSON.parse(result.stdout);
164
+ } catch (error) {
165
+ throw new Error(`Unable to parse npm pack JSON output: ${error.message}`);
166
+ }
167
+
168
+ if (!Array.isArray(data) || !data[0] || typeof data[0].filename !== 'string' || data[0].filename.length === 0) {
169
+ throw new Error('npm pack JSON output is missing a filename entry.');
170
+ }
171
+
172
+ const tarballPath = path.join(root, data[0].filename);
173
+ return {
174
+ tarballPath,
175
+ cleanup() {
176
+ fs.rmSync(tarballPath, { force: true });
177
+ },
178
+ };
179
+ }
180
+
151
181
  function buildTarballCheck(options) {
182
+ let cleanup = null;
152
183
  try {
153
- const tarballPath = resolveTarballPath({
154
- root: options.root,
155
- tarball: options.tarball,
156
- packJson: options.packJson,
157
- });
184
+ const usingExplicitInput = Boolean(options.tarball || options.packJson);
185
+ const tarballPath = usingExplicitInput
186
+ ? resolveTarballPath({
187
+ root: options.root,
188
+ tarball: options.tarball,
189
+ packJson: options.packJson,
190
+ })
191
+ : (() => {
192
+ const packed = packCurrentTarball(options.root);
193
+ cleanup = packed.cleanup;
194
+ return packed.tarballPath;
195
+ })();
158
196
  const result = validateTarball(tarballPath, validatePrebuilt({ root: options.root }).platforms);
159
197
  return {
160
198
  id: 'validate-packed-tarball',
161
199
  label: 'validate-packed-tarball',
162
200
  command: options.packJson
163
201
  ? `node scripts/validate-packed-tarball.js --pack-json ${path.relative(options.root, options.packJson)}`
164
- : `node scripts/validate-packed-tarball.js --tarball ${path.relative(options.root, tarballPath)}`,
202
+ : options.tarball
203
+ ? `node scripts/validate-packed-tarball.js --tarball ${path.relative(options.root, tarballPath)}`
204
+ : `npm pack --json --ignore-scripts && node scripts/validate-packed-tarball.js --tarball ${path.relative(options.root, tarballPath)}`,
165
205
  status: result.missing.length > 0 ? 'fail' : 'pass',
166
206
  details: result.missing.length > 0
167
207
  ? result.missing[0]
@@ -187,6 +227,8 @@ function buildTarballCheck(options) {
187
227
  status: 'skip',
188
228
  details: message,
189
229
  };
230
+ } finally {
231
+ cleanup?.();
190
232
  }
191
233
  }
192
234
 
@@ -65,7 +65,7 @@ if [[ "$PUBLISH" == "true" ]]; then
65
65
  echo " Size: $(( TARBALL_SIZE / 1024 / 1024 ))MB (${TARBALL_SIZE} bytes)"
66
66
 
67
67
  echo ""
68
- echo "🚀 Publishing @colin4k1024/tsp-create@${NEW_VERSION} to npm ..."
68
+ echo "🚀 Publishing @colin4k1024/tsp@${NEW_VERSION} to npm ..."
69
69
  npm publish "${TARBALL}" --access public
70
70
  echo "✅ Published to npm."
71
71
 
@@ -59,6 +59,25 @@ function parseArgs(argv) {
59
59
  return options;
60
60
  }
61
61
 
62
+ function expectedTarballFilenameForRoot(root) {
63
+ const packageJsonPath = path.join(root, 'package.json');
64
+ if (!fs.existsSync(packageJsonPath)) {
65
+ return null;
66
+ }
67
+
68
+ try {
69
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
70
+ if (typeof pkg.name !== 'string' || pkg.name.length === 0 || typeof pkg.version !== 'string' || pkg.version.length === 0) {
71
+ return null;
72
+ }
73
+
74
+ const normalizedName = pkg.name.replace(/^@/, '').replace(/\//g, '-');
75
+ return `${normalizedName}-${pkg.version}.tgz`;
76
+ } catch {
77
+ return null;
78
+ }
79
+ }
80
+
62
81
  function resolveTarballPath(options) {
63
82
  if (options.tarball) {
64
83
  return options.tarball;
@@ -92,6 +111,11 @@ function resolveTarballPath(options) {
92
111
  throw new Error(`No .tgz tarball found under ${options.root}; pass --tarball or --pack-json explicitly.`);
93
112
  }
94
113
 
114
+ const expectedTarballFilename = expectedTarballFilenameForRoot(options.root);
115
+ if (expectedTarballFilename && candidates.includes(expectedTarballFilename)) {
116
+ return path.join(options.root, expectedTarballFilename);
117
+ }
118
+
95
119
  return path.join(options.root, candidates[0]);
96
120
  }
97
121
 
@@ -142,6 +166,7 @@ if (require.main === module) {
142
166
  }
143
167
 
144
168
  module.exports = {
169
+ expectedTarballFilenameForRoot,
145
170
  main,
146
171
  parseArgs,
147
172
  resolveTarballPath,
@@ -399,7 +399,7 @@ function analyzeTask(options) {
399
399
  result.reason = routeReason(catalog, '/team-intake', '未检测到任务 artifact 目录,主链应从 intake 开始。');
400
400
  result.missingPrerequisites.push('缺少 docs/artifacts/{YYYY-MM-DD}-{slug}/ 任务目录');
401
401
  if (brownfieldRepo) {
402
- result.brownfieldSuggestions.push('既有项目建议先执行 /update-codemaps,再进入 /team-plan 补齐 Brownfield Context Snapshot。');
402
+ result.brownfieldSuggestions.push('既有项目建议先执行 /update-codemaps;需要轻量结构证据时用 Graphify,需要跨模块影响面或 MCP 证据时用 GitNexus,再进入 /team-plan 补齐 Brownfield Context Snapshot。');
403
403
  }
404
404
  if (!projectContext.exists || projectContext.missingSections.length > 0) {
405
405
  addProjectContextRemediation(result, null);
@@ -443,7 +443,7 @@ function analyzeTask(options) {
443
443
  result.reason = routeReason(catalog, '/team-plan', '已有 PRD,但尚未形成 Delivery Plan。');
444
444
  result.missingPrerequisites.push('缺少 delivery-plan.md');
445
445
  if (brownfieldRepo) {
446
- result.brownfieldSuggestions.push('如果是 brownfield 任务,在 delivery-plan.md 中补齐 Brownfield Context Snapshot');
446
+ result.brownfieldSuggestions.push('如果是 brownfield 任务,在 delivery-plan.md 中补齐 Brownfield Context Snapshot;必要时引用 Graphify 或 GitNexus 图谱证据。');
447
447
  }
448
448
  addProjectContextRemediation(result, taskDir);
449
449
  return finalizeResult(result, catalog);
@@ -462,7 +462,7 @@ function analyzeTask(options) {
462
462
 
463
463
  const deliveryPlanText = readText(deliveryPlanPath).toLowerCase();
464
464
  if (brownfieldRepo && !deliveryPlanText.includes('brownfield context snapshot')) {
465
- result.brownfieldSuggestions.push('建议在 delivery-plan.md 中补齐 Brownfield Context Snapshot');
465
+ result.brownfieldSuggestions.push('建议在 delivery-plan.md 中补齐 Brownfield Context Snapshot;必要时引用 Graphify 或 GitNexus 图谱证据。');
466
466
  }
467
467
 
468
468
  if (!hasHandoffEvidence && !exists(executeLogPath)) {
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: gitnexus
3
+ description: >
4
+ 将 GitNexus 作为受控可选代码智能能力接入,用于 brownfield MCP 查询、影响面分析、
5
+ detect_changes、多仓分析和更深代码图谱证据。输出必须回落到 `/team-*` 主链和 artifacts。
6
+ origin: abhigyanpatwari/GitNexus (reference-only controlled integration)
7
+ ---
8
+
9
+ # GitNexus
10
+
11
+ ## 用途
12
+
13
+ - 对存量仓库做更深代码图谱分析:符号上下游、调用链、执行流、跨仓影响面。
14
+ - 在改动前用 `impact` / `detect_changes` 类证据确认 blast radius。
15
+ - 为 `/team-plan`、`/team-execute`、`/team-review` 提供可追溯的 MCP/图谱证据。
16
+
17
+ ## 触发信号
18
+
19
+ - brownfield 项目改动跨多个模块、服务或仓库。
20
+ - 需要回答“改这个 symbol/API 会影响谁”“这段流程从哪里进入、流向哪里”。
21
+ - 评审或发布前需要对 git diff 做影响面确认。
22
+ - Graphify 的轻量结构扫描不够,需要 MCP tool、资源或多仓上下文。
23
+
24
+ ## 默认工作流
25
+
26
+ 1. 先跑 `npm run gitnexus:doctor`,确认 Node、npm/npx 与上游包元数据。
27
+ 2. 用户自行确认 GitNexus 上游许可证和项目使用场景是否匹配。
28
+ 3. 在目标项目根目录显式执行索引命令,并保留 TSP 的 AGENTS/CLAUDE 契约:
29
+ ```bash
30
+ npx --yes gitnexus@latest analyze --skip-agents-md
31
+ ```
32
+ 4. 通过 MCP 或 CLI 查询 `query/context/impact/detect_changes` 等结果。
33
+ 5. 把关键发现回落到主链:
34
+ - 规划阶段 -> `/team-plan` 的 Brownfield Context Snapshot 和 readiness 证据
35
+ - 执行阶段 -> `/team-execute` 的 story slice 影响面说明
36
+ - 评审阶段 -> `/team-review` 的风险、回归边界和放行建议
37
+
38
+ ## 输出约定
39
+
40
+ - GitNexus 索引由上游工具管理,通常写入目标仓库 `.gitnexus/` 与用户级 registry。
41
+ - TSP 侧只沉淀结论,不沉淀上游数据库:
42
+ - 分析目标
43
+ - 查询入口(MCP tool/resource 或 CLI 命令)
44
+ - 核心发现
45
+ - 对 `/team-*` 决策的影响
46
+ - 后续验证或回退建议
47
+
48
+ ## 边界与禁用项
49
+
50
+ - 不把 GitNexus 当作 TSP 依赖或默认安装项。
51
+ - 不自动运行 `gitnexus setup`,避免改写用户全局 MCP/editor 配置。
52
+ - 不在 TSP 管理仓库里运行不带 `--skip-agents-md` 的 `gitnexus analyze`。
53
+ - 不复制 GitNexus 源码、hooks、skills 或生成产物到 TSP canonical source。
54
+ - 当前按上游 npm 元数据视为非商业许可证约束;商业使用前需要用户自行确认授权。
55
+
56
+ ## 推荐组合
57
+
58
+ - 轻量 brownfield 结构扫描:`/team-help -> /update-codemaps -> graphify -> /team-plan`
59
+ - 深影响面分析:`/team-help -> /update-codemaps -> GitNexus impact/detect_changes -> /team-plan`
60
+ - 高风险评审:`/team-execute -> GitNexus detect_changes -> /handoff -> /team-review`
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "GitNexus Code Intelligence"
3
+ short_description: "用 GitNexus 补齐 brownfield MCP 查询与影响面证据"
4
+ default_prompt: "Use $gitnexus when brownfield work needs MCP-backed code intelligence, impact analysis, detect_changes, or multi-repo graph evidence. Keep GitNexus optional, preserve existing AGENTS/CLAUDE contracts, and feed findings back into /team-plan, /team-execute, or /team-review."
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: open-design
3
+ description: >
4
+ Use Open Design as an external local-first design workbench for prototypes,
5
+ decks, mobile screens, dashboards, DESIGN.md systems, and exportable visual
6
+ artifacts. Keep TSP responsible for team workflow, handoff, and quality gates.
7
+ origin: nexu-io/open-design (reference-only controlled integration)
8
+ ---
9
+
10
+ # Open Design
11
+
12
+ ## 用途
13
+
14
+ - 用 Open Design 生成或迭代高保真视觉 artifacts:web prototype、dashboard、mobile flow、deck、poster、social carousel、runbook/spec 类页面。
15
+ - 在前端任务中把 `DESIGN.md`、设计方向、skill、preview 和 export 结果作为证据回落到 TSP 主链。
16
+ - 让 `product-manager`、`frontend-engineer`、`qa-engineer` 在同一套可预览 artifact 上讨论,而不是只靠文字描述。
17
+
18
+ ## 触发信号
19
+
20
+ - 用户要“像 Claude Design 那样”快速生成可编辑原型、deck、营销页、移动界面或设计系统。
21
+ - 需求还没有稳定视觉方向,需要先通过表单、方向 picker 或 `DESIGN.md` 锁定风格。
22
+ - `/team-plan` 或 `/team-execute` 进入 UI 实施前,需要可截图、可导出、可评审的设计证据。
23
+ - `/team-review` 需要对 artifact 做视觉、响应式、可访问性、反 AI 味、导出完整性检查。
24
+
25
+ ## 默认工作流
26
+
27
+ 1. 先完成 TSP 侧任务收敛:
28
+ - 目标、受众、页面/屏幕范围、数据真实性、品牌约束、响应式范围、A11y/性能门禁。
29
+ - 若任务来自 `/team-*`,把这些约束写入 artifact 或 handoff,不只留在聊天里。
30
+ 2. 检查目标项目是否已有 `DESIGN.md`:
31
+ - 有:把它作为 Open Design 的 active design system 或直接放入 OD 项目工作目录。
32
+ - 无:先用 `frontend-ui-ux-system` 或 OD 的 design-system 能力生成候选 `DESIGN.md`。
33
+ 3. 若用户安装的是 TSP `full` profile,Open Design 默认会由 TSP 安装器准备到 `~/.tsp/open-design`;否则在独立 Open Design checkout 中运行上游工具,不在 TSP 仓库里启动 OD daemon:
34
+ ```bash
35
+ # full profile 自动路径
36
+ cd ~/.tsp/open-design
37
+
38
+ # 手动路径
39
+ git clone https://github.com/nexu-io/open-design.git
40
+ cd open-design
41
+ corepack enable
42
+ pnpm install
43
+ pnpm tools-dev
44
+ ```
45
+ 4. 在 OD 中选择合适 surface:
46
+ - prototype:`web-prototype`、`saas-landing`、`dashboard`、`mobile-app` 等。
47
+ - deck:`guizang-ppt`、`simple-deck`、`weekly-update` 等。
48
+ - document-like:`pm-spec`、`eng-runbook`、`finance-report`、`team-okrs` 等。
49
+ 5. 生成后把关键产物回落到 TSP:
50
+ - artifact 路径或导出文件
51
+ - 使用的 OD skill、design system、visual direction
52
+ - 约束与自检结论
53
+ - 对 `/team-plan`、`/team-execute`、`/team-review` 或 `/team-release` 的决策影响
54
+ 6. 若 artifact 会进入实现,frontend 角色必须继续执行 TSP 前端门禁:
55
+ - 响应式、键盘访问、对比度、性能、加载/空态/错误态
56
+ - 真实数据与授权素材检查
57
+ - 不能把 OD 输出直接视为生产代码完成
58
+
59
+ ## 输出约定
60
+
61
+ - TSP 侧只沉淀集成证据,不复制 Open Design 源码或生成数据库。
62
+ - 推荐在消费方项目中落盘:
63
+ - `docs/artifacts/<date>-open-design-brief.md`
64
+ - `docs/artifacts/<date>-open-design-review.md`
65
+ - 需要长期复用时,将最终 `DESIGN.md` 放在项目根目录或设计文档目录。
66
+ - 最小交付字段:
67
+ - 任务目标
68
+ - 使用的 OD skill / design system / visual direction
69
+ - 产物路径或导出格式
70
+ - 主要设计决策及证据
71
+ - 风险、未验证项、下一步 TSP 命令
72
+
73
+ ## 边界与禁用项
74
+
75
+ - 只有 TSP `full` profile 会自动 clone/update Open Design;其他 profile 只安装 TSP 侧 skill/runbook。
76
+ - 不把 Open Design 当作 TSP 的默认 npm 依赖;它要求独立 Node/pnpm/daemon 生命周期。
77
+ - 不在本仓库 vendoring Open Design 的 `skills/`、`design-systems/`、daemon、web app 或 SQLite 数据。
78
+ - 不把 OD 的视觉结果绕过 `/team-review` 直接发布。
79
+ - 不使用未授权品牌素材、字体、截图或第三方图片作为可分发 artifact。
80
+ - 不在 TSP 管理仓库中运行会改写本仓库 hooks、AGENTS 或 MCP 契约的外部 setup 命令。
81
+
82
+ ## 推荐组合
83
+
84
+ - 需求到原型:`/team-intake -> frontend-ui-ux-system -> open-design -> /team-plan`
85
+ - UI 实施:`/team-execute -> open-design artifact evidence -> frontend-engineering -> /handoff`
86
+ - 视觉评审:`/team-review -> open-design artifact review -> browser-smoke-testing`
87
+ - Deck / 汇报材料:`frontend-slides -> open-design deck mode -> /team-release`
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Open Design"
3
+ short_description: "用 Open Design 生成和评审本地优先设计 artifact"
4
+ default_prompt: "Use $open-design when a TSP task needs local-first prototypes, decks, dashboards, mobile flows, DESIGN.md systems, or exportable visual artifacts. Keep Open Design external, avoid vendoring upstream runtime assets, and feed artifact evidence back into /team-plan, /team-execute, or /team-review."