{"_id":"@br-ai/ai-spec-auto","_rev":"4-f62947c3505a472202a851c886c8e5d2","name":"@br-ai/ai-spec-auto","dist-tags":{"latest":"0.2.3"},"versions":{"0.2.0":{"name":"@br-ai/ai-spec-auto","version":"0.2.0","keywords":["ai","coding","spec","cursor","claude"],"license":"UNLICENSED","_id":"@br-ai/ai-spec-auto@0.2.0","maintainers":[{"name":"zhenwei.li","email":"1828155655@qq.com"}],"bin":{"ai-spec-auto":"bin/cli.js"},"dist":{"shasum":"abc93db6835e5b6f74ed5ba030f85f0fa915b26a","tarball":"https://registry.npmjs.org/@br-ai/ai-spec-auto/-/ai-spec-auto-0.2.0.tgz","fileCount":630,"integrity":"sha512-wg6vSMHGAjOHwl2Y3kTwNOh3le4C79XvNNJ/CChrV1mDb3ZqPycKADuItWffqU1JurVUYjnQSJISANH9HlV3YA==","signatures":[{"sig":"MEUCIQC1i8i4cW3FXRCvQCbx9DsqOtsy464Eq7lCA9LkHB1tMgIgLW3+yf54IE4zRJeirF3Y3/gOooFuQIZ38YBlOd+HEGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2884583},"gitHead":"1f72a12a05428c91e9cb316ee5daf402fe23c3d1","scripts":{"prepack":"npm run verify:install-ps1-bom","test:p1":"node ./tests/ide/adapter-protocol.test.js && node ./tests/ide/cursor-adapter.test.js && node ./tests/ide/claude-adapter.test.js && node ./tests/ide/ide-sync.test.js && node ./tests/scanner/tech-scanner.test.js && node ./tests/asset/asset-package.test.js && node ./tests/config/config-layer.test.js && node ./tests/p1/multi-project-validation.test.js && node ./tests/p1/p1-integration.test.js","test:p2":"node ./tests/agent/agent-profile.test.js && node ./tests/agent/tool-permission.test.js && node ./tests/agent/file-permission.test.js && node ./tests/agent/agent-context.test.js && node ./tests/agent/collaboration-protocol.test.js && node ./tests/agent/review-repair-loop.test.js && node ./tests/agent/conflict-handler.test.js && node ./tests/p2/p2-integration.test.js","test:p3":"node ./tests/governance/rbac.test.js && node ./tests/governance/asset-review.test.js && node ./tests/governance/audit-log.test.js && node ./tests/governance/gray-release.test.js && node ./tests/governance/rollback.test.js && node ./tests/governance/security-policy.test.js && node ./tests/p3/p3-integration.test.js","test:p4":"node ./tests/visual/event-gateway.test.js && node ./tests/visual/timeline.test.js && node ./tests/visual/hook-dashboard.test.js && node ./tests/visual/agent-visual.test.js && node ./tests/visual/metrics.test.js && node ./tests/visual/risk-board.test.js && node ./tests/p4/p4-integration.test.js","test:p5":"node ./tests/asset/asset-registry.test.js && node ./tests/asset/asset-version.test.js && node ./tests/asset/asset-dependency.test.js && node ./tests/asset/asset-install.test.js && node ./tests/asset/asset-feedback.test.js && node ./tests/asset/asset-manager.test.js && node ./tests/asset/asset-installer.test.js && node ./tests/asset/asset-lifecycle.test.js && node ./tests/asset/asset-fork.test.js && node ./tests/asset/asset-quality.test.js && node ./tests/p5/p5-integration.test.js && node ./tests/p5/p5-real-install-rollback.test.js","verify:p1":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm pack --dry-run","verify:p2":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm pack --dry-run","verify:p3":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm pack --dry-run","verify:p4":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm pack --dry-run","verify:p5":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm run test:p5 && npm pack --dry-run","demo:runtime":"node ./bin/cli.js demo-runtime-smoke","test:runtime":"node ./tests/runtime/command-template-renderer.test.js && node ./tests/runtime/runtime-bootstrap.test.js && node ./tests/runtime/runtime-launcher.test.js && node ./tests/runtime/runtime-state-checkpoints.test.js && node ./tests/runtime/archive-change.test.js && node ./tests/runtime/task-orchestrator-runner.test.js && node ./tests/runtime/expert-executor.test.js && node ./tests/runtime/auto-fix-runtime.test.js && node ./tests/runtime/protocol-workflow-registry.test.js && node ./tests/runtime/protocol-update-fast-path.test.js && node ./tests/runtime/protocol-interaction-enhancements.test.js && node ./tests/runtime/spec-start-replay.test.js && node ./tests/runtime/demo-runtime-smoke.test.js && node ./tests/runtime/expert-delivery-template-content.test.js && node ./tests/runtime/sync.test.js && node ./tests/runtime/visual-command.test.js && node ./tests/runtime/hub-install.test.js && node ./tests/runtime/hub-diff.test.js && node ./tests/runtime/hub-upgrade-rollback.test.js && node ./tests/runtime/hub-runtime-report.test.js","test:registry":"node ./tests/registry/validate-registry.test.js","hub:sync-assets":"node ./scripts/hub-sync-assets.js","verify:install-ps1-bom":"node ./scripts/verify-install-ps1-bom.js"},"_npmUser":{"name":"zhenwei.li","email":"1828155655@qq.com"},"_npmVersion":"10.9.3","description":"AI Coding 团队规范驱动开发 CLI — 一键安装规范、技能与工具配置","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"optionalDependencies":{"node-machine-id":"^1.1.12"},"_npmOperationalInternal":{"tmp":"tmp/ai-spec-auto_0.2.0_1780468652082_0.467062850347693","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@br-ai/ai-spec-auto","version":"0.2.1","keywords":["ai","coding","spec","cursor","claude"],"license":"UNLICENSED","_id":"@br-ai/ai-spec-auto@0.2.1","maintainers":[{"name":"zhenwei.li","email":"1828155655@qq.com"}],"bin":{"ai-spec-auto":"bin/cli.js"},"dist":{"shasum":"eeddc3de4f4e91784cae9182152015ac353b9608","tarball":"https://registry.npmjs.org/@br-ai/ai-spec-auto/-/ai-spec-auto-0.2.1.tgz","fileCount":630,"integrity":"sha512-a/BbB67FxRC9tSkgXt7Pz+Ey0dPLVlifQcO36eB9lbNAhrHG8hCWxqJ5VBlM/2IlJK5raAdmPkMt0OF+sPgZZQ==","signatures":[{"sig":"MEUCIQDhpQeJd4xSDYDaAs4FwLjeVeXIpq4MKXdA1K1NDy03egIgaX/p+vwNJwiuNGzlg9uUtGw+QiOIsJLhwvZCU83hqtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2889672},"gitHead":"1f72a12a05428c91e9cb316ee5daf402fe23c3d1","scripts":{"prepack":"npm run verify:install-ps1-bom","test:p1":"node ./tests/ide/adapter-protocol.test.js && node ./tests/ide/cursor-adapter.test.js && node ./tests/ide/claude-adapter.test.js && node ./tests/ide/ide-sync.test.js && node ./tests/scanner/tech-scanner.test.js && node ./tests/asset/asset-package.test.js && node ./tests/config/config-layer.test.js && node ./tests/p1/multi-project-validation.test.js && node ./tests/p1/p1-integration.test.js","test:p2":"node ./tests/agent/agent-profile.test.js && node ./tests/agent/tool-permission.test.js && node ./tests/agent/file-permission.test.js && node ./tests/agent/agent-context.test.js && node ./tests/agent/collaboration-protocol.test.js && node ./tests/agent/review-repair-loop.test.js && node ./tests/agent/conflict-handler.test.js && node ./tests/p2/p2-integration.test.js","test:p3":"node ./tests/governance/rbac.test.js && node ./tests/governance/asset-review.test.js && node ./tests/governance/audit-log.test.js && node ./tests/governance/gray-release.test.js && node ./tests/governance/rollback.test.js && node ./tests/governance/security-policy.test.js && node ./tests/p3/p3-integration.test.js","test:p4":"node ./tests/visual/event-gateway.test.js && node ./tests/visual/timeline.test.js && node ./tests/visual/hook-dashboard.test.js && node ./tests/visual/agent-visual.test.js && node ./tests/visual/metrics.test.js && node ./tests/visual/risk-board.test.js && node ./tests/p4/p4-integration.test.js","test:p5":"node ./tests/asset/asset-registry.test.js && node ./tests/asset/asset-version.test.js && node ./tests/asset/asset-dependency.test.js && node ./tests/asset/asset-install.test.js && node ./tests/asset/asset-feedback.test.js && node ./tests/asset/asset-manager.test.js && node ./tests/asset/asset-installer.test.js && node ./tests/asset/asset-lifecycle.test.js && node ./tests/asset/asset-fork.test.js && node ./tests/asset/asset-quality.test.js && node ./tests/p5/p5-integration.test.js && node ./tests/p5/p5-real-install-rollback.test.js","verify:p1":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm pack --dry-run","verify:p2":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm pack --dry-run","verify:p3":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm pack --dry-run","verify:p4":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm pack --dry-run","verify:p5":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm run test:p5 && npm pack --dry-run","demo:runtime":"node ./bin/cli.js demo-runtime-smoke","test:runtime":"node ./tests/runtime/command-template-renderer.test.js && node ./tests/runtime/runtime-bootstrap.test.js && node ./tests/runtime/runtime-launcher.test.js && node ./tests/runtime/runtime-state-checkpoints.test.js && node ./tests/runtime/archive-change.test.js && node ./tests/runtime/task-orchestrator-runner.test.js && node ./tests/runtime/expert-executor.test.js && node ./tests/runtime/auto-fix-runtime.test.js && node ./tests/runtime/protocol-workflow-registry.test.js && node ./tests/runtime/protocol-update-fast-path.test.js && node ./tests/runtime/protocol-interaction-enhancements.test.js && node ./tests/runtime/spec-start-replay.test.js && node ./tests/runtime/demo-runtime-smoke.test.js && node ./tests/runtime/expert-delivery-template-content.test.js && node ./tests/runtime/sync.test.js && node ./tests/runtime/visual-command.test.js && node ./tests/runtime/hub-install.test.js && node ./tests/runtime/hub-diff.test.js && node ./tests/runtime/hub-upgrade-rollback.test.js && node ./tests/runtime/hub-runtime-report.test.js","test:registry":"node ./tests/registry/validate-registry.test.js","hub:sync-assets":"node ./scripts/hub-sync-assets.js","verify:install-ps1-bom":"node ./scripts/verify-install-ps1-bom.js"},"_npmUser":{"name":"zhenwei.li","email":"1828155655@qq.com"},"_npmVersion":"10.9.3","description":"AI Coding 团队规范驱动开发 CLI — 一键安装规范、技能与工具配置","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"optionalDependencies":{"node-machine-id":"^1.1.12"},"_npmOperationalInternal":{"tmp":"tmp/ai-spec-auto_0.2.1_1780475116579_0.2400260900957354","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@br-ai/ai-spec-auto","version":"0.2.2","keywords":["ai","coding","spec","cursor","claude"],"license":"UNLICENSED","_id":"@br-ai/ai-spec-auto@0.2.2","maintainers":[{"name":"zhenwei.li","email":"1828155655@qq.com"}],"bin":{"ai-spec-auto":"bin/cli.js"},"dist":{"shasum":"7d16273d93755d0a87b62992f241749c3c128f4b","tarball":"https://registry.npmjs.org/@br-ai/ai-spec-auto/-/ai-spec-auto-0.2.2.tgz","fileCount":630,"integrity":"sha512-LFFEbtWYwPqcM0kUsnNOTjX+Y8ymjOfN4gleY1dKU2k4E+OpWLkzawhcdFlzoTexlJfY5Isql517cXlWMsQVTw==","signatures":[{"sig":"MEYCIQCcXBkbMEPkXIC52ia8KELme8EnG4O5lYxoUcvRXLUUgAIhAOW/P39+FXu/Qz/kWTVlM6hJHzXRCBB1hyIqV6S6pp97","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2889354},"gitHead":"e2849ab1a04faf8e999ecada3c0b2fdb7ab289fd","scripts":{"prepack":"npm run verify:install-ps1-bom","test:p1":"node ./tests/ide/adapter-protocol.test.js && node ./tests/ide/cursor-adapter.test.js && node ./tests/ide/claude-adapter.test.js && node ./tests/ide/ide-sync.test.js && node ./tests/scanner/tech-scanner.test.js && node ./tests/asset/asset-package.test.js && node ./tests/config/config-layer.test.js && node ./tests/p1/multi-project-validation.test.js && node ./tests/p1/p1-integration.test.js","test:p2":"node ./tests/agent/agent-profile.test.js && node ./tests/agent/tool-permission.test.js && node ./tests/agent/file-permission.test.js && node ./tests/agent/agent-context.test.js && node ./tests/agent/collaboration-protocol.test.js && node ./tests/agent/review-repair-loop.test.js && node ./tests/agent/conflict-handler.test.js && node ./tests/p2/p2-integration.test.js","test:p3":"node ./tests/governance/rbac.test.js && node ./tests/governance/asset-review.test.js && node ./tests/governance/audit-log.test.js && node ./tests/governance/gray-release.test.js && node ./tests/governance/rollback.test.js && node ./tests/governance/security-policy.test.js && node ./tests/p3/p3-integration.test.js","test:p4":"node ./tests/visual/event-gateway.test.js && node ./tests/visual/timeline.test.js && node ./tests/visual/hook-dashboard.test.js && node ./tests/visual/agent-visual.test.js && node ./tests/visual/metrics.test.js && node ./tests/visual/risk-board.test.js && node ./tests/p4/p4-integration.test.js","test:p5":"node ./tests/asset/asset-registry.test.js && node ./tests/asset/asset-version.test.js && node ./tests/asset/asset-dependency.test.js && node ./tests/asset/asset-install.test.js && node ./tests/asset/asset-feedback.test.js && node ./tests/asset/asset-manager.test.js && node ./tests/asset/asset-installer.test.js && node ./tests/asset/asset-lifecycle.test.js && node ./tests/asset/asset-fork.test.js && node ./tests/asset/asset-quality.test.js && node ./tests/p5/p5-integration.test.js && node ./tests/p5/p5-real-install-rollback.test.js","verify:p1":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm pack --dry-run","verify:p2":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm pack --dry-run","verify:p3":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm pack --dry-run","verify:p4":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm pack --dry-run","verify:p5":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm run test:p5 && npm pack --dry-run","demo:runtime":"node ./bin/cli.js demo-runtime-smoke","test:runtime":"node ./tests/runtime/command-template-renderer.test.js && node ./tests/runtime/runtime-bootstrap.test.js && node ./tests/runtime/runtime-launcher.test.js && node ./tests/runtime/runtime-state-checkpoints.test.js && node ./tests/runtime/archive-change.test.js && node ./tests/runtime/task-orchestrator-runner.test.js && node ./tests/runtime/expert-executor.test.js && node ./tests/runtime/auto-fix-runtime.test.js && node ./tests/runtime/protocol-workflow-registry.test.js && node ./tests/runtime/protocol-update-fast-path.test.js && node ./tests/runtime/protocol-interaction-enhancements.test.js && node ./tests/runtime/spec-start-replay.test.js && node ./tests/runtime/demo-runtime-smoke.test.js && node ./tests/runtime/expert-delivery-template-content.test.js && node ./tests/runtime/sync.test.js && node ./tests/runtime/visual-command.test.js && node ./tests/runtime/hub-install.test.js && node ./tests/runtime/hub-diff.test.js && node ./tests/runtime/hub-upgrade-rollback.test.js && node ./tests/runtime/hub-runtime-report.test.js","test:registry":"node ./tests/registry/validate-registry.test.js","hub:sync-assets":"node ./scripts/hub-sync-assets.js","verify:install-ps1-bom":"node ./scripts/verify-install-ps1-bom.js"},"_npmUser":{"name":"zhenwei.li","email":"1828155655@qq.com"},"_npmVersion":"10.9.3","description":"AI Coding 团队规范驱动开发 CLI — 一键安装规范、技能与工具配置","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"optionalDependencies":{"node-machine-id":"^1.1.12"},"_npmOperationalInternal":{"tmp":"tmp/ai-spec-auto_0.2.2_1780475360935_0.922778628876703","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@br-ai/ai-spec-auto","version":"0.2.3","description":"AI Coding 团队规范驱动开发 CLI — 一键安装规范、技能与工具配置","homepage":"https://github.com/Colouful/br-ai-spec#readme","repository":{"type":"git","url":"git+https://github.com/Colouful/br-ai-spec.git"},"bugs":{"url":"https://github.com/Colouful/br-ai-spec/issues"},"bin":{"ai-spec-auto":"bin/cli.js"},"maintainers":[{"name":"zhenwei.li","email":"1828155655@qq.com"}],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"demo:runtime":"node ./bin/cli.js demo-runtime-smoke","hub:sync-assets":"node ./scripts/hub-sync-assets.js","test:registry":"node ./tests/registry/validate-registry.test.js","test:runtime":"node ./tests/runtime/command-template-renderer.test.js && node ./tests/runtime/runtime-bootstrap.test.js && node ./tests/runtime/runtime-launcher.test.js && node ./tests/runtime/runtime-state-checkpoints.test.js && node ./tests/runtime/archive-change.test.js && node ./tests/runtime/task-orchestrator-runner.test.js && node ./tests/runtime/expert-executor.test.js && node ./tests/runtime/auto-fix-runtime.test.js && node ./tests/runtime/protocol-workflow-registry.test.js && node ./tests/runtime/protocol-update-fast-path.test.js && node ./tests/runtime/protocol-interaction-enhancements.test.js && node ./tests/runtime/spec-start-replay.test.js && node ./tests/runtime/demo-runtime-smoke.test.js && node ./tests/runtime/expert-delivery-template-content.test.js && node ./tests/runtime/sync.test.js && node ./tests/runtime/visual-command.test.js && node ./tests/runtime/hub-install.test.js && node ./tests/runtime/hub-diff.test.js && node ./tests/runtime/hub-upgrade-rollback.test.js && node ./tests/runtime/hub-runtime-report.test.js","verify:install-ps1-bom":"node ./scripts/verify-install-ps1-bom.js","test:p1":"node ./tests/ide/adapter-protocol.test.js && node ./tests/ide/cursor-adapter.test.js && node ./tests/ide/claude-adapter.test.js && node ./tests/ide/ide-sync.test.js && node ./tests/scanner/tech-scanner.test.js && node ./tests/asset/asset-package.test.js && node ./tests/config/config-layer.test.js && node ./tests/p1/multi-project-validation.test.js && node ./tests/p1/p1-integration.test.js","verify:p1":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm pack --dry-run","test:p2":"node ./tests/agent/agent-profile.test.js && node ./tests/agent/tool-permission.test.js && node ./tests/agent/file-permission.test.js && node ./tests/agent/agent-context.test.js && node ./tests/agent/collaboration-protocol.test.js && node ./tests/agent/review-repair-loop.test.js && node ./tests/agent/conflict-handler.test.js && node ./tests/p2/p2-integration.test.js","verify:p2":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm pack --dry-run","test:p3":"node ./tests/governance/rbac.test.js && node ./tests/governance/asset-review.test.js && node ./tests/governance/audit-log.test.js && node ./tests/governance/gray-release.test.js && node ./tests/governance/rollback.test.js && node ./tests/governance/security-policy.test.js && node ./tests/p3/p3-integration.test.js","verify:p3":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm pack --dry-run","test:p4":"node ./tests/visual/event-gateway.test.js && node ./tests/visual/timeline.test.js && node ./tests/visual/hook-dashboard.test.js && node ./tests/visual/agent-visual.test.js && node ./tests/visual/metrics.test.js && node ./tests/visual/risk-board.test.js && node ./tests/p4/p4-integration.test.js","verify:p4":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm pack --dry-run","test:p5":"node ./tests/asset/asset-registry.test.js && node ./tests/asset/asset-version.test.js && node ./tests/asset/asset-dependency.test.js && node ./tests/asset/asset-install.test.js && node ./tests/asset/asset-feedback.test.js && node ./tests/asset/asset-manager.test.js && node ./tests/asset/asset-installer.test.js && node ./tests/asset/asset-lifecycle.test.js && node ./tests/asset/asset-fork.test.js && node ./tests/asset/asset-quality.test.js && node ./tests/p5/p5-integration.test.js && node ./tests/p5/p5-real-install-rollback.test.js","verify:p5":"npm run test:registry && npm run test:runtime && npm run test:p1 && npm run test:p2 && npm run test:p3 && npm run test:p4 && npm run test:p5 && npm pack --dry-run","prepack":"npm run verify:install-ps1-bom"},"keywords":["ai","coding","spec","cursor","claude"],"license":"MIT","optionalDependencies":{"node-machine-id":"^1.1.12"},"_id":"@br-ai/ai-spec-auto@0.2.3","gitHead":"2e8139979d222e92e1c33aeec0689275a6bd1e83","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-hGLF1OS3yc9sEqMnF5cOntIjO/nJbrvR+qZvhnEY9uWk0GTEwUk58QxifMmkj5Uh2m1q5bQSGp3yllXmzGU5VA==","shasum":"5bc4c3367019bc00c57bc1cdafd85b34dfcd3fa7","tarball":"https://registry.npmjs.org/@br-ai/ai-spec-auto/-/ai-spec-auto-0.2.3.tgz","fileCount":631,"unpackedSize":2892311,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDm/2cwp4JLMzCDQYWD6DQKasrHfq7ZbeDX3rYy37wawQIhANYpURA+l3srNfp4kecv8pT7EGk/BdQ/qiqu1dGPwODw"}]},"_npmUser":{"name":"zhenwei.li","email":"1828155655@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-spec-auto_0.2.3_1780485377447_0.6020142649708495"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T06:37:31.861Z","modified":"2026-06-03T11:16:17.817Z","0.2.0":"2026-06-03T06:37:32.243Z","0.2.1":"2026-06-03T08:25:16.727Z","0.2.2":"2026-06-03T08:29:21.168Z","0.2.3":"2026-06-03T11:16:17.660Z"},"license":"MIT","keywords":["ai","coding","spec","cursor","claude"],"description":"AI Coding 团队规范驱动开发 CLI — 一键安装规范、技能与工具配置","maintainers":[{"name":"zhenwei.li","email":"1828155655@qq.com"}],"readme":"# ai-spec-auto\n\n[![npm version](https://img.shields.io/npm/v/@br-ai/ai-spec-auto.svg)](https://www.npmjs.com/package/@br-ai/ai-spec-auto)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![GitHub](https://img.shields.io/github/stars/Colouful/br-ai-spec?style=social)](https://github.com/Colouful/br-ai-spec)\n\n`ai-spec-auto` 是一套面向前端项目的 AI 规范驱动开发底座。它把项目规则、专家资产、IDE 命令入口、OpenSpec 交付产物和 `.ai-spec` 运行状态放进同一个项目里，让 AI 开发不再只停留在对话里，而是能够按统一约束执行、留痕、归档和复用。\n\n如果只保留一句对外口径，建议统一成下面这句：\n\n> 它不是单个 AI 工具的替代品，而是一套把需求、实现、检查、归档串成团队开发链路的项目级交付底座。\n\n当前主场景：\n\n- Vue 3 / React 前端项目\n- Cursor / Claude Code\n- 规范驱动开发、提案到交付闭环、增量需求更新\n\n## 解决什么问题\n\n团队把 AI 引入研发后，最常遇到的不是“模型不会写代码”，而是下面几类治理问题：\n\n- 需求还没收敛，AI 已经开始改代码，后续返工成本高。\n- 规则、目录、接口、路由、测试等约定散落在文档和口头经验里，难以稳定复用。\n- 过程只存在于聊天记录中，缺少可追溯、可归档的交付产物。\n- 新功能和低风险小修经常混用同一套流程，不利于效率和治理平衡。\n\n`ai-spec-auto` 当前要解决的就是这些问题：  \n让高风险需求走完整交付链，让低风险小修走轻量链，同时让两类任务都留下可读、可查、可复盘的工程痕迹。\n\n## 推荐安装\n\n已发布到公共 npm，包名 `@br-ai/ai-spec-auto`。默认安装即完整安装：规范 + IDE 适配 + OpenSpec。\n\n若本机 `npm config get registry` 为内网 `nodejs.100credit.cn`，且当前不在内网/VPN，**必须**让 `@br-ai` 作用域走公共 npm（见下方「安装失败 ETIMEDOUT」），否则会连 `10.100.144.135` 超时。\n\n```bash\n# 推荐：单次指定公共 registry（任意目录可用，如 mall 项目）\nnpx --yes --registry https://registry.npmjs.org/ @br-ai/ai-spec-auto@latest init . --profile vue -y\n```\n\n或已在 `~/.npmrc` 配置 `@br-ai:registry=https://registry.npmjs.org/` 后：\n\n```bash\nnpx @br-ai/ai-spec-auto@latest init .\n```\n\n常用维护命令：\n\n```bash\nnpx @br-ai/ai-spec-auto@latest update .      # 更新已安装资产\nnpx @br-ai/ai-spec-auto@latest check .       # 检查安装完整性\nnpx @br-ai/ai-spec-auto@latest uninstall .   # 卸载\n```\n\n也支持脚本入口（薄壳，转发到 Node 核心，能力完全一致）：\n\n```bash\n# macOS / Linux\nbash install.sh init .\nbash install.sh update .\n```\n\n```powershell\n# Windows PowerShell\n.\\install.ps1 init .\n.\\install.ps1 update .\n```\n\n<details>\n<summary>内部用户：从内网 registry 安装（历史 <code>@ex</code> 包）</summary>\n\n内部环境若仍使用内网分发的历史包 `@ex/ai-spec-auto`，需先在 `~/.npmrc` 中配置安装来源（这不是代码运行时依赖，而是安装来源依赖）：\n\n```ini\n@ex:registry=http://nodejs.100credit.cn/\n```\n\n配置完成后再执行 `npx @ex/ai-spec-auto@latest init .`。\n\n</details>\n\n### 安装失败 `ETIMEDOUT`（连 `nodejs.100credit.cn`）\n\n报错类似：\n\n```text\nnetwork request to https://nodejs.100credit.cn/@br-ai%2fai-spec-auto failed\nconnect ETIMEDOUT 10.100.144.135:443\n```\n\n**原因**：`@br-ai/ai-spec-auto` 只在公共 npm 发布；未配置作用域 registry 时，npm 会用你全局默认内网源去拉包。\n\n**处理（任选其一）**：\n\n```bash\n# 方式 A：单次命令（最快）\nnpx --yes --registry https://registry.npmjs.org/ @br-ai/ai-spec-auto@latest init . --profile vue -y\n```\n\n```ini\n# 方式 B：写入 ~/.npmrc（永久，推荐）\n@br-ai:registry=https://registry.npmjs.org/\n```\n\n写入后执行 `npx @br-ai/ai-spec-auto@latest init .` 即可。\n\n## 默认会装什么\n\n默认安装会把这些能力落到目标项目：\n\n- `.agents/rules/`：项目规则\n- `.agents/skills/`：技能与操作流程\n- `.cursor/`、`.claude/`：IDE 适配与命令模板\n- `openspec/`：OpenSpec 流程目录\n- 可选的 lint / husky / UI UX Pro Max\n\n其中：\n\n- `UI UX Pro Max` 归属 `design-collaborator` 链路，主要用于 Figma 解析、标注提取和 UI/UX 设计决策\n- 它不属于 `frontend-implementer` 的默认技能集\n- 如需安装完整版资源，可显式使用 `--uipro`\n\n`L1 / L2 / L3` 仍然保留为兼容参数，但不再是主路径概念。  \n如果没有特别原因，直接使用默认安装即可。\n\n## 安装后怎么开始\n\n先做项目初始化：\n\n- `/project-init`\n- 或直接输入：`初始化项目规范`\n\n然后开始实际需求：\n\n- `/spec-start`：新建一个需求交付 run\n- `/spec-update`：增量补充需求、修正方向、归档前修正说明\n- `/spec-continue`：继续或恢复当前 run\n- `/spec-stop`：暂停当前 run\n- `/spec-status`：查看当前阶段、门禁和下一步\n\n默认情况下，`/spec-start` 会以 `auto（自动） + none（无阻塞审核）` 启动主流程，直接自动推进需求开发；只有在你显式切到 `main-flow-blocking（主流程阻塞审核）` 时，才会恢复人工审核门禁。\n\n如果你走 OpenSpec 提案流：\n\n- Cursor：`/opsx-propose`、`/opsx-apply`、`/opsx-archive`、`/opsx-explore`\n- Claude Code 等：`/opsx:propose`、`/opsx:apply`、`/opsx:archive`、`/opsx:explore`\n\n### 小需求怎么走\n\n| 场景 | 推荐入口 | 默认结果 |\n| --- | --- | --- |\n| 新的大需求、新功能、跨模块改动 | `/spec-start` 或自然语言描述 | 进入 `prd-to-delivery` |\n| 当前 run / 未归档 change 里的小修正 | `/spec-update` 或自然语言补充 | 复用原 change，走 `patch / scope-delta` |\n| 归档前发现实现不对 | 自然语言：`先别归档，这里改成...` | 走 `archive-fix`，回退到对应专家 |\n| 已归档内容补一个修正 | 自然语言：`给上个归档变更补个修正...` | 走 `followup-patch`，新开补丁 change |\n| 全新、低风险、单点小修正 | 自然语言直接描述 | 进入 `bugfix-to-verification`，留痕写到 `.ai-spec/history/<run-id>/` |\n\n判断原则：\n\n- 只要涉及新增 API、路由、全局状态、权限/支付/合规、跨模块范围变化，就升级回 `prd-to-delivery`\n- 只要你明确要求“留痕 / 归档 / 评审 / spec”，即使需求很小，也优先走完整 OpenSpec\n\n## 使用方式：命令与参数\n\n### 两条安装路径\n\n| 路径 | 命令 | 适用 | 行为 |\n| --- | --- | --- | --- |\n| 默认完整安装（手动 / 交互） | `init .` | 大多数项目 | 直接落地 `.agents` / IDE 适配 / OpenSpec；未指定 profile 时交互选择或默认 `vue` |\n| 推荐安装（自动扫描 + Hub 推荐） | `init . --recommend` | 想让工具自动判断技术栈 | 先扫描技术栈，再结合 Hub / 本地推荐生成 InitPlan；`--dry-run` 预览、`--yes` 写入 |\n\n```bash\n# 默认完整安装\nnpx @br-ai/ai-spec-auto@latest init .\n\n# 自动推荐安装：先预览，再确认写入\nnpx @br-ai/ai-spec-auto@latest init . --recommend --dry-run\nnpx @br-ai/ai-spec-auto@latest init . --recommend --yes\n```\n\n### init 参数（默认完整安装路径）\n\n| 参数 | 取值 | 默认 | 说明 |\n| --- | --- | --- | --- |\n| `--profile <id>` | `vue` / `react` / `nestjs` / `springboot` / `node-tooling` | `vue` | 指定技术栈；不传则交互选择 |\n| `--profiles <a,b>` | 逗号分隔 | — | 一次安装多个技术栈 |\n| `--package <subpath>` | 如 `packages/web` | — | Monorepo 安装到子包 |\n| `--workspace-root` | — | 否 | Monorepo 在仓库根安装 |\n| `--custom-rules` | — | — | 启用可定制规则全集 |\n| `--standard-rules` | — | — | 使用标准规则集 |\n| `--ide <list>` | `default` / `all` / `cursor,claude` | `default` | IDE 适配范围，`default`=cursor+claude |\n| `--lint` / `--no-lint` | — | 交互询问 | 是否安装 lint 配置 |\n| `--husky` / `--no-husky` | — | 交互询问 | 是否安装提交钩子 |\n| `--uipro` / `--no-uipro` | — | 交互询问 | 是否安装 UI UX Pro Max |\n| `--manifest <path\\|url>` | — | — | 按本地 / 远程 Manifest 安装 |\n| `--level <L1\\|L2\\|L3>` | — | `L3` | 兼容参数，不再是主路径概念 |\n| `-y` / `--force` | — | 否 | **强制覆盖**已存在的 `.agents`（跳过确认） |\n\n### init 参数（`--recommend` 自动推荐路径）\n\n| 参数 | 说明 |\n| --- | --- |\n| `--recommend` | 启用「扫描 + 推荐」 |\n| `--dry-run` | 只输出 InitPlan，不写盘 |\n| `--yes` / `-y` | 确认并写入 |\n| `--json` | 以 JSON 输出 |\n| `--manifest <slug>` | 指定 Hub 上的 Manifest slug |\n| `--hub-url <url>` | Hub 地址 |\n| `--visual-url <url>` | 写入时的 Visual 上报地址 |\n| `--no-hub-fallback` | Hub 失败时不降级到本地推荐 |\n\n> ⚠️ `-y` 在两条路径含义不同：默认安装里是「**强制覆盖**已有 `.agents`」，推荐安装里是「**确认写入** InitPlan」。\n\n### update：更新已安装资产\n\n不传 `--profile` / `--ide` 时会**自动继承**项目已安装的 manifest 配置；只更新部分内容可叠加 `--skip-*`。\n\n```bash\n# 全量更新\nnpx @br-ai/ai-spec-auto@latest update .\n\n# 只更新规则与命令，跳过技能、配置、OpenSpec\nnpx @br-ai/ai-spec-auto@latest update . --skip-skills --skip-configs --skip-openspec\n```\n\n| 参数 | 说明 |\n| --- | --- |\n| `--skip-skills` / `--skip-configs` / `--skip-commands` / `--skip-ide-links` / `--skip-openspec` / `--skip-uipro` | 跳过对应部分更新 |\n| `--force-update-rules` / `--no-force-update-rules` | 是否覆盖本地已改动的规则 |\n| `--no-self-upgrade` | 关闭自举自升级 |\n| `--profile` / `--ide` | 覆盖自动继承的配置 |\n\n### check / sync：自动双模式\n\n`check` 与 `sync` 会按项目状态自动分流：当存在 `.ai-spec/ai-spec.lock.json` 或 `.agents/registry.index.json` 时，走「完整性校验 / 缓存同步」模式（基于 lock 校验 checksum、检测资产篡改）；否则走传统文件检查 / Manifest 同步。\n\n| 命令 | 说明 |\n| --- | --- |\n| `check .` | 检查安装完整性、资产是否被篡改 |\n| `sync . [--hub-url <url>]` | 按 lock 将远程资产同步到本机全局缓存 |\n\n### Monorepo / 自定义规则示例\n\n```bash\n# 指定技术栈\nnpx @br-ai/ai-spec-auto@latest init . --profile react\n\n# Monorepo 安装到子包\nnpx @br-ai/ai-spec-auto@latest init . --package packages/web\n\n# 启用自定义规则\nnpx @br-ai/ai-spec-auto@latest init . --custom-rules\n```\n\n### Hub（资产中心）\n\n```bash\nnpx @br-ai/ai-spec-auto@latest hub search react --kind manifest --hub http://localhost:3000\nnpx @br-ai/ai-spec-auto@latest hub install react-standard-delivery . --hub http://localhost:3000 --mode standard --profile react --ide cursor\nnpx @br-ai/ai-spec-auto@latest hub diff .\nnpx @br-ai/ai-spec-auto@latest hub sync . --yes\nnpx @br-ai/ai-spec-auto@latest hub rollback 1.0.0 .\nnpx @br-ai/ai-spec-auto@latest hub runtime-report . --run-id run-100 --stage test --status success --duration-ms 1200\n```\n\n安装成功后会写入 `.agents/registry/hub-lock.json`（Hub 锁文件），Visual（可视化控制台）会基于它展示当前 Manifest、资产版本、本地改动和高风险资产。`hub runtime-report`（运行上报）会读取锁文件中的资产清单，把本次 run（运行）的阶段、状态、耗时和失败原因回传到 Hub，用于成功率、失败原因和推荐等级分析。\n\n### 自动与手动一览\n\n| 能力 | 自动 | 手动 / 可控 |\n| --- | --- | --- |\n| 技术栈识别 | `scan`、`init --recommend` 自动扫描并推荐 profile | `init --profile <id>` 显式指定 |\n| CLI 自升级 | `update` 触发自举升级（registry 上有新版时自动升级并重跑） | `--no-self-upgrade` 关闭 |\n| 更新配置继承 | `update` 不传 `--profile/--ide` 时自动沿用已装 manifest | 显式传参覆盖 |\n| 安装确认 | `--yes` / `-y` 跳过交互 | 省略则进入交互选择 |\n| 需求主流程 | `/spec-start` 默认 `auto + none`，自动推进开发 | 切到 `main-flow-blocking` 启用人工审核门禁 |\n\n## 后续规划\n\n后续规划建议按三段推进，而不是同时把所有入口和平台能力全部拉开。\n\n### 短期\n\n- 继续把 `prd-to-delivery` 主链和 `bugfix-to-verification` 轻量链跑稳\n- 降低 `init / sync / manifest` 的接入摩擦\n- 让普通开发者先用起来，不被底层协议细节拦在门外\n\n### 中期\n\n- 让 Hub 负责资产管理与场景组合\n- 让 `manifest` 成为能力组合的稳定描述\n- 补齐 `git worktree` 支持，把“一需求一工作目录”收口成标准能力，支撑多需求并行开发\n- 让 CLI 和 IDE 入口承担更轻量的状态提示与切换能力\n\n### 中长期\n\n- 补齐 `OpenClaw` 对接，形成远程入口与团队协同控制面\n- 让远程触发、审批放行、状态查询、结果回传围绕 `.ai-spec` 和 OpenSpec 产物统一展开\n- 在条件成熟后，把 CI/CD 校验纳入统一治理链，形成从本地开发到持续交付的一体化约束\n\n## 推广与埋点统计\n\n后续统计的重点不应只是“装了多少次工具”，而应回答“这套方法是否形成了稳定闭环”。\n\n建议后续埋点优先围绕四类事件建设：\n\n| 层次 | 建议埋点 | 主要看什么 |\n| --- | --- | --- |\n| 接入 | `init / sync / manifest / check` 的执行次数、项目数、profile、IDE、场景方案来源 | 判断是否真正进入项目，而不是停留在介绍阶段 |\n| 运行 | `/spec-start / update / continue / status` 的调用次数、流程选择结果、门禁阻断点、auto-fix 回环次数 | 判断流程是否跑起来、卡在哪一步 |\n| 复用 | 场景方案、专家、规则、技能在不同项目中的复用次数 | 判断资产是否开始沉淀为团队能力 |\n| 结果 | 归档成功率、失败原因、阻断原因、从发起到归档的耗时 | 判断交付闭环是否稳定形成 |\n\n对管理视角而言，更值得长期观察的是三个趋势：\n\n- 同类需求是否越来越少依赖个人记忆\n- 常见任务是否越来越多通过统一资产完成\n- 一次交付结束后，结果是否能够反馈回规则、流程和方案设计\n\n## 文档入口\n\n如果只从一个入口开始阅读，优先看第四阶段文档入口。\n\n- [第四阶段文档入口](docs/four/README.md)\n- [开发最佳实践指南](docs/four/开发最佳实践指南.md)\n- [需求示例：从发起到归档](docs/four/需求示例-从发起到归档.md)\n- [项目介绍与运行机制说明](docs/four/项目介绍与运行机制说明.md)\n- [架构设计与治理说明](docs/four/架构设计与治理说明.md)\n- [5 分钟快速上手](docs/quick-start.md)\n- [安装指南](docs/install-guide.md)\n- [文档索引](docs/README.md)\n- [OpenSpec / 协议流说明](docs/openspec-guide.md)\n- [小需求与补丁修正指南](docs/four/小需求与补丁修正指南.md)\n- [培训大纲](docs/training-outline.md)\n- [协议与专家增强记录](docs/paser_three/协议与专家增强记录.md)\n- [主流程专家优化记录](docs/paser_three/主流程专家优化记录.md)\n\n## 兼容说明\n\n这些能力都继续保留：\n\n- `install.sh` / `install.ps1`\n- `--level L1/L2/L3`\n- `--custom-rules`\n- 细粒度 `update`\n- Monorepo 目标选择\n- `configs/` 增量补齐\n\n这轮收口的重点是：\n\n- 安装实现统一到 Node 核心\n- Bash / PowerShell 只保留薄壳入口\n- README 收成产品入口页\n- registry 说明集中、统一\n\n协议主链、专家链和运行时状态机没有因为这轮入口收口而改变。\n\n## 匿名使用统计\n\n`bin/telemetry/` 是一个 **隔离的切面模块**，用于向私有部署的\n[`br-ai-spec-visual`](https://github.com/Colouful/br-ai-spec-visual) 上报 CLI 安装与使用情况（`init/update/sync/check/help`）。\n\n### 默认行为（开源版）\n\n仓库内置 `bin/telemetry/defaults.json` **默认关闭**上报（`disabled: true`，`visualUrl` 为空）。需要统计时自行配置 Visual 地址并设置 `disabled: false`。\n\n若你自行启用上报，首次运行可能打印一次性提示：\n\n```text\n[ai-spec-auto] 已开启匿名使用统计（可通过 AI_SPEC_TELEMETRY_DISABLED=1 关闭）\n```\n\n上报是 **fire-and-forget**，带 500ms 健康探测 + 2s 请求超时，服务端不可达时自动跳过且主流程零感知。\n\n### 如果你不想参与上报\n\n任选其一：\n\n```bash\n# 方式 A：环境变量（临时/会话级）\nexport AI_SPEC_TELEMETRY_DISABLED=1\n\n# 方式 B：用户配置（永久，跨 shell 会话）\nmkdir -p ~/.ai-spec-auto\necho '{\"disabled\": true}' > ~/.ai-spec-auto/config.json\n```\n\n### 配置优先级（高 → 低）\n\n1. **环境变量**\n2. **`~/.ai-spec-auto/config.json`**（用户主目录，含 secret 请 `chmod 600`）\n3. **`bin/telemetry/defaults.json`**（仓库默认，**禁止写入 secret**）\n\n### 可配置字段\n\n| 字段 | 环境变量 | 用户配置 key | 仓库默认 | 说明 |\n| --- | --- | --- | --- | --- |\n| Visual 地址 | `AI_SPEC_VISUAL_URL` | `visualUrl` | `visualUrl` | 空值则不发送 |\n| 总开关 | `AI_SPEC_TELEMETRY_DISABLED=1` | `disabled: true` | `disabled` | 任一源为真即关闭 |\n| 鉴权密钥 | `AI_SPEC_TELEMETRY_SECRET` | `secret` | **不支持** | 与服务端 `.env` 一致，作为 `X-Telemetry-Secret` 头携带 |\n| 调试输出 | `AI_SPEC_TELEMETRY_DEBUG=1` | — | — | 仅环境变量，平时保持静默 |\n\n### 典型场景\n\n| 场景 | 做法 |\n| --- | --- |\n| 默认（开源） | **无需配置**，遥测默认关闭 |\n| 自建 Visual 并开启上报 | 在 `~/.ai-spec-auto/config.json` 设置 `visualUrl` 且 `disabled: false`；有 secret 时设置 `AI_SPEC_TELEMETRY_SECRET` |\n| 本地联调指向本机 Visual | `export AI_SPEC_VISUAL_URL=http://127.0.0.1:3000` |\n| 个人不想参与匿名统计 | `export AI_SPEC_TELEMETRY_DISABLED=1` |\n| 排查上报链路问题 | `export AI_SPEC_TELEMETRY_DEBUG=1` 后再跑命令 |\n\n### 用户配置文件示例\n\n```jsonc\n// ~/.ai-spec-auto/config.json —— 所有字段都是可选的\n{\n  \"visualUrl\": \"http://127.0.0.1:3000\",\n  \"secret\": \"与服务端 AI_SPEC_TELEMETRY_SECRET 一致\",\n  \"disabled\": false\n}\n```\n\n文件缺失、权限不足或 JSON 非法时，遥测会静默回退到仓库默认，**不会让 CLI 报错**。\n\n### 隐私与健壮性保证\n\n- **唯一标识**：来自 `node-machine-id`（`optionalDependencies`，缺失时用 `sha256(mac+user+host)` 兜底）。\n- **项目路径**：以 SHA256 哈希形式上报，不包含源码、绝对路径、用户名密钥。\n- **健康探测**：上报前 `HEAD /api/health`（500ms 超时）；失败写入本地缓存，60 秒冷却窗口内后续 CLI 调用直接跳过探测。\n- **删除即失效**：整个 `bin/telemetry/` 目录被移除、`node-machine-id` 缺失、`defaults.json` 损坏，任一情况下 CLI 都正常工作。\n","readmeFilename":"README.md","homepage":"https://github.com/Colouful/br-ai-spec#readme","repository":{"type":"git","url":"git+https://github.com/Colouful/br-ai-spec.git"},"bugs":{"url":"https://github.com/Colouful/br-ai-spec/issues"}}