peaks-loop 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +51 -0
- package/CHANGELOG.md +3136 -0
- package/LICENSE +21 -0
- package/README-en.md +281 -0
- package/README.md +365 -0
- package/agents/karpathy-reviewer.md +229 -0
- package/bin/peaks.js +2 -0
- package/dist/src/cli/cli-helpers.d.ts +25 -0
- package/dist/src/cli/cli-helpers.js +78 -0
- package/dist/src/cli/commands/agent-commands.d.ts +20 -0
- package/dist/src/cli/commands/agent-commands.js +48 -0
- package/dist/src/cli/commands/audit-commands.d.ts +28 -0
- package/dist/src/cli/commands/audit-commands.js +437 -0
- package/dist/src/cli/commands/capability-commands.d.ts +16 -0
- package/dist/src/cli/commands/capability-commands.js +45 -0
- package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
- package/dist/src/cli/commands/capability-worker-config-sc-commands.js +10 -0
- package/dist/src/cli/commands/classify-classify-commands.d.ts +19 -0
- package/dist/src/cli/commands/classify-classify-commands.js +151 -0
- package/dist/src/cli/commands/code-review-commands.d.ts +34 -0
- package/dist/src/cli/commands/code-review-commands.js +83 -0
- package/dist/src/cli/commands/codegraph-commands.d.ts +3 -0
- package/dist/src/cli/commands/codegraph-commands.js +99 -0
- package/dist/src/cli/commands/complexity-commands.d.ts +9 -0
- package/dist/src/cli/commands/complexity-commands.js +34 -0
- package/dist/src/cli/commands/config-commands.d.ts +3 -0
- package/dist/src/cli/commands/config-commands.js +220 -0
- package/dist/src/cli/commands/context-builder-commands.d.ts +11 -0
- package/dist/src/cli/commands/context-builder-commands.js +85 -0
- package/dist/src/cli/commands/context-commands.d.ts +21 -0
- package/dist/src/cli/commands/context-commands.js +254 -0
- package/dist/src/cli/commands/contract-commands.d.ts +26 -0
- package/dist/src/cli/commands/contract-commands.js +114 -0
- package/dist/src/cli/commands/core/artifacts-command.d.ts +3 -0
- package/dist/src/cli/commands/core/artifacts-command.js +62 -0
- package/dist/src/cli/commands/core/binding-commands.d.ts +3 -0
- package/dist/src/cli/commands/core/binding-commands.js +58 -0
- package/dist/src/cli/commands/core/doctor-command.d.ts +11 -0
- package/dist/src/cli/commands/core/doctor-command.js +204 -0
- package/dist/src/cli/commands/core/memory-command.d.ts +3 -0
- package/dist/src/cli/commands/core/memory-command.js +98 -0
- package/dist/src/cli/commands/core/profile-command.d.ts +3 -0
- package/dist/src/cli/commands/core/profile-command.js +9 -0
- package/dist/src/cli/commands/core/proxy-command.d.ts +3 -0
- package/dist/src/cli/commands/core/proxy-command.js +26 -0
- package/dist/src/cli/commands/core/session-command.d.ts +3 -0
- package/dist/src/cli/commands/core/session-command.js +213 -0
- package/dist/src/cli/commands/core/skill-command.d.ts +3 -0
- package/dist/src/cli/commands/core/skill-command.js +275 -0
- package/dist/src/cli/commands/core/standards-command.d.ts +3 -0
- package/dist/src/cli/commands/core/standards-command.js +95 -0
- package/dist/src/cli/commands/core-artifact-commands.d.ts +15 -0
- package/dist/src/cli/commands/core-artifact-commands.js +31 -0
- package/dist/src/cli/commands/dispatch-commands.d.ts +10 -0
- package/dist/src/cli/commands/dispatch-commands.js +351 -0
- package/dist/src/cli/commands/dispatch-from-dag.d.ts +3 -0
- package/dist/src/cli/commands/dispatch-from-dag.js +251 -0
- package/dist/src/cli/commands/doc-commands.d.ts +11 -0
- package/dist/src/cli/commands/doc-commands.js +65 -0
- package/dist/src/cli/commands/feedback-commands.d.ts +18 -0
- package/dist/src/cli/commands/feedback-commands.js +145 -0
- package/dist/src/cli/commands/final-review-commands.d.ts +31 -0
- package/dist/src/cli/commands/final-review-commands.js +161 -0
- package/dist/src/cli/commands/fixture-commands.d.ts +32 -0
- package/dist/src/cli/commands/fixture-commands.js +91 -0
- package/dist/src/cli/commands/fork-commands.d.ts +16 -0
- package/dist/src/cli/commands/fork-commands.js +163 -0
- package/dist/src/cli/commands/gate-commands.d.ts +3 -0
- package/dist/src/cli/commands/gate-commands.js +117 -0
- package/dist/src/cli/commands/heartbeat-commands.d.ts +3 -0
- package/dist/src/cli/commands/heartbeat-commands.js +135 -0
- package/dist/src/cli/commands/hook-handle.d.ts +17 -0
- package/dist/src/cli/commands/hook-handle.js +157 -0
- package/dist/src/cli/commands/hooks-commands.d.ts +3 -0
- package/dist/src/cli/commands/hooks-commands.js +156 -0
- package/dist/src/cli/commands/impact-commands.d.ts +15 -0
- package/dist/src/cli/commands/impact-commands.js +62 -0
- package/dist/src/cli/commands/legacy-commands.d.ts +11 -0
- package/dist/src/cli/commands/legacy-commands.js +32 -0
- package/dist/src/cli/commands/log-commands.d.ts +17 -0
- package/dist/src/cli/commands/log-commands.js +64 -0
- package/dist/src/cli/commands/loop-commands.d.ts +21 -0
- package/dist/src/cli/commands/loop-commands.js +128 -0
- package/dist/src/cli/commands/loop-eval-commands.d.ts +20 -0
- package/dist/src/cli/commands/loop-eval-commands.js +526 -0
- package/dist/src/cli/commands/memory-commands.d.ts +23 -0
- package/dist/src/cli/commands/memory-commands.js +129 -0
- package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +11 -0
- package/dist/src/cli/commands/migrate-1-4-1-command.js +34 -0
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
- package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
- package/dist/src/cli/commands/mut-commands.d.ts +20 -0
- package/dist/src/cli/commands/mut-commands.js +239 -0
- package/dist/src/cli/commands/observability-commands.d.ts +22 -0
- package/dist/src/cli/commands/observability-commands.js +201 -0
- package/dist/src/cli/commands/openspec-commands.d.ts +3 -0
- package/dist/src/cli/commands/openspec-commands.js +237 -0
- package/dist/src/cli/commands/perf-audit-commands.d.ts +22 -0
- package/dist/src/cli/commands/perf-audit-commands.js +132 -0
- package/dist/src/cli/commands/perf-commands.d.ts +3 -0
- package/dist/src/cli/commands/perf-commands.js +41 -0
- package/dist/src/cli/commands/playwright-commands.d.ts +95 -0
- package/dist/src/cli/commands/playwright-commands.js +432 -0
- package/dist/src/cli/commands/prd-blocks-commands.d.ts +18 -0
- package/dist/src/cli/commands/prd-blocks-commands.js +50 -0
- package/dist/src/cli/commands/prd-commands.d.ts +18 -0
- package/dist/src/cli/commands/prd-commands.js +141 -0
- package/dist/src/cli/commands/preferences-commands.d.ts +2 -0
- package/dist/src/cli/commands/preferences-commands.js +197 -0
- package/dist/src/cli/commands/project-commands.d.ts +3 -0
- package/dist/src/cli/commands/project-commands.js +248 -0
- package/dist/src/cli/commands/qa-business-review-commands.d.ts +17 -0
- package/dist/src/cli/commands/qa-business-review-commands.js +148 -0
- package/dist/src/cli/commands/qa-commands.d.ts +94 -0
- package/dist/src/cli/commands/qa-commands.js +271 -0
- package/dist/src/cli/commands/release-commands.d.ts +24 -0
- package/dist/src/cli/commands/release-commands.js +231 -0
- package/dist/src/cli/commands/request-commands.d.ts +3 -0
- package/dist/src/cli/commands/request-commands.js +509 -0
- package/dist/src/cli/commands/retrospective-commands.d.ts +12 -0
- package/dist/src/cli/commands/retrospective-commands.js +175 -0
- package/dist/src/cli/commands/reviewer-commands.d.ts +14 -0
- package/dist/src/cli/commands/reviewer-commands.js +64 -0
- package/dist/src/cli/commands/role-commands.d.ts +13 -0
- package/dist/src/cli/commands/role-commands.js +85 -0
- package/dist/src/cli/commands/sc-commands.d.ts +3 -0
- package/dist/src/cli/commands/sc-commands.js +45 -0
- package/dist/src/cli/commands/scan-commands.d.ts +3 -0
- package/dist/src/cli/commands/scan-commands.js +445 -0
- package/dist/src/cli/commands/security-audit-commands.d.ts +23 -0
- package/dist/src/cli/commands/security-audit-commands.js +132 -0
- package/dist/src/cli/commands/session-checkpoint-command.d.ts +10 -0
- package/dist/src/cli/commands/session-checkpoint-command.js +100 -0
- package/dist/src/cli/commands/session-resume-command.d.ts +11 -0
- package/dist/src/cli/commands/session-resume-command.js +83 -0
- package/dist/src/cli/commands/share-commands.d.ts +17 -0
- package/dist/src/cli/commands/share-commands.js +296 -0
- package/dist/src/cli/commands/skill-conformance-commands.d.ts +9 -0
- package/dist/src/cli/commands/skill-conformance-commands.js +39 -0
- package/dist/src/cli/commands/slice-commands.d.ts +24 -0
- package/dist/src/cli/commands/slice-commands.js +492 -0
- package/dist/src/cli/commands/slice-integrate-commands.d.ts +11 -0
- package/dist/src/cli/commands/slice-integrate-commands.js +74 -0
- package/dist/src/cli/commands/slice-review-commands.d.ts +23 -0
- package/dist/src/cli/commands/slice-review-commands.js +162 -0
- package/dist/src/cli/commands/smoke-commands.d.ts +21 -0
- package/dist/src/cli/commands/smoke-commands.js +203 -0
- package/dist/src/cli/commands/solo-commands.d.ts +80 -0
- package/dist/src/cli/commands/solo-commands.js +435 -0
- package/dist/src/cli/commands/sop-commands.d.ts +3 -0
- package/dist/src/cli/commands/sop-commands.js +215 -0
- package/dist/src/cli/commands/statusline-commands.d.ts +3 -0
- package/dist/src/cli/commands/statusline-commands.js +169 -0
- package/dist/src/cli/commands/sub-agent-commands.d.ts +22 -0
- package/dist/src/cli/commands/sub-agent-commands.js +19 -0
- package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
- package/dist/src/cli/commands/sub-agent-dispatch-guard.js +57 -0
- package/dist/src/cli/commands/sub-agent-shared.d.ts +99 -0
- package/dist/src/cli/commands/sub-agent-shared.js +67 -0
- package/dist/src/cli/commands/test-commands.d.ts +47 -0
- package/dist/src/cli/commands/test-commands.js +204 -0
- package/dist/src/cli/commands/understand-commands.d.ts +3 -0
- package/dist/src/cli/commands/understand-commands.js +112 -0
- package/dist/src/cli/commands/upgrade-commands.d.ts +23 -0
- package/dist/src/cli/commands/upgrade-commands.js +119 -0
- package/dist/src/cli/commands/user-touchpoint-commands.d.ts +18 -0
- package/dist/src/cli/commands/user-touchpoint-commands.js +78 -0
- package/dist/src/cli/commands/verdict-aggregate-command.d.ts +14 -0
- package/dist/src/cli/commands/verdict-aggregate-command.js +106 -0
- package/dist/src/cli/commands/worker-commands.d.ts +3 -0
- package/dist/src/cli/commands/worker-commands.js +52 -0
- package/dist/src/cli/commands/workflow-commands.d.ts +3 -0
- package/dist/src/cli/commands/workflow-commands.js +535 -0
- package/dist/src/cli/commands/workflow-plan-commands.d.ts +39 -0
- package/dist/src/cli/commands/workflow-plan-commands.js +163 -0
- package/dist/src/cli/commands/workspace/clean-command.d.ts +14 -0
- package/dist/src/cli/commands/workspace/clean-command.js +49 -0
- package/dist/src/cli/commands/workspace/helpers.d.ts +28 -0
- package/dist/src/cli/commands/workspace/helpers.js +87 -0
- package/dist/src/cli/commands/workspace/init-command.d.ts +121 -0
- package/dist/src/cli/commands/workspace/init-command.js +436 -0
- package/dist/src/cli/commands/workspace/migrate-command.d.ts +11 -0
- package/dist/src/cli/commands/workspace/migrate-command.js +91 -0
- package/dist/src/cli/commands/workspace/reconcile-command.d.ts +14 -0
- package/dist/src/cli/commands/workspace/reconcile-command.js +103 -0
- package/dist/src/cli/commands/workspace-commands.d.ts +18 -0
- package/dist/src/cli/commands/workspace-commands.js +50 -0
- package/dist/src/cli/index.d.ts +1 -0
- package/dist/src/cli/index.js +30 -0
- package/dist/src/cli/program.d.ts +5 -0
- package/dist/src/cli/program.js +336 -0
- package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +28 -0
- package/dist/src/hooks/pre-tool-use-sub-agent.js +105 -0
- package/dist/src/lib/render/message-renderer.d.ts +20 -0
- package/dist/src/lib/render/message-renderer.js +80 -0
- package/dist/src/services/agent/ecc-agent-service.d.ts +47 -0
- package/dist/src/services/agent/ecc-agent-service.js +143 -0
- package/dist/src/services/artifacts/artifact-lint-service.d.ts +23 -0
- package/dist/src/services/artifacts/artifact-lint-service.js +99 -0
- package/dist/src/services/artifacts/artifact-prerequisites.d.ts +78 -0
- package/dist/src/services/artifacts/artifact-prerequisites.js +491 -0
- package/dist/src/services/artifacts/artifact-service.d.ts +43 -0
- package/dist/src/services/artifacts/artifact-service.js +98 -0
- package/dist/src/services/artifacts/artifact-templates.d.ts +30 -0
- package/dist/src/services/artifacts/artifact-templates.js +302 -0
- package/dist/src/services/artifacts/repair-cycle-service.d.ts +23 -0
- package/dist/src/services/artifacts/repair-cycle-service.js +52 -0
- package/dist/src/services/artifacts/request-artifact-service.d.ts +116 -0
- package/dist/src/services/artifacts/request-artifact-service.js +451 -0
- package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
- package/dist/src/services/artifacts/request-artifact-state-helpers.js +114 -0
- package/dist/src/services/artifacts/workspace-service.d.ts +34 -0
- package/dist/src/services/artifacts/workspace-service.js +272 -0
- package/dist/src/services/audit/artifact-writer.d.ts +93 -0
- package/dist/src/services/audit/artifact-writer.js +303 -0
- package/dist/src/services/audit/audit-goal-service.d.ts +35 -0
- package/dist/src/services/audit/audit-goal-service.js +75 -0
- package/dist/src/services/audit/audit-goal-types.d.ts +40 -0
- package/dist/src/services/audit/audit-goal-types.js +15 -0
- package/dist/src/services/audit/backing-detector.d.ts +24 -0
- package/dist/src/services/audit/backing-detector.js +59 -0
- package/dist/src/services/audit/classifier.d.ts +38 -0
- package/dist/src/services/audit/classifier.js +134 -0
- package/dist/src/services/audit/decision-writer.d.ts +76 -0
- package/dist/src/services/audit/decision-writer.js +217 -0
- package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
- package/dist/src/services/audit/enforcers/active-skill-resolver.js +71 -0
- package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
- package/dist/src/services/audit/enforcers/design-draft-confirm.js +58 -0
- package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
- package/dist/src/services/audit/enforcers/lint-audit-regression.js +86 -0
- package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
- package/dist/src/services/audit/enforcers/lint-catalog-governance.js +48 -0
- package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +16 -0
- package/dist/src/services/audit/enforcers/lint-cli-back.js +35 -0
- package/dist/src/services/audit/enforcers/lint-output-style.d.ts +11 -0
- package/dist/src/services/audit/enforcers/lint-output-style.js +94 -0
- package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
- package/dist/src/services/audit/enforcers/lint-reference-integrity.js +83 -0
- package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
- package/dist/src/services/audit/enforcers/lint-reference-shape.js +272 -0
- package/dist/src/services/audit/enforcers/lint-style.d.ts +49 -0
- package/dist/src/services/audit/enforcers/lint-style.js +173 -0
- package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
- package/dist/src/services/audit/enforcers/lint-workflow-shape.js +100 -0
- package/dist/src/services/audit/enforcers/login-gate.d.ts +23 -0
- package/dist/src/services/audit/enforcers/login-gate.js +40 -0
- package/dist/src/services/audit/enforcers/mock-placement.d.ts +25 -0
- package/dist/src/services/audit/enforcers/mock-placement.js +48 -0
- package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +21 -0
- package/dist/src/services/audit/enforcers/no-root-pollution.js +56 -0
- package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
- package/dist/src/services/audit/enforcers/pre-rd-scan.js +23 -0
- package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
- package/dist/src/services/audit/enforcers/prototype-fidelity.js +75 -0
- package/dist/src/services/audit/enforcers/resume-detection.d.ts +21 -0
- package/dist/src/services/audit/enforcers/resume-detection.js +52 -0
- package/dist/src/services/audit/enforcers/solo-code-ban.d.ts +23 -0
- package/dist/src/services/audit/enforcers/solo-code-ban.js +27 -0
- package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
- package/dist/src/services/audit/enforcers/sub-agent-sid.js +63 -0
- package/dist/src/services/audit/prose-ratio-calculator.d.ts +45 -0
- package/dist/src/services/audit/prose-ratio-calculator.js +52 -0
- package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +21 -0
- package/dist/src/services/audit/red-line-catalog-p2-a.js +229 -0
- package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +19 -0
- package/dist/src/services/audit/red-line-catalog-p2-b.js +225 -0
- package/dist/src/services/audit/red-line-catalog.d.ts +51 -0
- package/dist/src/services/audit/red-line-catalog.js +195 -0
- package/dist/src/services/audit/red-lines-service.d.ts +23 -0
- package/dist/src/services/audit/red-lines-service.js +464 -0
- package/dist/src/services/audit/scanners/openspec-scanner.d.ts +15 -0
- package/dist/src/services/audit/scanners/openspec-scanner.js +55 -0
- package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
- package/dist/src/services/audit/scanners/rules-tree-scanner.js +56 -0
- package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
- package/dist/src/services/audit/scanners/skills-tree-scanner.js +46 -0
- package/dist/src/services/audit/static-service.d.ts +60 -0
- package/dist/src/services/audit/static-service.js +130 -0
- package/dist/src/services/audit/types.d.ts +86 -0
- package/dist/src/services/audit/types.js +13 -0
- package/dist/src/services/audit-independent/perf-audit-service.d.ts +151 -0
- package/dist/src/services/audit-independent/perf-audit-service.js +316 -0
- package/dist/src/services/audit-independent/security-audit-service.d.ts +155 -0
- package/dist/src/services/audit-independent/security-audit-service.js +316 -0
- package/dist/src/services/classify/classify-service.d.ts +42 -0
- package/dist/src/services/classify/classify-service.js +122 -0
- package/dist/src/services/classify/classify-types.d.ts +79 -0
- package/dist/src/services/classify/classify-types.js +90 -0
- package/dist/src/services/code-review/ecc-bridge.d.ts +148 -0
- package/dist/src/services/code-review/ecc-bridge.js +242 -0
- package/dist/src/services/code-review/ocr-service.d.ts +129 -0
- package/dist/src/services/code-review/ocr-service.js +369 -0
- package/dist/src/services/codegraph/codegraph-process-runner.d.ts +2 -0
- package/dist/src/services/codegraph/codegraph-process-runner.js +93 -0
- package/dist/src/services/codegraph/codegraph-service.d.ts +43 -0
- package/dist/src/services/codegraph/codegraph-service.js +160 -0
- package/dist/src/services/complexity/complexity-estimator.d.ts +34 -0
- package/dist/src/services/complexity/complexity-estimator.js +64 -0
- package/dist/src/services/config/config-migration.d.ts +45 -0
- package/dist/src/services/config/config-migration.js +154 -0
- package/dist/src/services/config/config-restore.d.ts +10 -0
- package/dist/src/services/config/config-restore.js +47 -0
- package/dist/src/services/config/config-rollback.d.ts +13 -0
- package/dist/src/services/config/config-rollback.js +26 -0
- package/dist/src/services/config/config-safety.d.ts +40 -0
- package/dist/src/services/config/config-safety.js +359 -0
- package/dist/src/services/config/config-service.d.ts +69 -0
- package/dist/src/services/config/config-service.js +814 -0
- package/dist/src/services/config/config-types.d.ts +119 -0
- package/dist/src/services/config/config-types.js +18 -0
- package/dist/src/services/config/model-routing.d.ts +4 -0
- package/dist/src/services/config/model-routing.js +17 -0
- package/dist/src/services/config/provider-service.d.ts +48 -0
- package/dist/src/services/config/provider-service.js +143 -0
- package/dist/src/services/config/proxy-service.d.ts +21 -0
- package/dist/src/services/config/proxy-service.js +44 -0
- package/dist/src/services/config/sidecar-store.d.ts +25 -0
- package/dist/src/services/config/sidecar-store.js +61 -0
- package/dist/src/services/config/workspace-state-service.d.ts +30 -0
- package/dist/src/services/config/workspace-state-service.js +142 -0
- package/dist/src/services/context/artifact-meta.d.ts +72 -0
- package/dist/src/services/context/artifact-meta.js +105 -0
- package/dist/src/services/context/auto-compact-dispatcher.d.ts +37 -0
- package/dist/src/services/context/auto-compact-dispatcher.js +190 -0
- package/dist/src/services/context/auto-compact-reader.d.ts +51 -0
- package/dist/src/services/context/auto-compact-reader.js +164 -0
- package/dist/src/services/context/auto-compact-types.d.ts +143 -0
- package/dist/src/services/context/auto-compact-types.js +36 -0
- package/dist/src/services/context/collector.d.ts +24 -0
- package/dist/src/services/context/collector.js +133 -0
- package/dist/src/services/context/context-builder.d.ts +30 -0
- package/dist/src/services/context/context-builder.js +78 -0
- package/dist/src/services/context/context-guard.d.ts +49 -0
- package/dist/src/services/context/context-guard.js +91 -0
- package/dist/src/services/context/context-schema.d.ts +415 -0
- package/dist/src/services/context/context-schema.js +73 -0
- package/dist/src/services/context/dispatch-context-guard.d.ts +27 -0
- package/dist/src/services/context/dispatch-context-guard.js +192 -0
- package/dist/src/services/context/doc-retriever.d.ts +26 -0
- package/dist/src/services/context/doc-retriever.js +51 -0
- package/dist/src/services/context/headroom-client.d.ts +34 -0
- package/dist/src/services/context/headroom-client.js +117 -0
- package/dist/src/services/context/headroom-fetcher.d.ts +6 -0
- package/dist/src/services/context/headroom-fetcher.js +28 -0
- package/dist/src/services/context/headroom-prefs.d.ts +46 -0
- package/dist/src/services/context/headroom-prefs.js +34 -0
- package/dist/src/services/context/index.d.ts +7 -0
- package/dist/src/services/context/index.js +6 -0
- package/dist/src/services/context/main-session-monitor.d.ts +77 -0
- package/dist/src/services/context/main-session-monitor.js +130 -0
- package/dist/src/services/context/renderer.d.ts +20 -0
- package/dist/src/services/context/renderer.js +30 -0
- package/dist/src/services/context/shared-channel.d.ts +93 -0
- package/dist/src/services/context/shared-channel.js +308 -0
- package/dist/src/services/context/threshold.d.ts +35 -0
- package/dist/src/services/context/threshold.js +76 -0
- package/dist/src/services/context/tokenizer.d.ts +12 -0
- package/dist/src/services/context/tokenizer.js +43 -0
- package/dist/src/services/context/types.d.ts +93 -0
- package/dist/src/services/context/types.js +9 -0
- package/dist/src/services/dashboard/project-dashboard-service.d.ts +91 -0
- package/dist/src/services/dashboard/project-dashboard-service.js +147 -0
- package/dist/src/services/dispatch/batch-counter.d.ts +27 -0
- package/dist/src/services/dispatch/batch-counter.js +102 -0
- package/dist/src/services/dispatch/contract-store.d.ts +63 -0
- package/dist/src/services/dispatch/contract-store.js +157 -0
- package/dist/src/services/dispatch/dispatch-record-writer.d.ts +138 -0
- package/dist/src/services/dispatch/dispatch-record-writer.js +460 -0
- package/dist/src/services/dispatch/heartbeat-truncator.d.ts +26 -0
- package/dist/src/services/dispatch/heartbeat-truncator.js +13 -0
- package/dist/src/services/dispatch/leak-detector.d.ts +11 -0
- package/dist/src/services/dispatch/leak-detector.js +72 -0
- package/dist/src/services/dispatch/slice-dag.d.ts +81 -0
- package/dist/src/services/dispatch/slice-dag.js +238 -0
- package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
- package/dist/src/services/dispatch/sub-agent-dispatcher.js +382 -0
- package/dist/src/services/dispatch/test-tool-detection.d.ts +36 -0
- package/dist/src/services/dispatch/test-tool-detection.js +46 -0
- package/dist/src/services/doc/doc-generator.d.ts +38 -0
- package/dist/src/services/doc/doc-generator.js +122 -0
- package/dist/src/services/doctor/doctor-service.d.ts +149 -0
- package/dist/src/services/doctor/doctor-service.js +929 -0
- package/dist/src/services/feedback/feedback-promotion-service.d.ts +123 -0
- package/dist/src/services/feedback/feedback-promotion-service.js +300 -0
- package/dist/src/services/filesystem/file-lock.d.ts +11 -0
- package/dist/src/services/filesystem/file-lock.js +129 -0
- package/dist/src/services/final-review/final-review-service.d.ts +12 -0
- package/dist/src/services/final-review/final-review-service.js +52 -0
- package/dist/src/services/final-review/final-review-types.d.ts +42 -0
- package/dist/src/services/final-review/final-review-types.js +18 -0
- package/dist/src/services/fixture/fixture-capture-service.d.ts +87 -0
- package/dist/src/services/fixture/fixture-capture-service.js +317 -0
- package/dist/src/services/fixture/fixture-sanitize-service.d.ts +117 -0
- package/dist/src/services/fixture/fixture-sanitize-service.js +161 -0
- package/dist/src/services/fixture/index.d.ts +8 -0
- package/dist/src/services/fixture/index.js +8 -0
- package/dist/src/services/fork/fork-sync-state.d.ts +85 -0
- package/dist/src/services/fork/fork-sync-state.js +130 -0
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
- package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +56 -0
- package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
- package/dist/src/services/fuzzy-matching/fzf-pick-service.js +158 -0
- package/dist/src/services/fuzzy-matching/types.d.ts +20 -0
- package/dist/src/services/fuzzy-matching/types.js +1 -0
- package/dist/src/services/handoff/handoff-parser.d.ts +28 -0
- package/dist/src/services/handoff/handoff-parser.js +69 -0
- package/dist/src/services/handoff/handoff-types.d.ts +39 -0
- package/dist/src/services/handoff/handoff-types.js +19 -0
- package/dist/src/services/handoff/handoff-writer.d.ts +23 -0
- package/dist/src/services/handoff/handoff-writer.js +30 -0
- package/dist/src/services/hooks/output.d.ts +92 -0
- package/dist/src/services/hooks/output.js +111 -0
- package/dist/src/services/hooks/presence-marker-detector.d.ts +16 -0
- package/dist/src/services/hooks/presence-marker-detector.js +105 -0
- package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +18 -0
- package/dist/src/services/ide/adapters/claude-code-adapter.js +91 -0
- package/dist/src/services/ide/adapters/codex-adapter.d.ts +46 -0
- package/dist/src/services/ide/adapters/codex-adapter.js +97 -0
- package/dist/src/services/ide/adapters/cursor-adapter.d.ts +36 -0
- package/dist/src/services/ide/adapters/cursor-adapter.js +84 -0
- package/dist/src/services/ide/adapters/hermes-adapter.d.ts +21 -0
- package/dist/src/services/ide/adapters/hermes-adapter.js +51 -0
- package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +14 -0
- package/dist/src/services/ide/adapters/openclaw-adapter.js +42 -0
- package/dist/src/services/ide/adapters/trae-adapter.d.ts +42 -0
- package/dist/src/services/ide/adapters/trae-adapter.js +83 -0
- package/dist/src/services/ide/hook-protocol.d.ts +47 -0
- package/dist/src/services/ide/hook-protocol.js +74 -0
- package/dist/src/services/ide/hook-translator.d.ts +72 -0
- package/dist/src/services/ide/hook-translator.js +128 -0
- package/dist/src/services/ide/ide-detector.d.ts +10 -0
- package/dist/src/services/ide/ide-detector.js +19 -0
- package/dist/src/services/ide/ide-registry.d.ts +14 -0
- package/dist/src/services/ide/ide-registry.js +60 -0
- package/dist/src/services/ide/ide-types.d.ts +230 -0
- package/dist/src/services/ide/ide-types.js +2 -0
- package/dist/src/services/ide/resource-profile.d.ts +52 -0
- package/dist/src/services/ide/resource-profile.js +33 -0
- package/dist/src/services/ide/shared/atomic-json.d.ts +15 -0
- package/dist/src/services/ide/shared/atomic-json.js +58 -0
- package/dist/src/services/ide/shared/safe-path.d.ts +11 -0
- package/dist/src/services/ide/shared/safe-path.js +29 -0
- package/dist/src/services/impact/impact-scan-service.d.ts +66 -0
- package/dist/src/services/impact/impact-scan-service.js +197 -0
- package/dist/src/services/legacy/legacy-detector.d.ts +34 -0
- package/dist/src/services/legacy/legacy-detector.js +111 -0
- package/dist/src/services/log/log-commands-service.d.ts +54 -0
- package/dist/src/services/log/log-commands-service.js +83 -0
- package/dist/src/services/log/logger.d.ts +103 -0
- package/dist/src/services/log/logger.js +224 -0
- package/dist/src/services/log/redact.d.ts +32 -0
- package/dist/src/services/log/redact.js +89 -0
- package/dist/src/services/log/retention.d.ts +34 -0
- package/dist/src/services/log/retention.js +78 -0
- package/dist/src/services/loop/evaluator-dispatcher.d.ts +50 -0
- package/dist/src/services/loop/evaluator-dispatcher.js +551 -0
- package/dist/src/services/loop/monotonic-guard.d.ts +80 -0
- package/dist/src/services/loop/monotonic-guard.js +215 -0
- package/dist/src/services/loop/monotonic-runner.d.ts +55 -0
- package/dist/src/services/loop/monotonic-runner.js +197 -0
- package/dist/src/services/loop/run-driver.d.ts +70 -0
- package/dist/src/services/loop/run-driver.js +379 -0
- package/dist/src/services/loop/spec-service.d.ts +90 -0
- package/dist/src/services/loop/spec-service.js +497 -0
- package/dist/src/services/memory/llm-reranker.d.ts +174 -0
- package/dist/src/services/memory/llm-reranker.js +284 -0
- package/dist/src/services/memory/memory-search-service.d.ts +93 -0
- package/dist/src/services/memory/memory-search-service.js +117 -0
- package/dist/src/services/memory/project-context-service.d.ts +11 -0
- package/dist/src/services/memory/project-context-service.js +148 -0
- package/dist/src/services/memory/project-memory-service.d.ts +167 -0
- package/dist/src/services/memory/project-memory-service.js +817 -0
- package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
- package/dist/src/services/migration/v2-10-to-v2-11-service.js +190 -0
- package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
- package/dist/src/services/migration/v2-10-to-v2-11-types.js +23 -0
- package/dist/src/services/mode/bypass-tracker.d.ts +4 -0
- package/dist/src/services/mode/bypass-tracker.js +31 -0
- package/dist/src/services/mode/mode-enforcement.d.ts +14 -0
- package/dist/src/services/mode/mode-enforcement.js +84 -0
- package/dist/src/services/mut/assert-scanner.d.ts +6 -0
- package/dist/src/services/mut/assert-scanner.js +116 -0
- package/dist/src/services/mut/index.d.ts +8 -0
- package/dist/src/services/mut/index.js +7 -0
- package/dist/src/services/mut/mut-runner.d.ts +39 -0
- package/dist/src/services/mut/mut-runner.js +29 -0
- package/dist/src/services/mut/production-stryker.d.ts +7 -0
- package/dist/src/services/mut/production-stryker.js +66 -0
- package/dist/src/services/mut/report-builder.d.ts +11 -0
- package/dist/src/services/mut/report-builder.js +110 -0
- package/dist/src/services/mut/report-loader.d.ts +31 -0
- package/dist/src/services/mut/report-loader.js +78 -0
- package/dist/src/services/mut/thresholds.d.ts +21 -0
- package/dist/src/services/mut/thresholds.js +22 -0
- package/dist/src/services/mut/types.d.ts +336 -0
- package/dist/src/services/mut/types.js +59 -0
- package/dist/src/services/observability/aggregation.d.ts +64 -0
- package/dist/src/services/observability/aggregation.js +217 -0
- package/dist/src/services/observability/jsonl-store.d.ts +59 -0
- package/dist/src/services/observability/jsonl-store.js +120 -0
- package/dist/src/services/observability/observability-service.d.ts +95 -0
- package/dist/src/services/observability/observability-service.js +119 -0
- package/dist/src/services/observability/report-formatter.d.ts +42 -0
- package/dist/src/services/observability/report-formatter.js +156 -0
- package/dist/src/services/openspec/openspec-archive-service.d.ts +12 -0
- package/dist/src/services/openspec/openspec-archive-service.js +28 -0
- package/dist/src/services/openspec/openspec-bridge-service.d.ts +16 -0
- package/dist/src/services/openspec/openspec-bridge-service.js +76 -0
- package/dist/src/services/openspec/openspec-init-service.d.ts +23 -0
- package/dist/src/services/openspec/openspec-init-service.js +122 -0
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
- package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +95 -0
- package/dist/src/services/openspec/openspec-render-service.d.ts +38 -0
- package/dist/src/services/openspec/openspec-render-service.js +130 -0
- package/dist/src/services/openspec/openspec-scan-service.d.ts +6 -0
- package/dist/src/services/openspec/openspec-scan-service.js +123 -0
- package/dist/src/services/openspec/openspec-types.d.ts +39 -0
- package/dist/src/services/openspec/openspec-types.js +1 -0
- package/dist/src/services/openspec/openspec-validate-service.d.ts +27 -0
- package/dist/src/services/openspec/openspec-validate-service.js +77 -0
- package/dist/src/services/perf/perf-baseline-service.d.ts +70 -0
- package/dist/src/services/perf/perf-baseline-service.js +214 -0
- package/dist/src/services/prd/handoff-auto-regen.d.ts +22 -0
- package/dist/src/services/prd/handoff-auto-regen.js +73 -0
- package/dist/src/services/prd/handoff-service.d.ts +54 -0
- package/dist/src/services/prd/handoff-service.js +142 -0
- package/dist/src/services/prd/handoff-types.d.ts +64 -0
- package/dist/src/services/prd/handoff-types.js +22 -0
- package/dist/src/services/prd/prd-blocks-checker.d.ts +51 -0
- package/dist/src/services/prd/prd-blocks-checker.js +130 -0
- package/dist/src/services/prd/project-scan-reader.d.ts +24 -0
- package/dist/src/services/prd/project-scan-reader.js +150 -0
- package/dist/src/services/prd/project-scan-sediment.d.ts +97 -0
- package/dist/src/services/prd/project-scan-sediment.js +445 -0
- package/dist/src/services/prd/project-scan-types.d.ts +66 -0
- package/dist/src/services/prd/project-scan-types.js +20 -0
- package/dist/src/services/preferences/preferences-service.d.ts +38 -0
- package/dist/src/services/preferences/preferences-service.js +198 -0
- package/dist/src/services/preferences/preferences-types.d.ts +148 -0
- package/dist/src/services/preferences/preferences-types.js +53 -0
- package/dist/src/services/profiles/profile-service.d.ts +6 -0
- package/dist/src/services/profiles/profile-service.js +19 -0
- package/dist/src/services/progress/progress-service.d.ts +125 -0
- package/dist/src/services/progress/progress-service.js +192 -0
- package/dist/src/services/providers/minimax-provider-service.d.ts +24 -0
- package/dist/src/services/providers/minimax-provider-service.js +143 -0
- package/dist/src/services/providers/minimax-worker-service.d.ts +21 -0
- package/dist/src/services/providers/minimax-worker-service.js +83 -0
- package/dist/src/services/proxy/proxy-service.d.ts +7 -0
- package/dist/src/services/proxy/proxy-service.js +31 -0
- package/dist/src/services/qa/browser-event-logger.d.ts +40 -0
- package/dist/src/services/qa/browser-event-logger.js +54 -0
- package/dist/src/services/qa/browser-restart-detector.d.ts +74 -0
- package/dist/src/services/qa/browser-restart-detector.js +138 -0
- package/dist/src/services/qa/browser-reuse-hint.d.ts +18 -0
- package/dist/src/services/qa/browser-reuse-hint.js +18 -0
- package/dist/src/services/qa/browser-wrapper-service.d.ts +37 -0
- package/dist/src/services/qa/browser-wrapper-service.js +88 -0
- package/dist/src/services/qa/qa-business-review-state.d.ts +47 -0
- package/dist/src/services/qa/qa-business-review-state.js +96 -0
- package/dist/src/services/rd/ast-gate.d.ts +19 -0
- package/dist/src/services/rd/ast-gate.js +71 -0
- package/dist/src/services/rd/impl.d.ts +9 -0
- package/dist/src/services/rd/impl.js +57 -0
- package/dist/src/services/rd/rd-service.d.ts +129 -0
- package/dist/src/services/rd/rd-service.js +438 -0
- package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +122 -0
- package/dist/src/services/rd/reviewer-dispatch-policy.js +148 -0
- package/dist/src/services/rd/standards-diagnostic.d.ts +76 -0
- package/dist/src/services/rd/standards-diagnostic.js +166 -0
- package/dist/src/services/rd/strategic-stage.d.ts +4 -0
- package/dist/src/services/rd/strategic-stage.js +15 -0
- package/dist/src/services/rd/strategy.d.ts +13 -0
- package/dist/src/services/rd/strategy.js +60 -0
- package/dist/src/services/rd/tactical-stage.d.ts +33 -0
- package/dist/src/services/rd/tactical-stage.js +62 -0
- package/dist/src/services/rd/types.d.ts +252 -0
- package/dist/src/services/rd/types.js +47 -0
- package/dist/src/services/recommendations/capability-availability.d.ts +5 -0
- package/dist/src/services/recommendations/capability-availability.js +40 -0
- package/dist/src/services/recommendations/capability-map-service.d.ts +7 -0
- package/dist/src/services/recommendations/capability-map-service.js +131 -0
- package/dist/src/services/recommendations/capability-seed-items.d.ts +2 -0
- package/dist/src/services/recommendations/capability-seed-items.js +140 -0
- package/dist/src/services/recommendations/capability-seed-mappings.d.ts +2 -0
- package/dist/src/services/recommendations/capability-seed-mappings.js +54 -0
- package/dist/src/services/recommendations/capability-seed-sources.d.ts +2 -0
- package/dist/src/services/recommendations/capability-seed-sources.js +35 -0
- package/dist/src/services/recommendations/recommendation-service.d.ts +8 -0
- package/dist/src/services/recommendations/recommendation-service.js +106 -0
- package/dist/src/services/recommendations/recommendation-types.d.ts +129 -0
- package/dist/src/services/recommendations/recommendation-types.js +1 -0
- package/dist/src/services/recommendations/seed-capability-catalog.d.ts +3 -0
- package/dist/src/services/recommendations/seed-capability-catalog.js +3 -0
- package/dist/src/services/refactor/refactor-service.d.ts +9 -0
- package/dist/src/services/refactor/refactor-service.js +36 -0
- package/dist/src/services/release/release-state.d.ts +70 -0
- package/dist/src/services/release/release-state.js +140 -0
- package/dist/src/services/retrospective/retrospective-index.d.ts +37 -0
- package/dist/src/services/retrospective/retrospective-index.js +110 -0
- package/dist/src/services/retrospective/retrospective-search-service.d.ts +55 -0
- package/dist/src/services/retrospective/retrospective-search-service.js +107 -0
- package/dist/src/services/retrospective/retrospective-show.d.ts +40 -0
- package/dist/src/services/retrospective/retrospective-show.js +109 -0
- package/dist/src/services/reviewer/model-family.d.ts +18 -0
- package/dist/src/services/reviewer/model-family.js +70 -0
- package/dist/src/services/reviewer/providers/anthropic.d.ts +2 -0
- package/dist/src/services/reviewer/providers/anthropic.js +61 -0
- package/dist/src/services/reviewer/providers/ollama.d.ts +26 -0
- package/dist/src/services/reviewer/providers/ollama.js +38 -0
- package/dist/src/services/reviewer/providers/openai.d.ts +2 -0
- package/dist/src/services/reviewer/providers/openai.js +63 -0
- package/dist/src/services/reviewer/reviewer-config.d.ts +34 -0
- package/dist/src/services/reviewer/reviewer-config.js +100 -0
- package/dist/src/services/reviewer/reviewer-service.d.ts +56 -0
- package/dist/src/services/reviewer/reviewer-service.js +263 -0
- package/dist/src/services/reviewer/selection-strategies.d.ts +27 -0
- package/dist/src/services/reviewer/selection-strategies.js +53 -0
- package/dist/src/services/role/role-registry.d.ts +38 -0
- package/dist/src/services/role/role-registry.js +83 -0
- package/dist/src/services/sc/index.d.ts +1 -0
- package/dist/src/services/sc/index.js +1 -0
- package/dist/src/services/sc/sc-service.d.ts +131 -0
- package/dist/src/services/sc/sc-service.js +552 -0
- package/dist/src/services/scan/acceptance-coverage-service.d.ts +42 -0
- package/dist/src/services/scan/acceptance-coverage-service.js +140 -0
- package/dist/src/services/scan/api-surface-service.d.ts +69 -0
- package/dist/src/services/scan/api-surface-service.js +239 -0
- package/dist/src/services/scan/archetype-service.d.ts +5 -0
- package/dist/src/services/scan/archetype-service.js +242 -0
- package/dist/src/services/scan/diff-scope-service.d.ts +40 -0
- package/dist/src/services/scan/diff-scope-service.js +198 -0
- package/dist/src/services/scan/existing-system-service.d.ts +7 -0
- package/dist/src/services/scan/existing-system-service.js +300 -0
- package/dist/src/services/scan/file-size-scan.d.ts +23 -0
- package/dist/src/services/scan/file-size-scan.js +68 -0
- package/dist/src/services/scan/karpathy-service.d.ts +60 -0
- package/dist/src/services/scan/karpathy-service.js +228 -0
- package/dist/src/services/scan/libraries-service.d.ts +24 -0
- package/dist/src/services/scan/libraries-service.js +419 -0
- package/dist/src/services/scan/libraries-types.d.ts +59 -0
- package/dist/src/services/scan/libraries-types.js +9 -0
- package/dist/src/services/scan/orphan-service.d.ts +76 -0
- package/dist/src/services/scan/orphan-service.js +538 -0
- package/dist/src/services/scan/scan-types.d.ts +59 -0
- package/dist/src/services/scan/scan-types.js +1 -0
- package/dist/src/services/scan/type-sanity-service.d.ts +23 -0
- package/dist/src/services/scan/type-sanity-service.js +116 -0
- package/dist/src/services/security/safe-settings-path.d.ts +12 -0
- package/dist/src/services/security/safe-settings-path.js +104 -0
- package/dist/src/services/session/binding-status-service.d.ts +56 -0
- package/dist/src/services/session/binding-status-service.js +106 -0
- package/dist/src/services/session/binding-store.d.ts +161 -0
- package/dist/src/services/session/binding-store.js +509 -0
- package/dist/src/services/session/caller-binding-service.d.ts +70 -0
- package/dist/src/services/session/caller-binding-service.js +148 -0
- package/dist/src/services/session/caller-id-types.d.ts +77 -0
- package/dist/src/services/session/caller-id-types.js +46 -0
- package/dist/src/services/session/getSessionDir.d.ts +1 -0
- package/dist/src/services/session/getSessionDir.js +27 -0
- package/dist/src/services/session/index.d.ts +6 -0
- package/dist/src/services/session/index.js +7 -0
- package/dist/src/services/session/platform-fallbacks.d.ts +31 -0
- package/dist/src/services/session/platform-fallbacks.js +35 -0
- package/dist/src/services/session/resolve-caller-id.d.ts +57 -0
- package/dist/src/services/session/resolve-caller-id.js +88 -0
- package/dist/src/services/session/session-binding-bridge.d.ts +76 -0
- package/dist/src/services/session/session-binding-bridge.js +247 -0
- package/dist/src/services/session/session-checkpoint-service.d.ts +57 -0
- package/dist/src/services/session/session-checkpoint-service.js +143 -0
- package/dist/src/services/session/session-manager.d.ts +168 -0
- package/dist/src/services/session/session-manager.js +502 -0
- package/dist/src/services/session/session-resume-service.d.ts +25 -0
- package/dist/src/services/session/session-resume-service.js +101 -0
- package/dist/src/services/signal/cancel-handler.d.ts +14 -0
- package/dist/src/services/signal/cancel-handler.js +76 -0
- package/dist/src/services/skill/resume-detector.d.ts +54 -0
- package/dist/src/services/skill/resume-detector.js +334 -0
- package/dist/src/services/skill/skill-scheduler.d.ts +40 -0
- package/dist/src/services/skill/skill-scheduler.js +53 -0
- package/dist/src/services/skills/hooks-settings-service.d.ts +137 -0
- package/dist/src/services/skills/hooks-settings-service.js +396 -0
- package/dist/src/services/skills/skill-conformance-service.d.ts +40 -0
- package/dist/src/services/skills/skill-conformance-service.js +136 -0
- package/dist/src/services/skills/skill-presence-service.d.ts +158 -0
- package/dist/src/services/skills/skill-presence-service.js +474 -0
- package/dist/src/services/skills/skill-registry.d.ts +17 -0
- package/dist/src/services/skills/skill-registry.js +40 -0
- package/dist/src/services/skills/skill-runbook-service.d.ts +11 -0
- package/dist/src/services/skills/skill-runbook-service.js +128 -0
- package/dist/src/services/skills/skill-statusline-renderer.d.ts +6 -0
- package/dist/src/services/skills/skill-statusline-renderer.js +55 -0
- package/dist/src/services/skills/skill-statusline-service.d.ts +24 -0
- package/dist/src/services/skills/skill-statusline-service.js +110 -0
- package/dist/src/services/skills/statusline-settings-service.d.ts +59 -0
- package/dist/src/services/skills/statusline-settings-service.js +141 -0
- package/dist/src/services/skills/sync-service.d.ts +86 -0
- package/dist/src/services/skills/sync-service.js +271 -0
- package/dist/src/services/slice/calibration-store.d.ts +39 -0
- package/dist/src/services/slice/calibration-store.js +68 -0
- package/dist/src/services/slice/cross-pass-edge-merger.d.ts +53 -0
- package/dist/src/services/slice/cross-pass-edge-merger.js +246 -0
- package/dist/src/services/slice/granularity-decider.d.ts +37 -0
- package/dist/src/services/slice/granularity-decider.js +40 -0
- package/dist/src/services/slice/llm-arbitrator.d.ts +35 -0
- package/dist/src/services/slice/llm-arbitrator.js +63 -0
- package/dist/src/services/slice/multi-pass-orchestrator.d.ts +67 -0
- package/dist/src/services/slice/multi-pass-orchestrator.js +225 -0
- package/dist/src/services/slice/schema-router.d.ts +44 -0
- package/dist/src/services/slice/schema-router.js +61 -0
- package/dist/src/services/slice/slice-archive-service.d.ts +20 -0
- package/dist/src/services/slice/slice-archive-service.js +111 -0
- package/dist/src/services/slice/slice-benchmark-service.d.ts +19 -0
- package/dist/src/services/slice/slice-benchmark-service.js +60 -0
- package/dist/src/services/slice/slice-check-service.d.ts +2 -0
- package/dist/src/services/slice/slice-check-service.js +459 -0
- package/dist/src/services/slice/slice-check-types.d.ts +104 -0
- package/dist/src/services/slice/slice-check-types.js +28 -0
- package/dist/src/services/slice/slice-decompose-runners.d.ts +23 -0
- package/dist/src/services/slice/slice-decompose-runners.js +174 -0
- package/dist/src/services/slice/slice-decompose-service.d.ts +24 -0
- package/dist/src/services/slice/slice-decompose-service.js +532 -0
- package/dist/src/services/slice/slice-decompose-types.d.ts +263 -0
- package/dist/src/services/slice/slice-decompose-types.js +30 -0
- package/dist/src/services/slice/slice-integration.d.ts +43 -0
- package/dist/src/services/slice/slice-integration.js +106 -0
- package/dist/src/services/slice/slice-pick-service.d.ts +32 -0
- package/dist/src/services/slice/slice-pick-service.js +75 -0
- package/dist/src/services/slice/slice-review-state.d.ts +70 -0
- package/dist/src/services/slice/slice-review-state.js +109 -0
- package/dist/src/services/slice/slice-topology-types.d.ts +115 -0
- package/dist/src/services/slice/slice-topology-types.js +20 -0
- package/dist/src/services/smoke/smoke-paths-state.d.ts +73 -0
- package/dist/src/services/smoke/smoke-paths-state.js +117 -0
- package/dist/src/services/solo/auto-compact-orchestrator.d.ts +98 -0
- package/dist/src/services/solo/auto-compact-orchestrator.js +343 -0
- package/dist/src/services/solo/batch-heartbeat-poller.d.ts +51 -0
- package/dist/src/services/solo/batch-heartbeat-poller.js +88 -0
- package/dist/src/services/solo/dag-orchestrator.d.ts +128 -0
- package/dist/src/services/solo/dag-orchestrator.js +304 -0
- package/dist/src/services/solo/mode-gate.d.ts +163 -0
- package/dist/src/services/solo/mode-gate.js +212 -0
- package/dist/src/services/solo/post-compact-detector.d.ts +61 -0
- package/dist/src/services/solo/post-compact-detector.js +240 -0
- package/dist/src/services/solo/status-line-renderer.d.ts +34 -0
- package/dist/src/services/solo/status-line-renderer.js +55 -0
- package/dist/src/services/solo/user-touchpoint-classifier.d.ts +44 -0
- package/dist/src/services/solo/user-touchpoint-classifier.js +145 -0
- package/dist/src/services/sop/gate-enforce-service.d.ts +33 -0
- package/dist/src/services/sop/gate-enforce-service.js +168 -0
- package/dist/src/services/sop/sop-advance-service.d.ts +74 -0
- package/dist/src/services/sop/sop-advance-service.js +115 -0
- package/dist/src/services/sop/sop-check-service.d.ts +45 -0
- package/dist/src/services/sop/sop-check-service.js +181 -0
- package/dist/src/services/sop/sop-paths.d.ts +62 -0
- package/dist/src/services/sop/sop-paths.js +92 -0
- package/dist/src/services/sop/sop-registry-service.d.ts +46 -0
- package/dist/src/services/sop/sop-registry-service.js +89 -0
- package/dist/src/services/sop/sop-service.d.ts +55 -0
- package/dist/src/services/sop/sop-service.js +222 -0
- package/dist/src/services/sop/sop-types.d.ts +95 -0
- package/dist/src/services/sop/sop-types.js +11 -0
- package/dist/src/services/standards/ide-aware-standards-service.d.ts +94 -0
- package/dist/src/services/standards/ide-aware-standards-service.js +89 -0
- package/dist/src/services/standards/migrate-claude-rules-service.d.ts +19 -0
- package/dist/src/services/standards/migrate-claude-rules-service.js +193 -0
- package/dist/src/services/standards/migrate-service.d.ts +63 -0
- package/dist/src/services/standards/migrate-service.js +193 -0
- package/dist/src/services/standards/missing-standards-detector.d.ts +79 -0
- package/dist/src/services/standards/missing-standards-detector.js +132 -0
- package/dist/src/services/standards/project-context.d.ts +24 -0
- package/dist/src/services/standards/project-context.js +314 -0
- package/dist/src/services/standards/project-standards-service.d.ts +114 -0
- package/dist/src/services/standards/project-standards-service.js +574 -0
- package/dist/src/services/tech/tech-service.d.ts +69 -0
- package/dist/src/services/tech/tech-service.js +299 -0
- package/dist/src/services/test-cache/test-cache-service.d.ts +70 -0
- package/dist/src/services/test-cache/test-cache-service.js +175 -0
- package/dist/src/services/understand/understand-scan-service.d.ts +28 -0
- package/dist/src/services/understand/understand-scan-service.js +170 -0
- package/dist/src/services/understand/understand-types.d.ts +50 -0
- package/dist/src/services/understand/understand-types.js +1 -0
- package/dist/src/services/upgrade/1x-detector-service.d.ts +7 -0
- package/dist/src/services/upgrade/1x-detector-service.js +94 -0
- package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +56 -0
- package/dist/src/services/upgrade/gitignore-migrate-service.js +170 -0
- package/dist/src/services/upgrade/upgrade-service.d.ts +47 -0
- package/dist/src/services/upgrade/upgrade-service.js +381 -0
- package/dist/src/services/verdict/envelopes.d.ts +93 -0
- package/dist/src/services/verdict/envelopes.js +349 -0
- package/dist/src/services/verdict/verdict-aggregator.d.ts +94 -0
- package/dist/src/services/verdict/verdict-aggregator.js +112 -0
- package/dist/src/services/workflow/artifact-paths.d.ts +59 -0
- package/dist/src/services/workflow/artifact-paths.js +166 -0
- package/dist/src/services/workflow/autonomous-resume-writer.d.ts +16 -0
- package/dist/src/services/workflow/autonomous-resume-writer.js +170 -0
- package/dist/src/services/workflow/pipeline-verify-service.d.ts +90 -0
- package/dist/src/services/workflow/pipeline-verify-service.js +449 -0
- package/dist/src/services/workflow/plan-reader.d.ts +29 -0
- package/dist/src/services/workflow/plan-reader.js +174 -0
- package/dist/src/services/workflow/plan-refresher.d.ts +32 -0
- package/dist/src/services/workflow/plan-refresher.js +353 -0
- package/dist/src/services/workflow/plan-trigger-detector.d.ts +55 -0
- package/dist/src/services/workflow/plan-trigger-detector.js +142 -0
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
- package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
- package/dist/src/services/workflow/workflow-autonomous-service.d.ts +100 -0
- package/dist/src/services/workflow/workflow-autonomous-service.js +306 -0
- package/dist/src/services/workflow/workflow-loader.d.ts +63 -0
- package/dist/src/services/workflow/workflow-loader.js +168 -0
- package/dist/src/services/workflow/workflow-router-service.d.ts +85 -0
- package/dist/src/services/workflow/workflow-router-service.js +227 -0
- package/dist/src/services/workflow/workflow-skip-service.d.ts +106 -0
- package/dist/src/services/workflow/workflow-skip-service.js +209 -0
- package/dist/src/services/workflow/workflow-spec.d.ts +116 -0
- package/dist/src/services/workflow/workflow-spec.js +431 -0
- package/dist/src/services/workflow/workflow-state-store.d.ts +27 -0
- package/dist/src/services/workflow/workflow-state-store.js +95 -0
- package/dist/src/services/workspace/claude-settings-template.d.ts +96 -0
- package/dist/src/services/workspace/claude-settings-template.js +215 -0
- package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +44 -0
- package/dist/src/services/workspace/migrate-1-4-1-service.js +195 -0
- package/dist/src/services/workspace/migrate-service.d.ts +2 -0
- package/dist/src/services/workspace/migrate-service.js +613 -0
- package/dist/src/services/workspace/migrate-types.d.ts +127 -0
- package/dist/src/services/workspace/migrate-types.js +21 -0
- package/dist/src/services/workspace/reconcile-service.d.ts +188 -0
- package/dist/src/services/workspace/reconcile-service.js +683 -0
- package/dist/src/services/workspace/reconcile-types.d.ts +130 -0
- package/dist/src/services/workspace/reconcile-types.js +13 -0
- package/dist/src/services/workspace/sid-naming-guard.d.ts +17 -0
- package/dist/src/services/workspace/sid-naming-guard.js +34 -0
- package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
- package/dist/src/services/workspace/workspace-claude-settings-materializer.js +194 -0
- package/dist/src/services/workspace/workspace-clean-service.d.ts +28 -0
- package/dist/src/services/workspace/workspace-clean-service.js +46 -0
- package/dist/src/services/workspace/workspace-service.d.ts +177 -0
- package/dist/src/services/workspace/workspace-service.js +432 -0
- package/dist/src/services/workspace/workspace-state-service.d.ts +7 -0
- package/dist/src/services/workspace/workspace-state-service.js +43 -0
- package/dist/src/shared/format-md-compact.d.ts +32 -0
- package/dist/src/shared/format-md-compact.js +297 -0
- package/dist/src/shared/frontmatter.d.ts +6 -0
- package/dist/src/shared/frontmatter.js +165 -0
- package/dist/src/shared/fs-utils.d.ts +4 -0
- package/dist/src/shared/fs-utils.js +16 -0
- package/dist/src/shared/fs.d.ts +4 -0
- package/dist/src/shared/fs.js +26 -0
- package/dist/src/shared/incrementing-number.d.ts +23 -0
- package/dist/src/shared/incrementing-number.js +68 -0
- package/dist/src/shared/json-schema-mini.d.ts +10 -0
- package/dist/src/shared/json-schema-mini.js +113 -0
- package/dist/src/shared/path-safety.d.ts +21 -0
- package/dist/src/shared/path-safety.js +54 -0
- package/dist/src/shared/path-utils.d.ts +13 -0
- package/dist/src/shared/path-utils.js +56 -0
- package/dist/src/shared/paths.d.ts +6 -0
- package/dist/src/shared/paths.js +50 -0
- package/dist/src/shared/planner-response.d.ts +21 -0
- package/dist/src/shared/planner-response.js +26 -0
- package/dist/src/shared/platform.d.ts +6 -0
- package/dist/src/shared/platform.js +11 -0
- package/dist/src/shared/process.d.ts +5 -0
- package/dist/src/shared/process.js +12 -0
- package/dist/src/shared/result.d.ts +22 -0
- package/dist/src/shared/result.js +46 -0
- package/dist/src/shared/stale-policy.d.ts +67 -0
- package/dist/src/shared/stale-policy.js +85 -0
- package/dist/src/shared/version.d.ts +1 -0
- package/dist/src/shared/version.js +1 -0
- package/output-styles/peaks-skill-swarm.md +132 -0
- package/package.json +101 -0
- package/schemas/approval-record.schema.json +14 -0
- package/schemas/artifact-manifest.schema.json +16 -0
- package/schemas/artifact-retention-report.schema.json +38 -0
- package/schemas/artifact-workspace.schema.json +22 -0
- package/schemas/capability-availability.schema.json +36 -0
- package/schemas/capability-item.schema.json +37 -0
- package/schemas/capability-source.schema.json +30 -0
- package/schemas/change-impact.schema.json +15 -0
- package/schemas/context-capsule.schema.json +16 -0
- package/schemas/context.schema.json +360 -0
- package/schemas/decomposition-v1.json +194 -0
- package/schemas/decomposition-v2.json +193 -0
- package/schemas/doctor-report.schema.json +34 -0
- package/schemas/library-breaking-changes.data.json +141 -0
- package/schemas/library-breaking-changes.meta.json +6 -0
- package/schemas/library-breaking-changes.schema.json +50 -0
- package/schemas/mcp-apply-result.schema.json +46 -0
- package/schemas/mcp-install-plan.schema.json +71 -0
- package/schemas/mcp-install-spec.schema.json +29 -0
- package/schemas/mcp-server.schema.json +29 -0
- package/schemas/openspec-change-summary.schema.json +68 -0
- package/schemas/openspec-render-request.schema.json +61 -0
- package/schemas/openspec-validation-result.schema.json +36 -0
- package/schemas/recommendation-plan.schema.json +37 -0
- package/schemas/refactor-slice-spec.schema.json +19 -0
- package/schemas/replay-fixture.schema.json +158 -0
- package/schemas/reviewer-envelope.schema.json +79 -0
- package/schemas/sop-manifest.schema.json +52 -0
- package/scripts/clean-dist.mjs +8 -0
- package/scripts/install-skills.mjs +1202 -0
- package/scripts/sync-version.mjs +12 -0
- package/scripts/watch.mjs +389 -0
- package/skills/peaks-audit/SKILL.md +151 -0
- package/skills/peaks-audit/references/6-dimensions.md +141 -0
- package/skills/peaks-doctor/SKILL.md +59 -0
- package/skills/peaks-doctor/references/doctor-check-catalog.md +31 -0
- package/skills/peaks-doctor/references/from-doctor-flow.md +64 -0
- package/skills/peaks-doctor/test_prompts.json +17 -0
- package/skills/peaks-final-review/SKILL.md +157 -0
- package/skills/peaks-final-review/references/4-dimensions.md +117 -0
- package/skills/peaks-ide/SKILL.md +161 -0
- package/skills/peaks-ide/references/audit-log-helper.md +52 -0
- package/skills/peaks-perf-audit/SKILL.md +166 -0
- package/skills/peaks-perf-audit/references/audit-protocol.md +173 -0
- package/skills/peaks-prd/SKILL.md +319 -0
- package/skills/peaks-prd/references/artifact-contracts.md +7 -0
- package/skills/peaks-prd/references/artifact-per-request.md +78 -0
- package/skills/peaks-prd/references/command-migration.md +3 -0
- package/skills/peaks-prd/references/prd-for-multi-pass.md +49 -0
- package/skills/peaks-prd/references/workflow.md +43 -0
- package/skills/peaks-qa/SKILL.md +240 -0
- package/skills/peaks-qa/references/artifact-contracts.md +7 -0
- package/skills/peaks-qa/references/artifact-per-request.md +25 -0
- package/skills/peaks-qa/references/browser-validation-contracts.md +51 -0
- package/skills/peaks-qa/references/codegraph-regression-focus.md +5 -0
- package/skills/peaks-qa/references/command-migration.md +3 -0
- package/skills/peaks-qa/references/external-capability-guidance.md +9 -0
- package/skills/peaks-qa/references/openspec-validation-gate.md +55 -0
- package/skills/peaks-qa/references/qa-compact-handoff.md +3 -0
- package/skills/peaks-qa/references/qa-context-governance.md +24 -0
- package/skills/peaks-qa/references/qa-fanout-contract.md +158 -0
- package/skills/peaks-qa/references/qa-gstack-integration.md +7 -0
- package/skills/peaks-qa/references/qa-local-artifacts.md +3 -0
- package/skills/peaks-qa/references/qa-matt-pocock-integration.md +9 -0
- package/skills/peaks-qa/references/qa-perf-test-plan.md +67 -0
- package/skills/peaks-qa/references/qa-refactor-role.md +3 -0
- package/skills/peaks-qa/references/qa-runbook.md +72 -0
- package/skills/peaks-qa/references/qa-security-test-plan.md +73 -0
- package/skills/peaks-qa/references/qa-skill-presence.md +22 -0
- package/skills/peaks-qa/references/qa-standards-preflight.md +8 -0
- package/skills/peaks-qa/references/qa-sub-agent-dispatch.md +46 -0
- package/skills/peaks-qa/references/qa-transition-gates.md +86 -0
- package/skills/peaks-qa/references/reading-handoff-frontmatter.md +30 -0
- package/skills/peaks-qa/references/regression-gates.md +24 -0
- package/skills/peaks-qa/references/requirement-boundary-recheck.md +9 -0
- package/skills/peaks-qa/references/test-case-generation.md +27 -0
- package/skills/peaks-qa/references/test-report-output.md +14 -0
- package/skills/peaks-rd/SKILL.md +279 -0
- package/skills/peaks-rd/references/artifact-and-standards-output.md +9 -0
- package/skills/peaks-rd/references/artifact-contracts.md +7 -0
- package/skills/peaks-rd/references/artifact-per-request.md +112 -0
- package/skills/peaks-rd/references/browser-action-wrapper.md +39 -0
- package/skills/peaks-rd/references/browser-self-test-contracts.md +29 -0
- package/skills/peaks-rd/references/code-reviewer-4dim-hint.md +72 -0
- package/skills/peaks-rd/references/codegraph-project-analysis.md +5 -0
- package/skills/peaks-rd/references/command-migration.md +3 -0
- package/skills/peaks-rd/references/compact-handoff.md +3 -0
- package/skills/peaks-rd/references/external-references.md +11 -0
- package/skills/peaks-rd/references/frontend-project-generation.md +11 -0
- package/skills/peaks-rd/references/karpathy-reviewer-prompt.md +2 -0
- package/skills/peaks-rd/references/library-version-awareness.md +30 -0
- package/skills/peaks-rd/references/mandatory-perf-baseline.md +42 -0
- package/skills/peaks-rd/references/matt-pocock-integration.md +11 -0
- package/skills/peaks-rd/references/mock-data-placement.md +40 -0
- package/skills/peaks-rd/references/ocr-integration.md +229 -0
- package/skills/peaks-rd/references/openspec-cli.md +62 -0
- package/skills/peaks-rd/references/parallel-review-fanout.md +90 -0
- package/skills/peaks-rd/references/rd-context-governance.md +36 -0
- package/skills/peaks-rd/references/rd-fanout-contracts.md +216 -0
- package/skills/peaks-rd/references/rd-gstack-integration.md +16 -0
- package/skills/peaks-rd/references/rd-runbook.md +190 -0
- package/skills/peaks-rd/references/rd-standards-preflight.md +8 -0
- package/skills/peaks-rd/references/rd-sub-agent-dispatch.md +111 -0
- package/skills/peaks-rd/references/rd-transition-gates.md +148 -0
- package/skills/peaks-rd/references/reading-v2-slice-results.md +54 -0
- package/skills/peaks-rd/references/refactor-workflow.md +39 -0
- package/skills/peaks-rd/references/skill-presence-and-title.md +22 -0
- package/skills/peaks-rd/references/v2-12-fanout-collapse.md +64 -0
- package/skills/peaks-rd/references/writing-handoff-frontmatter.md +68 -0
- package/skills/peaks-reviewer/SKILL.md +76 -0
- package/skills/peaks-reviewer/references/reviewer-prompt.md +50 -0
- package/skills/peaks-reviewer/references/reviewer-schema.md +49 -0
- package/skills/peaks-sc/SKILL.md +166 -0
- package/skills/peaks-sc/references/artifact-contracts.md +3 -0
- package/skills/peaks-sc/references/artifact-retention.md +14 -0
- package/skills/peaks-sc/references/command-migration.md +3 -0
- package/skills/peaks-sc/references/openspec-commit-boundaries.md +33 -0
- package/skills/peaks-security-audit/SKILL.md +167 -0
- package/skills/peaks-security-audit/references/audit-protocol.md +175 -0
- package/skills/peaks-slice-decompose/SKILL.md +111 -0
- package/skills/peaks-slice-decompose/references/cross-pass-edge-interpretation.md +158 -0
- package/skills/peaks-slice-decompose/references/granularity-decision.md +129 -0
- package/skills/peaks-slice-decompose/references/v2-schema.md +156 -0
- package/skills/peaks-solo/SKILL.md +316 -0
- package/skills/peaks-solo/references/a2a-artifact-mapping.md +115 -0
- package/skills/peaks-solo/references/anchoring-and-session-info.md +34 -0
- package/skills/peaks-solo/references/artifact-contracts.md +65 -0
- package/skills/peaks-solo/references/boundaries.md +21 -0
- package/skills/peaks-solo/references/browser-workflow.md +127 -0
- package/skills/peaks-solo/references/checkpoint-resume.md +70 -0
- package/skills/peaks-solo/references/codegraph-orchestration.md +5 -0
- package/skills/peaks-solo/references/command-migration.md +3 -0
- package/skills/peaks-solo/references/completion-handoff.md +18 -0
- package/skills/peaks-solo/references/context-governance.md +204 -0
- package/skills/peaks-solo/references/cross-date-session-check.md +67 -0
- package/skills/peaks-solo/references/dag-orchestrator.md +56 -0
- package/skills/peaks-solo/references/envelope-contract.md +130 -0
- package/skills/peaks-solo/references/existing-system-extraction.md +78 -0
- package/skills/peaks-solo/references/external-references.md +17 -0
- package/skills/peaks-solo/references/external-skill-invocation.md +72 -0
- package/skills/peaks-solo/references/fanout-mandatory.md +109 -0
- package/skills/peaks-solo/references/fast-mode.md +23 -0
- package/skills/peaks-solo/references/frontend-only-mode.md +87 -0
- package/skills/peaks-solo/references/gstack-integration.md +7 -0
- package/skills/peaks-solo/references/headroom-integration.md +107 -0
- package/skills/peaks-solo/references/local-artifact-workspace.md +79 -0
- package/skills/peaks-solo/references/micro-cycle.md +316 -0
- package/skills/peaks-solo/references/mode-selection-with-stale-presence.md +124 -0
- package/skills/peaks-solo/references/mode-selection.md +21 -0
- package/skills/peaks-solo/references/openspec-workflow.md +81 -0
- package/skills/peaks-solo/references/periodic-checkpoint.md +71 -0
- package/skills/peaks-solo/references/playwright-mcp-multi-terminal.md +114 -0
- package/skills/peaks-solo/references/project-memory-loading.md +17 -0
- package/skills/peaks-solo/references/project-scan-checklist.md +136 -0
- package/skills/peaks-solo/references/quality-gate-cheatsheet.md +13 -0
- package/skills/peaks-solo/references/refactor-mode.md +24 -0
- package/skills/peaks-solo/references/resume-detection.md +63 -0
- package/skills/peaks-solo/references/runbook.md +188 -0
- package/skills/peaks-solo/references/skill-presence-and-title.md +31 -0
- package/skills/peaks-solo/references/standards-preflight.md +23 -0
- package/skills/peaks-solo/references/step-0-55-1x-detection.md +82 -0
- package/skills/peaks-solo/references/sub-agent-dispatch.md +334 -0
- package/skills/peaks-solo/references/swarm-dispatch-contract.md +230 -0
- package/skills/peaks-solo/references/workflow-gates-and-types.md +186 -0
- package/skills/peaks-solo/references/workflow.md +38 -0
- package/skills/peaks-solo-resume/SKILL.md +81 -0
- package/skills/peaks-solo-status/SKILL.md +120 -0
- package/skills/peaks-solo-test/SKILL.md +84 -0
- package/skills/peaks-sop/SKILL.md +209 -0
- package/skills/peaks-sop/references/sop-authoring.md +161 -0
- package/skills/peaks-txt/SKILL.md +303 -0
- package/skills/peaks-txt/references/artifact-contracts.md +7 -0
- package/skills/peaks-txt/references/command-migration.md +3 -0
- package/skills/peaks-txt/references/context-capsule.md +21 -0
- package/skills/peaks-ui/SKILL.md +369 -0
- package/skills/peaks-ui/references/artifact-contracts.md +3 -0
- package/skills/peaks-ui/references/artifact-per-request.md +71 -0
- package/skills/peaks-ui/references/command-migration.md +3 -0
- package/skills/peaks-ui/references/workflow.md +27 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Slice 028 (Q1=A): hook-based skill-presence marker detection.
|
|
5
|
+
*
|
|
6
|
+
* Background: the consumer-facing CLAUDE.md template (rendered by
|
|
7
|
+
* `peaks standards init` / `peaks standards update`) instructs the LLM
|
|
8
|
+
* to display a compact status header
|
|
9
|
+
* `Peaks-Cli Skill: <skill> | Peaks-Cli Gate: <gate> | Next: <one short action>`
|
|
10
|
+
* on every turn while a peaks skill is active. If the LLM forgets (e.g.
|
|
11
|
+
* because of context compaction or a fresh session), the user is left
|
|
12
|
+
* without an at-a-glance signal that peaks is orchestrating the work.
|
|
13
|
+
*
|
|
14
|
+
* This service is the read-only side of the slice-028 detection
|
|
15
|
+
* mechanism. The PostToolUse hook (or any other consumer, e.g.
|
|
16
|
+
* `peaks skill detect-marker-loss`) calls
|
|
17
|
+
* `detectPresenceMarker({ project, latestAssistantMessage })`
|
|
18
|
+
* and gets back:
|
|
19
|
+
*
|
|
20
|
+
* - `active`: whether an active-skill marker was found on disk.
|
|
21
|
+
* - `skill?`: the active skill name, if any.
|
|
22
|
+
* - `markerFound`: whether the latest assistant message carries the
|
|
23
|
+
* expected `Peaks-Cli Skill:` / `Peaks-Cli Gate:`
|
|
24
|
+
* marker. Always `false` when `active` is `false`.
|
|
25
|
+
* - `warning?`: a human-readable warning emitted when the marker
|
|
26
|
+
* is missing while the presence is active.
|
|
27
|
+
*
|
|
28
|
+
* The function is pure: it does not write to disk, does not clear the
|
|
29
|
+
* presence file, and does not depend on `process.cwd()`. The caller is
|
|
30
|
+
* expected to provide the absolute project root (peaks-cli convention
|
|
31
|
+
* from the standards-commands family — see dev-preference rule
|
|
32
|
+
* `project-option-is-canonical-project-root-source`).
|
|
33
|
+
*/
|
|
34
|
+
const PRESENCE_CANONICAL_PATH = '.peaks/_runtime/active-skill.json';
|
|
35
|
+
const PRESENCE_LEGACY_PATH = '.peaks/.active-skill.json';
|
|
36
|
+
const MARKER_PRIMARY = 'Peaks-Cli Skill:';
|
|
37
|
+
const MARKER_SECONDARY = 'Peaks-Cli Gate:';
|
|
38
|
+
const SKILL_NAME_RE = /"skill"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"/;
|
|
39
|
+
export const PRESENCE_MARKER_WARNING = [
|
|
40
|
+
'Peaks skill context may have been lost from this conversation; please re-invoke /peaks-<skill>.'
|
|
41
|
+
];
|
|
42
|
+
function readPresenceFile(absolutePath) {
|
|
43
|
+
if (!existsSync(absolutePath))
|
|
44
|
+
return null;
|
|
45
|
+
let raw;
|
|
46
|
+
try {
|
|
47
|
+
raw = readFileSync(absolutePath, 'utf8');
|
|
48
|
+
}
|
|
49
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
let parsed;
|
|
53
|
+
try {
|
|
54
|
+
parsed = JSON.parse(raw);
|
|
55
|
+
}
|
|
56
|
+
catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
if (parsed === null || typeof parsed !== 'object')
|
|
60
|
+
return null;
|
|
61
|
+
const skillMatch = SKILL_NAME_RE.exec(JSON.stringify(parsed));
|
|
62
|
+
if (skillMatch === null)
|
|
63
|
+
return null;
|
|
64
|
+
if (typeof skillMatch[1] !== 'string' || skillMatch[1].length === 0)
|
|
65
|
+
return null;
|
|
66
|
+
return { skill: skillMatch[1] };
|
|
67
|
+
}
|
|
68
|
+
function readPresenceBackCompat(project) {
|
|
69
|
+
const projectRoot = resolve(project);
|
|
70
|
+
const canonicalPath = resolve(projectRoot, PRESENCE_CANONICAL_PATH);
|
|
71
|
+
const legacyPath = resolve(projectRoot, PRESENCE_LEGACY_PATH);
|
|
72
|
+
for (const candidate of [canonicalPath, legacyPath]) {
|
|
73
|
+
const parsed = readPresenceFile(candidate);
|
|
74
|
+
if (parsed === null)
|
|
75
|
+
continue;
|
|
76
|
+
return { skill: parsed.skill, path: candidate };
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
function messageHasMarker(message) {
|
|
81
|
+
if (message.length === 0)
|
|
82
|
+
return false;
|
|
83
|
+
return message.includes(MARKER_PRIMARY) || message.includes(MARKER_SECONDARY);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Pure read-only presence-marker detection. No I/O side effects.
|
|
87
|
+
*/
|
|
88
|
+
export function detectPresenceMarker(input) {
|
|
89
|
+
const project = input.project;
|
|
90
|
+
const message = input.latestAssistantMessage ?? '';
|
|
91
|
+
const presence = readPresenceBackCompat(project);
|
|
92
|
+
if (presence === null) {
|
|
93
|
+
return { active: false, markerFound: false };
|
|
94
|
+
}
|
|
95
|
+
const markerFound = messageHasMarker(message);
|
|
96
|
+
if (markerFound) {
|
|
97
|
+
return { active: true, skill: presence.skill, markerFound: true };
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
active: true,
|
|
101
|
+
skill: presence.skill,
|
|
102
|
+
markerFound: false,
|
|
103
|
+
warning: PRESENCE_MARKER_WARNING[0]
|
|
104
|
+
};
|
|
105
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IdeAdapter } from '../ide-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Claude Code adapter —— peaks-cli 的"起源 IDE"。
|
|
4
|
+
*
|
|
5
|
+
* 该 adapter 从原 `src/services/skills/hooks-settings-service.ts` 提取,保持
|
|
6
|
+
* 字节级兼容:用户在 Claude Code 环境下跑 `peaks hooks install` 产出的
|
|
7
|
+
* `.claude/settings.json` 与 refactor 前逐字节相同。
|
|
8
|
+
*
|
|
9
|
+
* 字段解释(见 PRD AC-1):
|
|
10
|
+
* - dirName = '.claude' : Claude Code 项目根下的 settings 目录
|
|
11
|
+
* - settingsFileName = 'settings.json'
|
|
12
|
+
* - envVar = 'CLAUDE_PROJECT_DIR' : Claude Code 注入的 env 变量,用于 ${...} 占位
|
|
13
|
+
* - hookEvent = 'PreToolUse' : Claude Code hook 数组 key
|
|
14
|
+
* - toolMatcher = 'Bash' | 'Task' : PreToolUse 数组元素的 matcher 字段
|
|
15
|
+
*
|
|
16
|
+
* 不可消除的 per-IDE 字段(见 tech-doc.md §1.3)。
|
|
17
|
+
*/
|
|
18
|
+
export declare const CLAUDE_CODE_ADAPTER: IdeAdapter;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { claudeCodeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
4
|
+
/**
|
|
5
|
+
* Claude Code adapter —— peaks-cli 的"起源 IDE"。
|
|
6
|
+
*
|
|
7
|
+
* 该 adapter 从原 `src/services/skills/hooks-settings-service.ts` 提取,保持
|
|
8
|
+
* 字节级兼容:用户在 Claude Code 环境下跑 `peaks hooks install` 产出的
|
|
9
|
+
* `.claude/settings.json` 与 refactor 前逐字节相同。
|
|
10
|
+
*
|
|
11
|
+
* 字段解释(见 PRD AC-1):
|
|
12
|
+
* - dirName = '.claude' : Claude Code 项目根下的 settings 目录
|
|
13
|
+
* - settingsFileName = 'settings.json'
|
|
14
|
+
* - envVar = 'CLAUDE_PROJECT_DIR' : Claude Code 注入的 env 变量,用于 ${...} 占位
|
|
15
|
+
* - hookEvent = 'PreToolUse' : Claude Code hook 数组 key
|
|
16
|
+
* - toolMatcher = 'Bash' | 'Task' : PreToolUse 数组元素的 matcher 字段
|
|
17
|
+
*
|
|
18
|
+
* 不可消除的 per-IDE 字段(见 tech-doc.md §1.3)。
|
|
19
|
+
*/
|
|
20
|
+
export const CLAUDE_CODE_ADAPTER = {
|
|
21
|
+
id: 'claude-code',
|
|
22
|
+
displayName: 'Claude Code',
|
|
23
|
+
settings: {
|
|
24
|
+
dirName: '.claude',
|
|
25
|
+
settingsFileName: 'settings.json',
|
|
26
|
+
resolveSettingsFile: (scope, projectRoot) => {
|
|
27
|
+
const root = scope === 'global' ? homedir() : resolve(projectRoot ?? homedir());
|
|
28
|
+
return join(root, '.claude', 'settings.json');
|
|
29
|
+
},
|
|
30
|
+
supportsScope: () => true,
|
|
31
|
+
},
|
|
32
|
+
envVar: 'CLAUDE_PROJECT_DIR',
|
|
33
|
+
hookEvent: 'PreToolUse',
|
|
34
|
+
toolMatcher: 'Bash',
|
|
35
|
+
// Slice #009: Claude Code uses the `Task` tool for sub-agent dispatch.
|
|
36
|
+
// The CLI calls `claudeCodeSubAgentDispatcher.buildToolCall` to construct
|
|
37
|
+
// the exact args shape the `Task` tool expects.
|
|
38
|
+
subAgentDispatcher: claudeCodeSubAgentDispatcher,
|
|
39
|
+
// Slice #010 G9: Claude Code supports the PreToolUse hook event in a
|
|
40
|
+
// form that can wrap `peaks sub-agent-dispatch-guard` as a sub-command.
|
|
41
|
+
// Opt in to the G9 hook install.
|
|
42
|
+
promptSizeAware: true,
|
|
43
|
+
installHints: [
|
|
44
|
+
'Restart Claude Code (or reload the window) so the PreToolUse hooks take effect.'
|
|
45
|
+
],
|
|
46
|
+
capabilities: {
|
|
47
|
+
gateEnforce: true,
|
|
48
|
+
statusline: true,
|
|
49
|
+
},
|
|
50
|
+
// v2.13.0 AC-1 + AC-3 MVP: Claude Code is the first IDE to fill
|
|
51
|
+
// the `compact` profile. Future adapters (trae / codex / cursor /
|
|
52
|
+
// qoder / tongyi-lingma / hermes / openclaw) follow the same
|
|
53
|
+
// shape — peaks-cli reads the env-var and dispatches the
|
|
54
|
+
// command via `IdeAdapter.compact`, with zero hard-coded IDE
|
|
55
|
+
// names anywhere in the orchestrator. If your IDE exposes a
|
|
56
|
+
// context-percent env-var and a slash-style compact command,
|
|
57
|
+
// register `compact` here and the auto-compact protocol activates.
|
|
58
|
+
compact: {
|
|
59
|
+
envVarForContextPercent: 'CLAUDE_CONTEXT_USAGE_PERCENT',
|
|
60
|
+
compactCommand: 'claude --compact',
|
|
61
|
+
compactPathway: 'shell-exec',
|
|
62
|
+
postCompactDetectCommand: 'peaks context now --json'
|
|
63
|
+
},
|
|
64
|
+
// Slice #011: standards profile. Claude Code reads its constitution at
|
|
65
|
+
// CLAUDE.md + module-level rules under .claude/rules/**. The values mirror
|
|
66
|
+
// the hardcoded paths in `src/services/standards/project-standards-service.ts`
|
|
67
|
+
// (line 147 = '.claude', line 417/421 = 'CLAUDE.md' + '.claude/rules/...')
|
|
68
|
+
// and the postinstall target in `scripts/install-skills.mjs` (line 427 =
|
|
69
|
+
// '~/.claude/skills'). Filling the profile here makes the dispatch layer
|
|
70
|
+
// route to the SAME paths, so byte-stability on `peaks standards init` for
|
|
71
|
+
// Claude Code projects is preserved.
|
|
72
|
+
standardsProfile: {
|
|
73
|
+
rootFile: 'CLAUDE.md',
|
|
74
|
+
rulesDir: '.claude/rules',
|
|
75
|
+
rulesFileGlob: '**/*.md',
|
|
76
|
+
autoLoaded: true,
|
|
77
|
+
format: 'markdown',
|
|
78
|
+
migrationHint: 'Standards live at CLAUDE.md + .claude/rules/** for Claude Code.',
|
|
79
|
+
},
|
|
80
|
+
// Slice #011: skill install profile. The postinstall script symlinks
|
|
81
|
+
// bundled skills to `~/.claude/skills` and writes output-styles to
|
|
82
|
+
// `~/.claude/output-styles`, matching the existing hardcoded
|
|
83
|
+
// install-skills.mjs lines 427 + 488. The env-var back-compat name
|
|
84
|
+
// matches the legacy `PEAKS_CLAUDE_SKILLS_DIR` / `PEAKS_CLAUDE_OUTPUT_STYLES_DIR`.
|
|
85
|
+
skillInstall: {
|
|
86
|
+
skillsDir: join(homedir(), '.claude', 'skills'),
|
|
87
|
+
outputStylesDir: join(homedir(), '.claude', 'output-styles'),
|
|
88
|
+
installStrategy: 'symlink',
|
|
89
|
+
envVarOverride: 'PEAKS_CLAUDE_SKILLS_DIR',
|
|
90
|
+
},
|
|
91
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { IdeAdapter } from '../ide-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Codex (OpenAI CLI IDE) adapter —— peaks-cli 的第四个内置 IDE 适配器(slice #13, 2.4.0)。
|
|
4
|
+
*
|
|
5
|
+
* 不可消除的 per-IDE 字段(slice #1 锁定,same shape as trae-adapter.ts / cursor-adapter.ts):
|
|
6
|
+
* - settings.dirName = '.codex' : Codex 项目根下的配置目录
|
|
7
|
+
* - settings.settingsFileName = 'settings.json'
|
|
8
|
+
* - envVar = 'CODEX_PROJECT_DIR' : Codex 注入的项目根 env 变量(用于 ${...} 占位)
|
|
9
|
+
* - hookEvent = 'pre_tool_use' : Codex 的 lowercase snake_case hook event(UNVERIFIED — see R-3)
|
|
10
|
+
* - toolMatcher = 'shell' : Codex 的 shell command matcher
|
|
11
|
+
*
|
|
12
|
+
* Slice #13 status (2026-06-17, 2.4.0):
|
|
13
|
+
* - Adapter is the fourth built-in IDE in peaks-cli after Claude Code (#1),
|
|
14
|
+
* Trae (#2), and Cursor (#12). It further confirms the slice #1 + slice #2
|
|
15
|
+
* architecture scales linearly: registering a new IDE is a one-entry fill
|
|
16
|
+
* of the slim `IdeAdapter` shape with no dispatch-chokepoint changes.
|
|
17
|
+
* - 2 UNVERIFIED fields: `hookEvent` (Codex's `pre_tool_use` is the standard
|
|
18
|
+
* lowercase snake_case pattern but not confirmed against a live Codex
|
|
19
|
+
* install; see PRD R-3) and `envVar` (Codex's `CODEX_PROJECT_DIR` is the
|
|
20
|
+
* most likely candidate). Both are annotated; the framework's fallback
|
|
21
|
+
* path (legacy Claude Code install + stderr warning) handles UNVERIFIED
|
|
22
|
+
* adapters without codepath changes.
|
|
23
|
+
* - `promptSizeAware: false` — Codex's hook event semantics differ from
|
|
24
|
+
* Claude's. Opt out of the G9 prompt-size gate until real-install
|
|
25
|
+
* dogfood confirms hook layer compatibility (PRD R-3). The CLI 兜底
|
|
26
|
+
* layer in `peaks sub-agent dispatch` still enforces the threshold
|
|
27
|
+
* regardless — `promptSizeAware` only controls the hook layer.
|
|
28
|
+
* - `capabilities.statusline: false` — Codex CLI does not have a
|
|
29
|
+
* statusline UI surface. `peaks statusline install --ide codex` will
|
|
30
|
+
* exit non-zero with a clear stderr message (CLI does NOT crash;
|
|
31
|
+
* capability-check contract preserved per slice #008 P-5).
|
|
32
|
+
* - Sub-agent dispatcher reuses `claudeCodeSubAgentDispatcher` by design
|
|
33
|
+
* (slice #009 rationale — byte-level identical across adapters; per-IDE
|
|
34
|
+
* divergence can be filled in a follow-up slice if Codex's sub-agent
|
|
35
|
+
* shape is confirmed to differ).
|
|
36
|
+
* - `standardsProfile` and `skillInstall` are intentionally UNVERIFIED —
|
|
37
|
+
* real Codex install dogfood required. Until then, the bundled-skills
|
|
38
|
+
* postinstall writes to `~/.claude/skills/` (legacy Claude Code fallback
|
|
39
|
+
* per slice #011 framework), with a stderr warning. Users on Codex who
|
|
40
|
+
* want skills visible to Codex's auto-loader must move the symlinks
|
|
41
|
+
* to `~/.codex/skills/` manually (the warning text says so).
|
|
42
|
+
* - L1 install scope default = `project` (writes to `<projectRoot>/.codex/settings.json`).
|
|
43
|
+
* `--scope global` is the explicit global path; the L1 default is the
|
|
44
|
+
* safer opt-in per slice #012 PRD scope clarification.
|
|
45
|
+
*/
|
|
46
|
+
export declare const CODEX_ADAPTER: IdeAdapter;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { codexSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
4
|
+
/**
|
|
5
|
+
* Codex (OpenAI CLI IDE) adapter —— peaks-cli 的第四个内置 IDE 适配器(slice #13, 2.4.0)。
|
|
6
|
+
*
|
|
7
|
+
* 不可消除的 per-IDE 字段(slice #1 锁定,same shape as trae-adapter.ts / cursor-adapter.ts):
|
|
8
|
+
* - settings.dirName = '.codex' : Codex 项目根下的配置目录
|
|
9
|
+
* - settings.settingsFileName = 'settings.json'
|
|
10
|
+
* - envVar = 'CODEX_PROJECT_DIR' : Codex 注入的项目根 env 变量(用于 ${...} 占位)
|
|
11
|
+
* - hookEvent = 'pre_tool_use' : Codex 的 lowercase snake_case hook event(UNVERIFIED — see R-3)
|
|
12
|
+
* - toolMatcher = 'shell' : Codex 的 shell command matcher
|
|
13
|
+
*
|
|
14
|
+
* Slice #13 status (2026-06-17, 2.4.0):
|
|
15
|
+
* - Adapter is the fourth built-in IDE in peaks-cli after Claude Code (#1),
|
|
16
|
+
* Trae (#2), and Cursor (#12). It further confirms the slice #1 + slice #2
|
|
17
|
+
* architecture scales linearly: registering a new IDE is a one-entry fill
|
|
18
|
+
* of the slim `IdeAdapter` shape with no dispatch-chokepoint changes.
|
|
19
|
+
* - 2 UNVERIFIED fields: `hookEvent` (Codex's `pre_tool_use` is the standard
|
|
20
|
+
* lowercase snake_case pattern but not confirmed against a live Codex
|
|
21
|
+
* install; see PRD R-3) and `envVar` (Codex's `CODEX_PROJECT_DIR` is the
|
|
22
|
+
* most likely candidate). Both are annotated; the framework's fallback
|
|
23
|
+
* path (legacy Claude Code install + stderr warning) handles UNVERIFIED
|
|
24
|
+
* adapters without codepath changes.
|
|
25
|
+
* - `promptSizeAware: false` — Codex's hook event semantics differ from
|
|
26
|
+
* Claude's. Opt out of the G9 prompt-size gate until real-install
|
|
27
|
+
* dogfood confirms hook layer compatibility (PRD R-3). The CLI 兜底
|
|
28
|
+
* layer in `peaks sub-agent dispatch` still enforces the threshold
|
|
29
|
+
* regardless — `promptSizeAware` only controls the hook layer.
|
|
30
|
+
* - `capabilities.statusline: false` — Codex CLI does not have a
|
|
31
|
+
* statusline UI surface. `peaks statusline install --ide codex` will
|
|
32
|
+
* exit non-zero with a clear stderr message (CLI does NOT crash;
|
|
33
|
+
* capability-check contract preserved per slice #008 P-5).
|
|
34
|
+
* - Sub-agent dispatcher reuses `claudeCodeSubAgentDispatcher` by design
|
|
35
|
+
* (slice #009 rationale — byte-level identical across adapters; per-IDE
|
|
36
|
+
* divergence can be filled in a follow-up slice if Codex's sub-agent
|
|
37
|
+
* shape is confirmed to differ).
|
|
38
|
+
* - `standardsProfile` and `skillInstall` are intentionally UNVERIFIED —
|
|
39
|
+
* real Codex install dogfood required. Until then, the bundled-skills
|
|
40
|
+
* postinstall writes to `~/.claude/skills/` (legacy Claude Code fallback
|
|
41
|
+
* per slice #011 framework), with a stderr warning. Users on Codex who
|
|
42
|
+
* want skills visible to Codex's auto-loader must move the symlinks
|
|
43
|
+
* to `~/.codex/skills/` manually (the warning text says so).
|
|
44
|
+
* - L1 install scope default = `project` (writes to `<projectRoot>/.codex/settings.json`).
|
|
45
|
+
* `--scope global` is the explicit global path; the L1 default is the
|
|
46
|
+
* safer opt-in per slice #012 PRD scope clarification.
|
|
47
|
+
*/
|
|
48
|
+
export const CODEX_ADAPTER = {
|
|
49
|
+
id: 'codex',
|
|
50
|
+
displayName: 'Codex',
|
|
51
|
+
settings: {
|
|
52
|
+
dirName: '.codex',
|
|
53
|
+
settingsFileName: 'settings.json',
|
|
54
|
+
resolveSettingsFile: (scope, projectRoot) => {
|
|
55
|
+
const root = scope === 'global' ? homedir() : resolve(projectRoot ?? homedir());
|
|
56
|
+
return join(root, '.codex', 'settings.json');
|
|
57
|
+
},
|
|
58
|
+
supportsScope: (scope) => scope === 'project' || scope === 'global'
|
|
59
|
+
},
|
|
60
|
+
envVar: 'CODEX_PROJECT_DIR', // UNVERIFIED — see slice #13 PRD R-3; fallback path still works
|
|
61
|
+
hookEvent: 'pre_tool_use', // UNVERIFIED — Codex lowercase snake_case pattern; re-verify against Codex docs
|
|
62
|
+
toolMatcher: 'shell',
|
|
63
|
+
// Slice #13: Codex sub-agent tool name TBD on real dogfood. Reusing the
|
|
64
|
+
// Claude Code dispatcher as a uniform placeholder (byte-level identical by
|
|
65
|
+
// design so the dispatcher's return shape is uniform across adapters —
|
|
66
|
+
// see slice #009 rationale). When real Codex dogfood lands, replace the
|
|
67
|
+
// body of `claudeCodeSubAgentDispatcher.buildToolCall` (or add a
|
|
68
|
+
// `codexSubAgentDispatcher`) without changing the adapter contract.
|
|
69
|
+
// Slice 1.3: promoted from `claudeCodeSubAgentDispatcher` placeholder
|
|
70
|
+
// to `codexSubAgentDispatcher` (real file-polling awaitBatch, 45s
|
|
71
|
+
// default). The `buildToolCall` shape is still byte-identical to
|
|
72
|
+
// claude-code; only the awaitBatch wiring diverges.
|
|
73
|
+
subAgentDispatcher: codexSubAgentDispatcher,
|
|
74
|
+
// Slice #13: Codex's `pre_tool_use` event semantics differ from Claude's
|
|
75
|
+
// `PreToolUse`. Opt out of the G9 prompt-size gate until real-install
|
|
76
|
+
// dogfood confirms hook layer compatibility. The CLI 兜底 layer in
|
|
77
|
+
// `peaks sub-agent dispatch` still enforces the threshold regardless.
|
|
78
|
+
promptSizeAware: false,
|
|
79
|
+
installHints: [
|
|
80
|
+
'Restart Codex so the pre_tool_use hooks take effect.'
|
|
81
|
+
],
|
|
82
|
+
capabilities: {
|
|
83
|
+
gateEnforce: true,
|
|
84
|
+
// Codex CLI does not have a statusline UI surface. Opt out of the
|
|
85
|
+
// statusline capability; `peaks statusline install --ide codex` will
|
|
86
|
+
// return a clear "not supported" stderr message (slice #008 P-5
|
|
87
|
+
// capability-check contract preserved).
|
|
88
|
+
statusline: false,
|
|
89
|
+
}
|
|
90
|
+
// Standards: UNVERIFIED — see slice #013+ (Codex real-install dogfood for
|
|
91
|
+
// the `standardsProfile` and `skillInstall` fields). Until then, `peaks
|
|
92
|
+
// standards init` on a Codex-detected project falls back to the Claude
|
|
93
|
+
// Code path (CLAUDE.md + .claude/rules/**) with a stderr warning, and the
|
|
94
|
+
// postinstall script writes skills + output-styles to the legacy
|
|
95
|
+
// `~/.claude/{skills,output-styles}` paths with a stderr warning. Users
|
|
96
|
+
// who want Codex-specific paths must move the files manually.
|
|
97
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { IdeAdapter } from '../ide-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Cursor IDE adapter —— peaks-cli 的第三个内置 IDE 适配器(slice #12, 2.4.0)。
|
|
4
|
+
*
|
|
5
|
+
* 不可消除的 per-IDE 字段(slice #1 锁定,same shape as trae-adapter.ts):
|
|
6
|
+
* - settings.dirName = '.cursor' : Cursor 项目根下的配置目录
|
|
7
|
+
* - settings.settingsFileName = 'settings.json'
|
|
8
|
+
* - envVar = 'CURSOR_PROJECT_DIR' : Cursor 注入的项目根 env 变量(用于 ${...} 占位)
|
|
9
|
+
* - hookEvent = 'beforeShellExecution': Cursor 的 shell hook event key(UNVERIFIED — see R-1)
|
|
10
|
+
* - toolMatcher = 'Bash' : Cursor 的 shell execution tool matcher
|
|
11
|
+
*
|
|
12
|
+
* Slice #12 status (2026-06-17, 2.4.0):
|
|
13
|
+
* - Adapter is the third built-in IDE in peaks-cli after Claude Code (#1) and Trae (#2).
|
|
14
|
+
* - Confirms the slice #1 + slice #2 architecture scales linearly: registering
|
|
15
|
+
* a new IDE is genuinely a one-entry fill of the slim `IdeAdapter` shape.
|
|
16
|
+
* - 2 UNVERIFIED fields: `envVar` (Cursor's `CURSOR_PROJECT_DIR` is the
|
|
17
|
+
* most likely candidate but not confirmed against a live Cursor install;
|
|
18
|
+
* see PRD R-2) and `hookEvent` (Cursor docs may use a different event
|
|
19
|
+
* name; see PRD R-1). Both are annotated; the framework's fallback path
|
|
20
|
+
* (legacy Claude Code install + stderr warning) handles UNVERIFIED
|
|
21
|
+
* adapters without codepath changes.
|
|
22
|
+
* - Sub-agent dispatcher reuses `claudeCodeSubAgentDispatcher` by design
|
|
23
|
+
* (slice #009 rationale — byte-level identical across adapters; per-IDE
|
|
24
|
+
* divergence can be filled in a follow-up slice if Cursor's sub-agent
|
|
25
|
+
* shape is confirmed to differ).
|
|
26
|
+
* - `standardsProfile` and `skillInstall` are intentionally UNVERIFIED —
|
|
27
|
+
* real Cursor install dogfood required. Until then, the bundled-skills
|
|
28
|
+
* postinstall writes to `~/.claude/skills/` (legacy Claude Code fallback
|
|
29
|
+
* per slice #011 framework), with a stderr warning. Users on Cursor who
|
|
30
|
+
* want skills visible to Cursor's auto-loader must move the symlinks
|
|
31
|
+
* to `~/.cursor/skills/` manually (the warning text says so).
|
|
32
|
+
* - L1 install scope default = `project` (writes to `<projectRoot>/.cursor/settings.json`).
|
|
33
|
+
* `--scope global` is the explicit global path; the L1 default is the
|
|
34
|
+
* safer opt-in per slice #012 PRD scope clarification.
|
|
35
|
+
*/
|
|
36
|
+
export declare const CURSOR_ADAPTER: IdeAdapter;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { cursorSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
4
|
+
/**
|
|
5
|
+
* Cursor IDE adapter —— peaks-cli 的第三个内置 IDE 适配器(slice #12, 2.4.0)。
|
|
6
|
+
*
|
|
7
|
+
* 不可消除的 per-IDE 字段(slice #1 锁定,same shape as trae-adapter.ts):
|
|
8
|
+
* - settings.dirName = '.cursor' : Cursor 项目根下的配置目录
|
|
9
|
+
* - settings.settingsFileName = 'settings.json'
|
|
10
|
+
* - envVar = 'CURSOR_PROJECT_DIR' : Cursor 注入的项目根 env 变量(用于 ${...} 占位)
|
|
11
|
+
* - hookEvent = 'beforeShellExecution': Cursor 的 shell hook event key(UNVERIFIED — see R-1)
|
|
12
|
+
* - toolMatcher = 'Bash' : Cursor 的 shell execution tool matcher
|
|
13
|
+
*
|
|
14
|
+
* Slice #12 status (2026-06-17, 2.4.0):
|
|
15
|
+
* - Adapter is the third built-in IDE in peaks-cli after Claude Code (#1) and Trae (#2).
|
|
16
|
+
* - Confirms the slice #1 + slice #2 architecture scales linearly: registering
|
|
17
|
+
* a new IDE is genuinely a one-entry fill of the slim `IdeAdapter` shape.
|
|
18
|
+
* - 2 UNVERIFIED fields: `envVar` (Cursor's `CURSOR_PROJECT_DIR` is the
|
|
19
|
+
* most likely candidate but not confirmed against a live Cursor install;
|
|
20
|
+
* see PRD R-2) and `hookEvent` (Cursor docs may use a different event
|
|
21
|
+
* name; see PRD R-1). Both are annotated; the framework's fallback path
|
|
22
|
+
* (legacy Claude Code install + stderr warning) handles UNVERIFIED
|
|
23
|
+
* adapters without codepath changes.
|
|
24
|
+
* - Sub-agent dispatcher reuses `claudeCodeSubAgentDispatcher` by design
|
|
25
|
+
* (slice #009 rationale — byte-level identical across adapters; per-IDE
|
|
26
|
+
* divergence can be filled in a follow-up slice if Cursor's sub-agent
|
|
27
|
+
* shape is confirmed to differ).
|
|
28
|
+
* - `standardsProfile` and `skillInstall` are intentionally UNVERIFIED —
|
|
29
|
+
* real Cursor install dogfood required. Until then, the bundled-skills
|
|
30
|
+
* postinstall writes to `~/.claude/skills/` (legacy Claude Code fallback
|
|
31
|
+
* per slice #011 framework), with a stderr warning. Users on Cursor who
|
|
32
|
+
* want skills visible to Cursor's auto-loader must move the symlinks
|
|
33
|
+
* to `~/.cursor/skills/` manually (the warning text says so).
|
|
34
|
+
* - L1 install scope default = `project` (writes to `<projectRoot>/.cursor/settings.json`).
|
|
35
|
+
* `--scope global` is the explicit global path; the L1 default is the
|
|
36
|
+
* safer opt-in per slice #012 PRD scope clarification.
|
|
37
|
+
*/
|
|
38
|
+
export const CURSOR_ADAPTER = {
|
|
39
|
+
id: 'cursor',
|
|
40
|
+
displayName: 'Cursor',
|
|
41
|
+
settings: {
|
|
42
|
+
dirName: '.cursor',
|
|
43
|
+
settingsFileName: 'settings.json',
|
|
44
|
+
resolveSettingsFile: (scope, projectRoot) => {
|
|
45
|
+
const root = scope === 'global' ? homedir() : resolve(projectRoot ?? homedir());
|
|
46
|
+
return join(root, '.cursor', 'settings.json');
|
|
47
|
+
},
|
|
48
|
+
supportsScope: (scope) => scope === 'project' || scope === 'global'
|
|
49
|
+
},
|
|
50
|
+
envVar: 'CURSOR_PROJECT_DIR', // UNVERIFIED — see slice #12 PRD R-2; fallback path still works
|
|
51
|
+
hookEvent: 'beforeShellExecution', // UNVERIFIED — see slice #12 PRD R-1; re-verify against Cursor's published hook schema
|
|
52
|
+
toolMatcher: 'Bash',
|
|
53
|
+
// Slice #12: Cursor sub-agent tool name TBD on real dogfood. Reusing the
|
|
54
|
+
// Claude Code dispatcher as a uniform placeholder (byte-level identical by
|
|
55
|
+
// design so the dispatcher's return shape is uniform across adapters —
|
|
56
|
+
// see slice #009 rationale). When real Cursor dogfood lands, replace the
|
|
57
|
+
// body of `claudeCodeSubAgentDispatcher.buildToolCall` (or add a
|
|
58
|
+
// `cursorSubAgentDispatcher`) without changing the adapter contract.
|
|
59
|
+
// Slice 1.3: promoted from `claudeCodeSubAgentDispatcher` placeholder
|
|
60
|
+
// to `cursorSubAgentDispatcher` (real file-polling awaitBatch, 30s
|
|
61
|
+
// default). The `buildToolCall` shape is still byte-identical to
|
|
62
|
+
// claude-code; only the awaitBatch wiring diverges.
|
|
63
|
+
subAgentDispatcher: cursorSubAgentDispatcher,
|
|
64
|
+
// Slice #12: Cursor supports `beforeShellExecution` which can wrap
|
|
65
|
+
// `peaks sub-agent-dispatch-guard`. Opt in (matches the byte-stable
|
|
66
|
+
// slice #008 install entry shape — same pattern as Trae adapter).
|
|
67
|
+
promptSizeAware: true,
|
|
68
|
+
installHints: [
|
|
69
|
+
'Restart Cursor so the beforeShellExecution hooks take effect.'
|
|
70
|
+
],
|
|
71
|
+
capabilities: {
|
|
72
|
+
gateEnforce: true,
|
|
73
|
+
// Cursor has a statusline UI (Cmd+Shift+P → "Cursor: Open Status Bar")
|
|
74
|
+
// that can host peaks statusline output, so opt in to the capability.
|
|
75
|
+
statusline: true,
|
|
76
|
+
}
|
|
77
|
+
// Standards: UNVERIFIED — see slice #012+ (Cursor real-install dogfood for
|
|
78
|
+
// the `standardsProfile` and `skillInstall` fields). Until then, `peaks
|
|
79
|
+
// standards init` on a Cursor-detected project falls back to the Claude
|
|
80
|
+
// Code path (CLAUDE.md + .claude/rules/**) with a stderr warning, and the
|
|
81
|
+
// postinstall script writes skills + output-styles to the legacy
|
|
82
|
+
// `~/.claude/{skills,output-styles}` paths with a stderr warning. Users
|
|
83
|
+
// who want Cursor-specific paths must move the files manually.
|
|
84
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hermes IDE adapter (Slice #0.7) — peaks-cli 的第七个内置 IDE 适配器。
|
|
3
|
+
*
|
|
4
|
+
* 不可消除的 per-IDE 字段(slice #0.7 填表):
|
|
5
|
+
* - settings.dirName = '.hermes' : Hermes 项目根下的配置目录
|
|
6
|
+
* - settings.settingsFileName = 'settings.json'
|
|
7
|
+
* - envVar = 'HERMES_PROJECT_DIR' : Hermes 注入的 env 变量(用于 ${...} 占位)
|
|
8
|
+
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED — 待真实 Hermes 安装验证)
|
|
9
|
+
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
10
|
+
*
|
|
11
|
+
* Slice #0.7 状态:
|
|
12
|
+
* - Slim adapter shape 跟 trae-adapter.ts / claude-code-adapter.ts 同型,
|
|
13
|
+
* 验证 slice #1 抽出的形状在第 7 个 IDE 上仍然可以"填表"接入。
|
|
14
|
+
* - 4 UNVERIFIED fields (hookEvent, toolMatcher, envVar, dirName) 在
|
|
15
|
+
* Hermes 真实安装可用前均为占位值;待真实 Hermes fixture 验证后
|
|
16
|
+
* 跟 trae-adapter 一样会被 VERIFIED 标记。
|
|
17
|
+
* - 见 PRD §0.7 + memory trae-adapter-values-verified-against-1x.md
|
|
18
|
+
* 了解 UNVERIFIED → VERIFIED 的迁移路径。
|
|
19
|
+
*/
|
|
20
|
+
import type { IdeAdapter } from '../ide-types.js';
|
|
21
|
+
export declare const HERMES_ADAPTER: IdeAdapter;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hermes IDE adapter (Slice #0.7) — peaks-cli 的第七个内置 IDE 适配器。
|
|
3
|
+
*
|
|
4
|
+
* 不可消除的 per-IDE 字段(slice #0.7 填表):
|
|
5
|
+
* - settings.dirName = '.hermes' : Hermes 项目根下的配置目录
|
|
6
|
+
* - settings.settingsFileName = 'settings.json'
|
|
7
|
+
* - envVar = 'HERMES_PROJECT_DIR' : Hermes 注入的 env 变量(用于 ${...} 占位)
|
|
8
|
+
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED — 待真实 Hermes 安装验证)
|
|
9
|
+
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
10
|
+
*
|
|
11
|
+
* Slice #0.7 状态:
|
|
12
|
+
* - Slim adapter shape 跟 trae-adapter.ts / claude-code-adapter.ts 同型,
|
|
13
|
+
* 验证 slice #1 抽出的形状在第 7 个 IDE 上仍然可以"填表"接入。
|
|
14
|
+
* - 4 UNVERIFIED fields (hookEvent, toolMatcher, envVar, dirName) 在
|
|
15
|
+
* Hermes 真实安装可用前均为占位值;待真实 Hermes fixture 验证后
|
|
16
|
+
* 跟 trae-adapter 一样会被 VERIFIED 标记。
|
|
17
|
+
* - 见 PRD §0.7 + memory trae-adapter-values-verified-against-1x.md
|
|
18
|
+
* 了解 UNVERIFIED → VERIFIED 的迁移路径。
|
|
19
|
+
*/
|
|
20
|
+
import { homedir } from 'node:os';
|
|
21
|
+
import { join, resolve } from 'node:path';
|
|
22
|
+
import { traeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
23
|
+
export const HERMES_ADAPTER = {
|
|
24
|
+
id: 'hermes',
|
|
25
|
+
displayName: 'Hermes',
|
|
26
|
+
settings: {
|
|
27
|
+
dirName: '.hermes', // UNVERIFIED — placeholder; pending real Hermes 1.x fixture
|
|
28
|
+
settingsFileName: 'settings.json',
|
|
29
|
+
resolveSettingsFile: (scope, projectRoot) => {
|
|
30
|
+
const root = scope === 'global' ? homedir() : resolve(projectRoot ?? homedir());
|
|
31
|
+
return join(root, '.hermes', 'settings.json');
|
|
32
|
+
},
|
|
33
|
+
supportsScope: (scope) => scope === 'project' || scope === 'global'
|
|
34
|
+
},
|
|
35
|
+
envVar: 'HERMES_PROJECT_DIR', // UNVERIFIED
|
|
36
|
+
hookEvent: 'PreToolUse', // UNVERIFIED
|
|
37
|
+
toolMatcher: 'Bash', // UNVERIFIED
|
|
38
|
+
// Slice #0.7: Hermes sub-agent dispatcher UNVERIFIED — pending real Hermes
|
|
39
|
+
// dogfood. Reusing the Trae dispatcher as a uniform placeholder (byte-stable
|
|
40
|
+
// shape per slice #008; same rationale as Trae adapter).
|
|
41
|
+
subAgentDispatcher: traeSubAgentDispatcher,
|
|
42
|
+
// Slice #010 G9: Hermes PreToolUse is the assumed hook path. UNVERIFIED.
|
|
43
|
+
promptSizeAware: true,
|
|
44
|
+
installHints: [
|
|
45
|
+
'Restart Hermes (or reload the workspace) so the PreToolUse hooks take effect.'
|
|
46
|
+
],
|
|
47
|
+
capabilities: {
|
|
48
|
+
gateEnforce: true,
|
|
49
|
+
statusline: true
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw IDE adapter (Slice #0.7) — peaks-cli 的第八个内置 IDE 适配器。
|
|
3
|
+
*
|
|
4
|
+
* 不可消除的 per-IDE 字段(slice #0.7 填表):
|
|
5
|
+
* - settings.dirName = '.openclaw' : OpenClaw 项目根下的配置目录
|
|
6
|
+
* - settings.settingsFileName = 'settings.json'
|
|
7
|
+
* - envVar = 'OPENCLAW_PROJECT_DIR' : OpenClaw 注入的 env 变量
|
|
8
|
+
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED)
|
|
9
|
+
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
10
|
+
*
|
|
11
|
+
* Slice #0.7 状态: 同 hermes-adapter.ts 的 UNVERIFIED 占位说明。
|
|
12
|
+
*/
|
|
13
|
+
import type { IdeAdapter } from '../ide-types.js';
|
|
14
|
+
export declare const OPENCLAW_ADAPTER: IdeAdapter;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw IDE adapter (Slice #0.7) — peaks-cli 的第八个内置 IDE 适配器。
|
|
3
|
+
*
|
|
4
|
+
* 不可消除的 per-IDE 字段(slice #0.7 填表):
|
|
5
|
+
* - settings.dirName = '.openclaw' : OpenClaw 项目根下的配置目录
|
|
6
|
+
* - settings.settingsFileName = 'settings.json'
|
|
7
|
+
* - envVar = 'OPENCLAW_PROJECT_DIR' : OpenClaw 注入的 env 变量
|
|
8
|
+
* - hookEvent = 'PreToolUse' : 现代 IDE 通用约定(UNVERIFIED)
|
|
9
|
+
* - toolMatcher = 'Bash' : 同上(UNVERIFIED)
|
|
10
|
+
*
|
|
11
|
+
* Slice #0.7 状态: 同 hermes-adapter.ts 的 UNVERIFIED 占位说明。
|
|
12
|
+
*/
|
|
13
|
+
import { homedir } from 'node:os';
|
|
14
|
+
import { join, resolve } from 'node:path';
|
|
15
|
+
import { traeSubAgentDispatcher } from '../../dispatch/sub-agent-dispatcher.js';
|
|
16
|
+
export const OPENCLAW_ADAPTER = {
|
|
17
|
+
id: 'openclaw',
|
|
18
|
+
displayName: 'OpenClaw',
|
|
19
|
+
settings: {
|
|
20
|
+
dirName: '.openclaw', // UNVERIFIED
|
|
21
|
+
settingsFileName: 'settings.json',
|
|
22
|
+
resolveSettingsFile: (scope, projectRoot) => {
|
|
23
|
+
const root = scope === 'global' ? homedir() : resolve(projectRoot ?? homedir());
|
|
24
|
+
return join(root, '.openclaw', 'settings.json');
|
|
25
|
+
},
|
|
26
|
+
supportsScope: (scope) => scope === 'project' || scope === 'global'
|
|
27
|
+
},
|
|
28
|
+
envVar: 'OPENCLAW_PROJECT_DIR', // UNVERIFIED
|
|
29
|
+
hookEvent: 'PreToolUse', // UNVERIFIED
|
|
30
|
+
toolMatcher: 'Bash', // UNVERIFIED
|
|
31
|
+
// Slice #0.7: OpenClaw sub-agent dispatcher UNVERIFIED. Reusing Trae
|
|
32
|
+
// dispatcher as uniform placeholder.
|
|
33
|
+
subAgentDispatcher: traeSubAgentDispatcher,
|
|
34
|
+
promptSizeAware: true,
|
|
35
|
+
installHints: [
|
|
36
|
+
'Restart OpenClaw (or reload the workspace) so the PreToolUse hooks take effect.'
|
|
37
|
+
],
|
|
38
|
+
capabilities: {
|
|
39
|
+
gateEnforce: true,
|
|
40
|
+
statusline: true
|
|
41
|
+
}
|
|
42
|
+
};
|