cgraphx 1.1.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/LICENSE +21 -0
- package/README.md +243 -0
- package/dist/.claude-template/commands/my-commit.md +9 -0
- package/dist/.claude-template/commands/my-query.md +4 -0
- package/dist/.claude-template/hooks/context-monitor/context-monitor.cjs +216 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.d.ts +4 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.js +24 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.d.ts +8 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.js +204 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.d.ts +46 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.js +220 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.d.ts +10 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.js +10 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.d.ts +6 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.js +15 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.d.ts +23 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.js +103 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.d.ts +16 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.js +86 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.d.ts +24 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.js +97 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.js +44 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.d.ts +12 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.js +58 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.js +379 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.js +30 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.js +52 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.d.ts +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.js +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.js +74 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.js +92 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.d.ts +7 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.js +247 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.js +25 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.js +43 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.d.ts +7 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.js +62 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.d.ts +9 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.js +136 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.js +189 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.d.ts +79 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.js +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.d.ts +59 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.js +733 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.js.map +1 -0
- package/dist/.claude-template/skills/cgraphx/SKILL.md +143 -0
- package/dist/.claude-template/skills/cgraphx/agent-prompt.md +56 -0
- package/dist/.claude-template/skills/clarify-requirements/SKILL.md +425 -0
- package/dist/.claude-template/skills/code-impact-api/SKILL.md +143 -0
- package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +51 -0
- package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +366 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-business-html.md +242 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-business-md.md +107 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-technical-html.md +205 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-technical-md.md +155 -0
- package/dist/.claude-template/skills/code-impact-init/SKILL.md +800 -0
- package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +345 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +68 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +82 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +58 -0
- package/dist/.claude-template/skills/db-query/SKILL.md +166 -0
- package/dist/.claude-template/skills/db-query/agent-prompt.md +55 -0
- package/dist/.claude-template/skills/developer-timeline/SKILL.md +302 -0
- package/dist/.claude-template/skills/developer-timeline/demo-single-page-report.html +657 -0
- package/dist/.claude-template/skills/implementation/SKILL.md +136 -0
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +225 -0
- package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +127 -0
- package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +130 -0
- package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +112 -0
- package/dist/.claude-template/skills/write-plan/SKILL.md +322 -0
- package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +134 -0
- package/dist/.claude-template/skills/write-prd/SKILL.md +242 -0
- package/dist/.claude-template/skills/write-spec/SKILL.md +278 -0
- package/dist/bin/codegraph.d.ts +26 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +2014 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/bin/fatal-handler.d.ts +20 -0
- package/dist/bin/fatal-handler.d.ts.map +1 -0
- package/dist/bin/fatal-handler.js +118 -0
- package/dist/bin/fatal-handler.js.map +1 -0
- package/dist/bin/node-version-check.d.ts +51 -0
- package/dist/bin/node-version-check.d.ts.map +1 -0
- package/dist/bin/node-version-check.js +114 -0
- package/dist/bin/node-version-check.js.map +1 -0
- package/dist/bin/uninstall.d.ts +14 -0
- package/dist/bin/uninstall.d.ts.map +1 -0
- package/dist/bin/uninstall.js +36 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/context/formatter.d.ts +30 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +263 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +119 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +1296 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/markers.d.ts +19 -0
- package/dist/context/markers.d.ts.map +1 -0
- package/dist/context/markers.js +22 -0
- package/dist/context/markers.js.map +1 -0
- package/dist/db/index.d.ts +122 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +296 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +140 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +401 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1591 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.sql +152 -0
- package/dist/db/sqlite-adapter.d.ts +53 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +117 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/dbquery/cli.d.ts +17 -0
- package/dist/dbquery/cli.d.ts.map +1 -0
- package/dist/dbquery/cli.js +229 -0
- package/dist/dbquery/cli.js.map +1 -0
- package/dist/dbquery/config.d.ts +38 -0
- package/dist/dbquery/config.d.ts.map +1 -0
- package/dist/dbquery/config.js +244 -0
- package/dist/dbquery/config.js.map +1 -0
- package/dist/dbquery/constants.d.ts +40 -0
- package/dist/dbquery/constants.d.ts.map +1 -0
- package/dist/dbquery/constants.js +65 -0
- package/dist/dbquery/constants.js.map +1 -0
- package/dist/dbquery/drivers/mysql.d.ts +15 -0
- package/dist/dbquery/drivers/mysql.d.ts.map +1 -0
- package/dist/dbquery/drivers/mysql.js +102 -0
- package/dist/dbquery/drivers/mysql.js.map +1 -0
- package/dist/dbquery/drivers/postgres.d.ts +16 -0
- package/dist/dbquery/drivers/postgres.d.ts.map +1 -0
- package/dist/dbquery/drivers/postgres.js +105 -0
- package/dist/dbquery/drivers/postgres.js.map +1 -0
- package/dist/dbquery/errors.d.ts +40 -0
- package/dist/dbquery/errors.d.ts.map +1 -0
- package/dist/dbquery/errors.js +85 -0
- package/dist/dbquery/errors.js.map +1 -0
- package/dist/dbquery/executor.d.ts +30 -0
- package/dist/dbquery/executor.d.ts.map +1 -0
- package/dist/dbquery/executor.js +243 -0
- package/dist/dbquery/executor.js.map +1 -0
- package/dist/dbquery/format.d.ts +18 -0
- package/dist/dbquery/format.d.ts.map +1 -0
- package/dist/dbquery/format.js +174 -0
- package/dist/dbquery/format.js.map +1 -0
- package/dist/dbquery/index.d.ts +10 -0
- package/dist/dbquery/index.d.ts.map +1 -0
- package/dist/dbquery/index.js +23 -0
- package/dist/dbquery/index.js.map +1 -0
- package/dist/dbquery/init.d.ts +33 -0
- package/dist/dbquery/init.d.ts.map +1 -0
- package/dist/dbquery/init.js +125 -0
- package/dist/dbquery/init.js.map +1 -0
- package/dist/dbquery/logging.d.ts +22 -0
- package/dist/dbquery/logging.d.ts.map +1 -0
- package/dist/dbquery/logging.js +140 -0
- package/dist/dbquery/logging.js.map +1 -0
- package/dist/dbquery/mcp-tools.d.ts +29 -0
- package/dist/dbquery/mcp-tools.d.ts.map +1 -0
- package/dist/dbquery/mcp-tools.js +206 -0
- package/dist/dbquery/mcp-tools.js.map +1 -0
- package/dist/dbquery/queries.d.ts +31 -0
- package/dist/dbquery/queries.d.ts.map +1 -0
- package/dist/dbquery/queries.js +160 -0
- package/dist/dbquery/queries.js.map +1 -0
- package/dist/dbquery/safety.d.ts +35 -0
- package/dist/dbquery/safety.d.ts.map +1 -0
- package/dist/dbquery/safety.js +306 -0
- package/dist/dbquery/safety.js.map +1 -0
- package/dist/dbquery/types.d.ts +152 -0
- package/dist/dbquery/types.d.ts.map +1 -0
- package/dist/dbquery/types.js +10 -0
- package/dist/dbquery/types.js.map +1 -0
- package/dist/directory.d.ts +147 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +523 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +136 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +219 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/astro-extractor.d.ts +79 -0
- package/dist/extraction/astro-extractor.d.ts.map +1 -0
- package/dist/extraction/astro-extractor.js +320 -0
- package/dist/extraction/astro-extractor.js.map +1 -0
- package/dist/extraction/dfm-extractor.d.ts +31 -0
- package/dist/extraction/dfm-extractor.d.ts.map +1 -0
- package/dist/extraction/dfm-extractor.js +151 -0
- package/dist/extraction/dfm-extractor.js.map +1 -0
- package/dist/extraction/extraction-version.d.ts +25 -0
- package/dist/extraction/extraction-version.d.ts.map +1 -0
- package/dist/extraction/extraction-version.js +28 -0
- package/dist/extraction/extraction-version.js.map +1 -0
- package/dist/extraction/function-ref.d.ts +118 -0
- package/dist/extraction/function-ref.d.ts.map +1 -0
- package/dist/extraction/function-ref.js +727 -0
- package/dist/extraction/function-ref.js.map +1 -0
- package/dist/extraction/generated-detection.d.ts +30 -0
- package/dist/extraction/generated-detection.d.ts.map +1 -0
- package/dist/extraction/generated-detection.js +83 -0
- package/dist/extraction/generated-detection.js.map +1 -0
- package/dist/extraction/grammars.d.ts +114 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +477 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +175 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +1887 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/languages/c-cpp.d.ts +12 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/dist/extraction/languages/c-cpp.js +275 -0
- package/dist/extraction/languages/c-cpp.js.map +1 -0
- package/dist/extraction/languages/csharp.d.ts +25 -0
- package/dist/extraction/languages/csharp.d.ts.map +1 -0
- package/dist/extraction/languages/csharp.js +175 -0
- package/dist/extraction/languages/csharp.js.map +1 -0
- package/dist/extraction/languages/dart.d.ts +3 -0
- package/dist/extraction/languages/dart.d.ts.map +1 -0
- package/dist/extraction/languages/dart.js +374 -0
- package/dist/extraction/languages/dart.js.map +1 -0
- package/dist/extraction/languages/go.d.ts +3 -0
- package/dist/extraction/languages/go.d.ts.map +1 -0
- package/dist/extraction/languages/go.js +111 -0
- package/dist/extraction/languages/go.js.map +1 -0
- package/dist/extraction/languages/index.d.ts +10 -0
- package/dist/extraction/languages/index.d.ts.map +1 -0
- package/dist/extraction/languages/index.js +53 -0
- package/dist/extraction/languages/index.js.map +1 -0
- package/dist/extraction/languages/java.d.ts +3 -0
- package/dist/extraction/languages/java.d.ts.map +1 -0
- package/dist/extraction/languages/java.js +315 -0
- package/dist/extraction/languages/java.js.map +1 -0
- package/dist/extraction/languages/javascript.d.ts +3 -0
- package/dist/extraction/languages/javascript.d.ts.map +1 -0
- package/dist/extraction/languages/javascript.js +106 -0
- package/dist/extraction/languages/javascript.js.map +1 -0
- package/dist/extraction/languages/kotlin.d.ts +3 -0
- package/dist/extraction/languages/kotlin.d.ts.map +1 -0
- package/dist/extraction/languages/kotlin.js +379 -0
- package/dist/extraction/languages/kotlin.js.map +1 -0
- package/dist/extraction/languages/lua.d.ts +3 -0
- package/dist/extraction/languages/lua.d.ts.map +1 -0
- package/dist/extraction/languages/lua.js +150 -0
- package/dist/extraction/languages/lua.js.map +1 -0
- package/dist/extraction/languages/luau.d.ts +3 -0
- package/dist/extraction/languages/luau.d.ts.map +1 -0
- package/dist/extraction/languages/luau.js +37 -0
- package/dist/extraction/languages/luau.js.map +1 -0
- package/dist/extraction/languages/objc.d.ts +3 -0
- package/dist/extraction/languages/objc.d.ts.map +1 -0
- package/dist/extraction/languages/objc.js +175 -0
- package/dist/extraction/languages/objc.js.map +1 -0
- package/dist/extraction/languages/pascal.d.ts +3 -0
- package/dist/extraction/languages/pascal.d.ts.map +1 -0
- package/dist/extraction/languages/pascal.js +77 -0
- package/dist/extraction/languages/pascal.js.map +1 -0
- package/dist/extraction/languages/php.d.ts +3 -0
- package/dist/extraction/languages/php.d.ts.map +1 -0
- package/dist/extraction/languages/php.js +196 -0
- package/dist/extraction/languages/php.js.map +1 -0
- package/dist/extraction/languages/python.d.ts +3 -0
- package/dist/extraction/languages/python.d.ts.map +1 -0
- package/dist/extraction/languages/python.js +56 -0
- package/dist/extraction/languages/python.js.map +1 -0
- package/dist/extraction/languages/r.d.ts +3 -0
- package/dist/extraction/languages/r.d.ts.map +1 -0
- package/dist/extraction/languages/r.js +314 -0
- package/dist/extraction/languages/r.js.map +1 -0
- package/dist/extraction/languages/ruby.d.ts +3 -0
- package/dist/extraction/languages/ruby.d.ts.map +1 -0
- package/dist/extraction/languages/ruby.js +149 -0
- package/dist/extraction/languages/ruby.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts +3 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -0
- package/dist/extraction/languages/rust.js +142 -0
- package/dist/extraction/languages/rust.js.map +1 -0
- package/dist/extraction/languages/scala.d.ts +3 -0
- package/dist/extraction/languages/scala.d.ts.map +1 -0
- package/dist/extraction/languages/scala.js +209 -0
- package/dist/extraction/languages/scala.js.map +1 -0
- package/dist/extraction/languages/swift.d.ts +3 -0
- package/dist/extraction/languages/swift.d.ts.map +1 -0
- package/dist/extraction/languages/swift.js +152 -0
- package/dist/extraction/languages/swift.js.map +1 -0
- package/dist/extraction/languages/typescript.d.ts +16 -0
- package/dist/extraction/languages/typescript.d.ts.map +1 -0
- package/dist/extraction/languages/typescript.js +167 -0
- package/dist/extraction/languages/typescript.js.map +1 -0
- package/dist/extraction/liquid-extractor.d.ts +59 -0
- package/dist/extraction/liquid-extractor.d.ts.map +1 -0
- package/dist/extraction/liquid-extractor.js +357 -0
- package/dist/extraction/liquid-extractor.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +48 -0
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
- package/dist/extraction/mybatis-extractor.js +198 -0
- package/dist/extraction/mybatis-extractor.js.map +1 -0
- package/dist/extraction/parse-worker.d.ts +8 -0
- package/dist/extraction/parse-worker.d.ts.map +1 -0
- package/dist/extraction/parse-worker.js +97 -0
- package/dist/extraction/parse-worker.js.map +1 -0
- package/dist/extraction/razor-extractor.d.ts +42 -0
- package/dist/extraction/razor-extractor.d.ts.map +1 -0
- package/dist/extraction/razor-extractor.js +285 -0
- package/dist/extraction/razor-extractor.js.map +1 -0
- package/dist/extraction/svelte-extractor.d.ts +56 -0
- package/dist/extraction/svelte-extractor.d.ts.map +1 -0
- package/dist/extraction/svelte-extractor.js +275 -0
- package/dist/extraction/svelte-extractor.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-helpers.js +152 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/dist/extraction/tree-sitter-types.d.ts +239 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-types.js +10 -0
- package/dist/extraction/tree-sitter-types.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +647 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +5592 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/extraction/vue-extractor.d.ts +51 -0
- package/dist/extraction/vue-extractor.d.ts.map +1 -0
- package/dist/extraction/vue-extractor.js +254 -0
- package/dist/extraction/vue-extractor.js.map +1 -0
- package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
- package/dist/extraction/wasm-runtime-flags.js +106 -0
- package/dist/extraction/wasm-runtime-flags.js.map +1 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +13 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +339 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +540 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/index.d.ts +563 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1041 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/claude-assets.d.ts +45 -0
- package/dist/installer/claude-assets.d.ts.map +1 -0
- package/dist/installer/claude-assets.js +144 -0
- package/dist/installer/claude-assets.js.map +1 -0
- package/dist/installer/config-writer.d.ts +28 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +91 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +101 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +692 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/instructions-template.d.ts +41 -0
- package/dist/installer/instructions-template.d.ts.map +1 -0
- package/dist/installer/instructions-template.js +53 -0
- package/dist/installer/instructions-template.js.map +1 -0
- package/dist/installer/targets/antigravity.d.ts +57 -0
- package/dist/installer/targets/antigravity.d.ts.map +1 -0
- package/dist/installer/targets/antigravity.js +308 -0
- package/dist/installer/targets/antigravity.js.map +1 -0
- package/dist/installer/targets/claude.d.ts +66 -0
- package/dist/installer/targets/claude.d.ts.map +1 -0
- package/dist/installer/targets/claude.js +564 -0
- package/dist/installer/targets/claude.js.map +1 -0
- package/dist/installer/targets/codex.d.ts +18 -0
- package/dist/installer/targets/codex.d.ts.map +1 -0
- package/dist/installer/targets/codex.js +185 -0
- package/dist/installer/targets/codex.js.map +1 -0
- package/dist/installer/targets/cursor.d.ts +35 -0
- package/dist/installer/targets/cursor.d.ts.map +1 -0
- package/dist/installer/targets/cursor.js +254 -0
- package/dist/installer/targets/cursor.js.map +1 -0
- package/dist/installer/targets/gemini.d.ts +26 -0
- package/dist/installer/targets/gemini.d.ts.map +1 -0
- package/dist/installer/targets/gemini.js +165 -0
- package/dist/installer/targets/gemini.js.map +1 -0
- package/dist/installer/targets/hermes.d.ts +18 -0
- package/dist/installer/targets/hermes.d.ts.map +1 -0
- package/dist/installer/targets/hermes.js +359 -0
- package/dist/installer/targets/hermes.js.map +1 -0
- package/dist/installer/targets/kiro.d.ts +27 -0
- package/dist/installer/targets/kiro.d.ts.map +1 -0
- package/dist/installer/targets/kiro.js +178 -0
- package/dist/installer/targets/kiro.js.map +1 -0
- package/dist/installer/targets/opencode.d.ts +38 -0
- package/dist/installer/targets/opencode.d.ts.map +1 -0
- package/dist/installer/targets/opencode.js +288 -0
- package/dist/installer/targets/opencode.js.map +1 -0
- package/dist/installer/targets/registry.d.ts +35 -0
- package/dist/installer/targets/registry.d.ts.map +1 -0
- package/dist/installer/targets/registry.js +91 -0
- package/dist/installer/targets/registry.js.map +1 -0
- package/dist/installer/targets/shared.d.ts +101 -0
- package/dist/installer/targets/shared.d.ts.map +1 -0
- package/dist/installer/targets/shared.js +264 -0
- package/dist/installer/targets/shared.js.map +1 -0
- package/dist/installer/targets/toml.d.ts +52 -0
- package/dist/installer/targets/toml.d.ts.map +1 -0
- package/dist/installer/targets/toml.js +147 -0
- package/dist/installer/targets/toml.js.map +1 -0
- package/dist/installer/targets/types.d.ts +108 -0
- package/dist/installer/targets/types.d.ts.map +1 -0
- package/dist/installer/targets/types.js +16 -0
- package/dist/installer/targets/types.js.map +1 -0
- package/dist/markdown/cli.d.ts +16 -0
- package/dist/markdown/cli.d.ts.map +1 -0
- package/dist/markdown/cli.js +533 -0
- package/dist/markdown/cli.js.map +1 -0
- package/dist/markdown/constants.d.ts +22 -0
- package/dist/markdown/constants.d.ts.map +1 -0
- package/dist/markdown/constants.js +71 -0
- package/dist/markdown/constants.js.map +1 -0
- package/dist/markdown/dedup.d.ts +20 -0
- package/dist/markdown/dedup.d.ts.map +1 -0
- package/dist/markdown/dedup.js +64 -0
- package/dist/markdown/dedup.js.map +1 -0
- package/dist/markdown/errors.d.ts +22 -0
- package/dist/markdown/errors.d.ts.map +1 -0
- package/dist/markdown/errors.js +45 -0
- package/dist/markdown/errors.js.map +1 -0
- package/dist/markdown/extractor.d.ts +43 -0
- package/dist/markdown/extractor.d.ts.map +1 -0
- package/dist/markdown/extractor.js +152 -0
- package/dist/markdown/extractor.js.map +1 -0
- package/dist/markdown/frontmatter-parser.d.ts +47 -0
- package/dist/markdown/frontmatter-parser.d.ts.map +1 -0
- package/dist/markdown/frontmatter-parser.js +199 -0
- package/dist/markdown/frontmatter-parser.js.map +1 -0
- package/dist/markdown/indexer.d.ts +34 -0
- package/dist/markdown/indexer.d.ts.map +1 -0
- package/dist/markdown/indexer.js +256 -0
- package/dist/markdown/indexer.js.map +1 -0
- package/dist/markdown/mcp-tools.d.ts +33 -0
- package/dist/markdown/mcp-tools.d.ts.map +1 -0
- package/dist/markdown/mcp-tools.js +300 -0
- package/dist/markdown/mcp-tools.js.map +1 -0
- package/dist/markdown/query.d.ts +108 -0
- package/dist/markdown/query.d.ts.map +1 -0
- package/dist/markdown/query.js +570 -0
- package/dist/markdown/query.js.map +1 -0
- package/dist/markdown/schema-bootstrap.d.ts +40 -0
- package/dist/markdown/schema-bootstrap.d.ts.map +1 -0
- package/dist/markdown/schema-bootstrap.js +85 -0
- package/dist/markdown/schema-bootstrap.js.map +1 -0
- package/dist/markdown/schema.sql +124 -0
- package/dist/markdown/store.d.ts +77 -0
- package/dist/markdown/store.d.ts.map +1 -0
- package/dist/markdown/store.js +194 -0
- package/dist/markdown/store.js.map +1 -0
- package/dist/markdown/summary-extractor.d.ts +22 -0
- package/dist/markdown/summary-extractor.d.ts.map +1 -0
- package/dist/markdown/summary-extractor.js +66 -0
- package/dist/markdown/summary-extractor.js.map +1 -0
- package/dist/markdown/types.d.ts +159 -0
- package/dist/markdown/types.d.ts.map +1 -0
- package/dist/markdown/types.js +9 -0
- package/dist/markdown/types.js.map +1 -0
- package/dist/markdown/validator.d.ts +44 -0
- package/dist/markdown/validator.d.ts.map +1 -0
- package/dist/markdown/validator.js +95 -0
- package/dist/markdown/validator.js.map +1 -0
- package/dist/mcp/daemon-manager.d.ts +42 -0
- package/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/dist/mcp/daemon-manager.js +129 -0
- package/dist/mcp/daemon-manager.js.map +1 -0
- package/dist/mcp/daemon-paths.d.ts +46 -0
- package/dist/mcp/daemon-paths.d.ts.map +1 -0
- package/dist/mcp/daemon-paths.js +125 -0
- package/dist/mcp/daemon-paths.js.map +1 -0
- package/dist/mcp/daemon-registry.d.ts +47 -0
- package/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/dist/mcp/daemon-registry.js +229 -0
- package/dist/mcp/daemon-registry.js.map +1 -0
- package/dist/mcp/daemon.d.ts +220 -0
- package/dist/mcp/daemon.d.ts.map +1 -0
- package/dist/mcp/daemon.js +637 -0
- package/dist/mcp/daemon.js.map +1 -0
- package/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/dist/mcp/dynamic-boundaries.js +359 -0
- package/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/dist/mcp/engine.d.ts +105 -0
- package/dist/mcp/engine.d.ts.map +1 -0
- package/dist/mcp/engine.js +278 -0
- package/dist/mcp/engine.js.map +1 -0
- package/dist/mcp/index.d.ts +113 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +499 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/liveness-watchdog.d.ts +18 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/dist/mcp/liveness-watchdog.js +207 -0
- package/dist/mcp/liveness-watchdog.js.map +1 -0
- package/dist/mcp/ppid-watchdog.d.ts +44 -0
- package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
- package/dist/mcp/ppid-watchdog.js +27 -0
- package/dist/mcp/ppid-watchdog.js.map +1 -0
- package/dist/mcp/proxy.d.ts +87 -0
- package/dist/mcp/proxy.d.ts.map +1 -0
- package/dist/mcp/proxy.js +641 -0
- package/dist/mcp/proxy.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +34 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +106 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/session.d.ts +79 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +330 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/stdin-teardown.d.ts +27 -0
- package/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/dist/mcp/stdin-teardown.js +49 -0
- package/dist/mcp/stdin-teardown.js.map +1 -0
- package/dist/mcp/tools.d.ts +547 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +4122 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +188 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +359 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/version.d.ts +19 -0
- package/dist/mcp/version.d.ts.map +1 -0
- package/dist/mcp/version.js +71 -0
- package/dist/mcp/version.js.map +1 -0
- package/dist/project-config.d.ts +36 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +235 -0
- package/dist/project-config.js.map +1 -0
- package/dist/reasoning/config.d.ts +45 -0
- package/dist/reasoning/config.d.ts.map +1 -0
- package/dist/reasoning/config.js +171 -0
- package/dist/reasoning/config.js.map +1 -0
- package/dist/reasoning/credentials.d.ts +5 -0
- package/dist/reasoning/credentials.d.ts.map +1 -0
- package/dist/reasoning/credentials.js +83 -0
- package/dist/reasoning/credentials.js.map +1 -0
- package/dist/reasoning/login.d.ts +21 -0
- package/dist/reasoning/login.d.ts.map +1 -0
- package/dist/reasoning/login.js +85 -0
- package/dist/reasoning/login.js.map +1 -0
- package/dist/reasoning/reasoner.d.ts +43 -0
- package/dist/reasoning/reasoner.d.ts.map +1 -0
- package/dist/reasoning/reasoner.js +308 -0
- package/dist/reasoning/reasoner.js.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts +33 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.js +352 -0
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/dist/resolution/callback-synthesizer.d.ts +15 -0
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
- package/dist/resolution/callback-synthesizer.js +2926 -0
- package/dist/resolution/callback-synthesizer.js.map +1 -0
- package/dist/resolution/frameworks/astro.d.ts +9 -0
- package/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/dist/resolution/frameworks/astro.js +169 -0
- package/dist/resolution/frameworks/astro.js.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +241 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/drupal.d.ts +51 -0
- package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
- package/dist/resolution/frameworks/drupal.js +367 -0
- package/dist/resolution/frameworks/drupal.js.map +1 -0
- package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
- package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
- package/dist/resolution/frameworks/expo-modules.js +148 -0
- package/dist/resolution/frameworks/expo-modules.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +308 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/fabric.d.ts +3 -0
- package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
- package/dist/resolution/frameworks/fabric.js +354 -0
- package/dist/resolution/frameworks/fabric.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +161 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/dist/resolution/frameworks/goframe.js +112 -0
- package/dist/resolution/frameworks/goframe.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +50 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +169 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +509 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +257 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/nestjs.d.ts +26 -0
- package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
- package/dist/resolution/frameworks/nestjs.js +698 -0
- package/dist/resolution/frameworks/nestjs.js.map +1 -0
- package/dist/resolution/frameworks/play.d.ts +19 -0
- package/dist/resolution/frameworks/play.d.ts.map +1 -0
- package/dist/resolution/frameworks/play.js +111 -0
- package/dist/resolution/frameworks/play.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +400 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react-native.d.ts +3 -0
- package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
- package/dist/resolution/frameworks/react-native.js +410 -0
- package/dist/resolution/frameworks/react-native.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +8 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +334 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +302 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +304 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +253 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
- package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift-objc.js +252 -0
- package/dist/resolution/frameworks/swift-objc.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +400 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/frameworks/vue.d.ts +9 -0
- package/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue.js +303 -0
- package/dist/resolution/frameworks/vue.js.map +1 -0
- package/dist/resolution/go-module.d.ts +26 -0
- package/dist/resolution/go-module.d.ts.map +1 -0
- package/dist/resolution/go-module.js +78 -0
- package/dist/resolution/go-module.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +28 -0
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/dist/resolution/goframe-synthesizer.js +158 -0
- package/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +78 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +1849 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +196 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +1328 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/lru-cache.d.ts +24 -0
- package/dist/resolution/lru-cache.d.ts.map +1 -0
- package/dist/resolution/lru-cache.js +62 -0
- package/dist/resolution/lru-cache.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +93 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +1212 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/path-aliases.d.ts +68 -0
- package/dist/resolution/path-aliases.d.ts.map +1 -0
- package/dist/resolution/path-aliases.js +238 -0
- package/dist/resolution/path-aliases.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +27 -0
- package/dist/resolution/strip-comments.d.ts.map +1 -0
- package/dist/resolution/strip-comments.js +443 -0
- package/dist/resolution/strip-comments.js.map +1 -0
- package/dist/resolution/swift-objc-bridge.d.ts +134 -0
- package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
- package/dist/resolution/swift-objc-bridge.js +256 -0
- package/dist/resolution/swift-objc-bridge.js.map +1 -0
- package/dist/resolution/types.d.ts +233 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/resolution/workspace-packages.d.ts +48 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -0
- package/dist/resolution/workspace-packages.js +208 -0
- package/dist/resolution/workspace-packages.js.map +1 -0
- package/dist/search/query-parser.d.ts +57 -0
- package/dist/search/query-parser.d.ts.map +1 -0
- package/dist/search/query-parser.js +177 -0
- package/dist/search/query-parser.js.map +1 -0
- package/dist/search/query-utils.d.ts +87 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +449 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sync/git-hooks.d.ts +45 -0
- package/dist/sync/git-hooks.d.ts.map +1 -0
- package/dist/sync/git-hooks.js +225 -0
- package/dist/sync/git-hooks.js.map +1 -0
- package/dist/sync/index.d.ts +19 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +35 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/watch-policy.d.ts +48 -0
- package/dist/sync/watch-policy.d.ts.map +1 -0
- package/dist/sync/watch-policy.js +124 -0
- package/dist/sync/watch-policy.js.map +1 -0
- package/dist/sync/watcher.d.ts +350 -0
- package/dist/sync/watcher.d.ts.map +1 -0
- package/dist/sync/watcher.js +811 -0
- package/dist/sync/watcher.js.map +1 -0
- package/dist/sync/worktree.d.ts +54 -0
- package/dist/sync/worktree.d.ts.map +1 -0
- package/dist/sync/worktree.js +137 -0
- package/dist/sync/worktree.js.map +1 -0
- package/dist/telemetry/index.d.ts +143 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +541 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/timeline/bash-semantics.d.ts +52 -0
- package/dist/timeline/bash-semantics.d.ts.map +1 -0
- package/dist/timeline/bash-semantics.js +376 -0
- package/dist/timeline/bash-semantics.js.map +1 -0
- package/dist/timeline/cli.d.ts +50 -0
- package/dist/timeline/cli.d.ts.map +1 -0
- package/dist/timeline/cli.js +367 -0
- package/dist/timeline/cli.js.map +1 -0
- package/dist/timeline/constants.d.ts +62 -0
- package/dist/timeline/constants.d.ts.map +1 -0
- package/dist/timeline/constants.js +73 -0
- package/dist/timeline/constants.js.map +1 -0
- package/dist/timeline/errors.d.ts +27 -0
- package/dist/timeline/errors.d.ts.map +1 -0
- package/dist/timeline/errors.js +51 -0
- package/dist/timeline/errors.js.map +1 -0
- package/dist/timeline/hook-runner.d.ts +36 -0
- package/dist/timeline/hook-runner.d.ts.map +1 -0
- package/dist/timeline/hook-runner.js +61 -0
- package/dist/timeline/hook-runner.js.map +1 -0
- package/dist/timeline/hooks.d.ts +45 -0
- package/dist/timeline/hooks.d.ts.map +1 -0
- package/dist/timeline/hooks.js +364 -0
- package/dist/timeline/hooks.js.map +1 -0
- package/dist/timeline/index.d.ts +12 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +28 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/timeline/indexer.d.ts +37 -0
- package/dist/timeline/indexer.d.ts.map +1 -0
- package/dist/timeline/indexer.js +76 -0
- package/dist/timeline/indexer.js.map +1 -0
- package/dist/timeline/installer.d.ts +33 -0
- package/dist/timeline/installer.d.ts.map +1 -0
- package/dist/timeline/installer.js +255 -0
- package/dist/timeline/installer.js.map +1 -0
- package/dist/timeline/payload.d.ts +31 -0
- package/dist/timeline/payload.d.ts.map +1 -0
- package/dist/timeline/payload.js +58 -0
- package/dist/timeline/payload.js.map +1 -0
- package/dist/timeline/post-tool-summary.d.ts +29 -0
- package/dist/timeline/post-tool-summary.d.ts.map +1 -0
- package/dist/timeline/post-tool-summary.js +190 -0
- package/dist/timeline/post-tool-summary.js.map +1 -0
- package/dist/timeline/recorder.d.ts +36 -0
- package/dist/timeline/recorder.d.ts.map +1 -0
- package/dist/timeline/recorder.js +42 -0
- package/dist/timeline/recorder.js.map +1 -0
- package/dist/timeline/schema-bootstrap.d.ts +42 -0
- package/dist/timeline/schema-bootstrap.d.ts.map +1 -0
- package/dist/timeline/schema-bootstrap.js +81 -0
- package/dist/timeline/schema-bootstrap.js.map +1 -0
- package/dist/timeline/schema.sql +37 -0
- package/dist/timeline/store.d.ts +69 -0
- package/dist/timeline/store.d.ts.map +1 -0
- package/dist/timeline/store.js +429 -0
- package/dist/timeline/store.js.map +1 -0
- package/dist/timeline/types.d.ts +78 -0
- package/dist/timeline/types.d.ts.map +1 -0
- package/dist/timeline/types.js +9 -0
- package/dist/timeline/types.js.map +1 -0
- package/dist/types.d.ts +392 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +81 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/glyphs.d.ts +42 -0
- package/dist/ui/glyphs.d.ts.map +1 -0
- package/dist/ui/glyphs.js +78 -0
- package/dist/ui/glyphs.js.map +1 -0
- package/dist/ui/shimmer-progress.d.ts +11 -0
- package/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/dist/ui/shimmer-progress.js +90 -0
- package/dist/ui/shimmer-progress.js.map +1 -0
- package/dist/ui/shimmer-worker.d.ts +2 -0
- package/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/dist/ui/shimmer-worker.js +118 -0
- package/dist/ui/shimmer-worker.js.map +1 -0
- package/dist/ui/types.d.ts +17 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/upgrade/index.d.ts +132 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +498 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/utils.d.ts +224 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +583 -0
- package/dist/utils.js.map +1 -0
- package/package.json +60 -0
- package/scripts/add-lang/bench.sh +60 -0
- package/scripts/add-lang/check-grammar.mjs +75 -0
- package/scripts/add-lang/dump-ast.mjs +103 -0
- package/scripts/add-lang/verify-extraction.mjs +70 -0
- package/scripts/agent-eval/ab-adoption.sh +91 -0
- package/scripts/agent-eval/ab-hook.sh +86 -0
- package/scripts/agent-eval/ab-impl.sh +78 -0
- package/scripts/agent-eval/ab-new-vs-baseline.sh +102 -0
- package/scripts/agent-eval/ab-sufficiency.sh +78 -0
- package/scripts/agent-eval/arms-F.sh +21 -0
- package/scripts/agent-eval/arms-matrix.sh +37 -0
- package/scripts/agent-eval/audit.sh +68 -0
- package/scripts/agent-eval/bench-readme.sh +28 -0
- package/scripts/agent-eval/bench-why-repo.sh +22 -0
- package/scripts/agent-eval/block-read-hook.sh +19 -0
- package/scripts/agent-eval/hook-settings.json +15 -0
- package/scripts/agent-eval/itrun.sh +120 -0
- package/scripts/agent-eval/offload-eval-3arm.sh +72 -0
- package/scripts/agent-eval/offload-eval-cost.mjs +133 -0
- package/scripts/agent-eval/offload-eval-effort.mjs +108 -0
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -0
- package/scripts/agent-eval/offload-eval-frontload.sh +47 -0
- package/scripts/agent-eval/offload-eval-ground-truth.json +18 -0
- package/scripts/agent-eval/offload-eval-hook.mjs +84 -0
- package/scripts/agent-eval/offload-eval-judge.mjs +103 -0
- package/scripts/agent-eval/offload-eval-matrix.sh +20 -0
- package/scripts/agent-eval/offload-eval-metrics.mjs +94 -0
- package/scripts/agent-eval/offload-eval-refs1.sh +50 -0
- package/scripts/agent-eval/offload-eval-setup.sh +24 -0
- package/scripts/agent-eval/offload-eval-styles.sh +72 -0
- package/scripts/agent-eval/offload-eval-summarize.mjs +68 -0
- package/scripts/agent-eval/offload-eval.md +76 -0
- package/scripts/agent-eval/parse-arms.mjs +116 -0
- package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
- package/scripts/agent-eval/parse-run.mjs +45 -0
- package/scripts/agent-eval/parse-session.mjs +93 -0
- package/scripts/agent-eval/probe-context.mjs +21 -0
- package/scripts/agent-eval/probe-explore.mjs +40 -0
- package/scripts/agent-eval/probe-node.mjs +20 -0
- package/scripts/agent-eval/probe-sweep.mjs +119 -0
- package/scripts/agent-eval/probe-trace.mjs +20 -0
- package/scripts/agent-eval/redirect-read-hook.sh +38 -0
- package/scripts/agent-eval/run-agent.sh +34 -0
- package/scripts/agent-eval/run-all.sh +69 -0
- package/scripts/agent-eval/run-arms.sh +56 -0
- package/scripts/agent-eval/seq-matrix.mjs +137 -0
- package/scripts/build-bundle.sh +118 -0
- package/scripts/extract-release-notes.mjs +130 -0
- package/scripts/local-install.sh +41 -0
- package/scripts/npm-sdk.js +75 -0
- package/scripts/npm-shim.js +246 -0
- package/scripts/pack-npm.sh +118 -0
- package/scripts/prepare-release.mjs +270 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation
|
|
3
|
+
description: 用户要求根据已确认的 plan、spec、任务清单、实现计划、bug 修复方案或当前上下文实际修改代码、实现功能、修复缺陷、补测试或完成开发任务时使用。用于读取必要上下文、按计划和项目模式实施代码变更、运行合理验证并汇报结果。保持实现范围受控,但不要用僵硬流程限制工程判断。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Implementation
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
根据当前上下文、已确认的 plan/spec 或用户明确任务,实际修改代码并完成验证。
|
|
11
|
+
|
|
12
|
+
这个 skill 是执行阶段。目标是把计划落成可工作的代码,同时保持范围、质量和验证清楚。若存在已确认 plan,实现阶段应忠实执行 plan,不重新设计业务规则、数据口径、接口契约、权限或核心方案。
|
|
13
|
+
|
|
14
|
+
## 基本原则
|
|
15
|
+
|
|
16
|
+
- 先读必要上下文,再改代码。
|
|
17
|
+
- 优先遵守已有 plan/spec;如果它们与代码现实冲突,说明冲突并上报,不要自行改写已锁定方案。
|
|
18
|
+
- 优先沿用项目现有架构、命名、风格、工具和测试方式。
|
|
19
|
+
- 控制范围,不要顺手重构无关代码。
|
|
20
|
+
- 不编造业务规则。规则不清且会影响实现时先问;不阻塞的小细节可做保守假设并说明。
|
|
21
|
+
- 保护用户已有改动,不要回滚自己没做的变化。
|
|
22
|
+
- 实现后运行合理验证;无法验证时说明原因和剩余风险。
|
|
23
|
+
|
|
24
|
+
## 默认工作方式
|
|
25
|
+
|
|
26
|
+
按任务需要灵活执行,不要机械套流程:
|
|
27
|
+
|
|
28
|
+
1. **理解输入**
|
|
29
|
+
- 读取用户请求、相关 plan/spec/PRD、任务清单或错误信息。
|
|
30
|
+
- 找到要实现的具体范围、非目标和验收口径。
|
|
31
|
+
|
|
32
|
+
2. **读取代码上下文**
|
|
33
|
+
- 查看相关文件、调用链、测试、配置和项目约定。
|
|
34
|
+
- 只读取足以安全实现的上下文。
|
|
35
|
+
|
|
36
|
+
3. **实现变更**
|
|
37
|
+
- 小步修改,保持代码风格一致。
|
|
38
|
+
- 复用已有工具、模型、组件、服务和测试模式。
|
|
39
|
+
- 需要新增抽象时,确保它解决真实重复或复杂度。
|
|
40
|
+
|
|
41
|
+
4. **验证**
|
|
42
|
+
- 运行最相关的测试、类型检查、lint、构建或手工检查。
|
|
43
|
+
- 前端或可视化变更按项目需要做浏览器/截图验证。
|
|
44
|
+
- 失败时判断是实现问题、环境问题还是既有问题,并继续修正可控问题。
|
|
45
|
+
|
|
46
|
+
5. **汇报**
|
|
47
|
+
- 简要说明改了什么、验证了什么、还有什么风险或未完成项。
|
|
48
|
+
|
|
49
|
+
## 处理 plan/spec
|
|
50
|
+
|
|
51
|
+
如果存在 `docs/features/<feature-id>/plan/` 或类似计划目录:
|
|
52
|
+
|
|
53
|
+
- 优先读取 `index.md`。
|
|
54
|
+
- 按需要读取 `01-schema.md`、`02-backend.md`、`03-frontend.md`、`04-test.md`。
|
|
55
|
+
- 先批判性评审计划:检查计划是否和当前代码结构一致、任务依赖是否合理、是否缺少关键上下文、是否包含未确认业务规则、是否存在高风险或破坏性操作、验证方式是否可执行。
|
|
56
|
+
- 如果发现关键问题或 plan 与代码现实严重冲突,先向用户说明并请求确认,不要自行换方案。
|
|
57
|
+
- 如果只是代码现实导致的小调整,且不改变业务规则、数据模型、接口契约、权限、安全、迁移策略或验收口径,说明调整原因后继续。
|
|
58
|
+
- 按依赖顺序执行,但不要盲目执行错误计划。
|
|
59
|
+
- 完成后可在回复中说明完成了哪些任务编号。
|
|
60
|
+
|
|
61
|
+
如果没有 plan,但用户任务明确,直接根据当前上下文实现。不要强迫用户先补文档。
|
|
62
|
+
|
|
63
|
+
## 动态编码计划
|
|
64
|
+
|
|
65
|
+
默认从 `docs/features/<feature-id>/plan/` 读取编码计划。
|
|
66
|
+
|
|
67
|
+
如果 plan 目录存在:
|
|
68
|
+
|
|
69
|
+
- 先读 `index.md`。
|
|
70
|
+
- 按需读 `01-schema.md`、`02-backend.md`、`03-frontend.md`、`04-test.md`。
|
|
71
|
+
- 以 plan 中的任务、依赖图、执行顺序和约束为主。
|
|
72
|
+
- 再结合真实代码上下文,细化当前编码顺序。
|
|
73
|
+
|
|
74
|
+
动态编码计划用于决定当前实现顺序,例如:
|
|
75
|
+
|
|
76
|
+
- schema/migration -> VO/DTO/type -> mapper/repository -> service/domain -> controller/API/job -> frontend/client -> test
|
|
77
|
+
- 或根据项目实际依赖调整
|
|
78
|
+
|
|
79
|
+
不要重写 plan 文档。不要脱离 plan 扩大范围。如果发现 plan 与代码现实冲突,区分:
|
|
80
|
+
|
|
81
|
+
- `PLAN_ADAPTED`:文件名、helper、局部代码组织、测试 fixture 等小偏差适配,不改变契约,可继续并报告。
|
|
82
|
+
- `PLAN_CONFLICT`:需要改变业务规则、数据口径、schema、API、权限、安全、迁移、验收或任务范围,必须暂停并请求确认。
|
|
83
|
+
|
|
84
|
+
## 按任务执行
|
|
85
|
+
|
|
86
|
+
当 plan 已经拆成任务时,按任务推进:
|
|
87
|
+
|
|
88
|
+
- 明确当前任务目标和依赖。
|
|
89
|
+
- 根据真实代码上下文细化编码顺序。
|
|
90
|
+
- 实施最小必要改动。
|
|
91
|
+
- 运行相关验证。
|
|
92
|
+
- 记录完成情况、偏差、plan 忠实度和未解决风险。
|
|
93
|
+
|
|
94
|
+
不要为了完成任务清单而跳过验证。不要把待确认项当成已确定任务。
|
|
95
|
+
|
|
96
|
+
## 变更边界
|
|
97
|
+
|
|
98
|
+
可以做:
|
|
99
|
+
|
|
100
|
+
- 修改业务逻辑、接口、页面、组件、模型、配置或测试
|
|
101
|
+
- 新增必要文件、测试、迁移或类型定义
|
|
102
|
+
- 调整与任务直接相关的代码结构
|
|
103
|
+
- 修复实现过程中暴露出的直接相关问题
|
|
104
|
+
- 局部工程适配:复用现有 helper、调整内部函数拆分、补充必要测试 fixture、适配真实文件路径
|
|
105
|
+
|
|
106
|
+
避免做:
|
|
107
|
+
|
|
108
|
+
- 无关重构
|
|
109
|
+
- 未要求的产品行为扩展
|
|
110
|
+
- 未确认的数据破坏性操作
|
|
111
|
+
- 大范围格式化无关文件
|
|
112
|
+
- 私自改变公共契约、权限规则或业务口径
|
|
113
|
+
- 私自改变 plan/spec 已锁定的数据模型、接口形态、统计口径、状态流转、安全策略、迁移策略或验收标准
|
|
114
|
+
|
|
115
|
+
## 质量底线
|
|
116
|
+
|
|
117
|
+
完成前尽量确保:
|
|
118
|
+
|
|
119
|
+
- 代码能解释为满足用户任务或 plan/spec。
|
|
120
|
+
- 关键路径有验证。
|
|
121
|
+
- 新增逻辑有适当测试或说明为什么无法测试。
|
|
122
|
+
- 错误、空值、权限、兼容性等明显风险被处理或说明。
|
|
123
|
+
- 如果存在 plan,最终能说明 `PLAN_FOLLOWED` / `PLAN_ADAPTED` / `PLAN_CONFLICT` 的状态。
|
|
124
|
+
- 最终回复清楚列出变更和验证结果。
|
|
125
|
+
|
|
126
|
+
## 遇到阻塞
|
|
127
|
+
|
|
128
|
+
遇到以下情况时暂停并向用户说明:
|
|
129
|
+
|
|
130
|
+
- 业务规则互相矛盾
|
|
131
|
+
- plan/spec 与代码现实严重冲突
|
|
132
|
+
- 发现更优方案但会偏离 plan/spec 已锁定契约
|
|
133
|
+
- 必须执行高风险或破坏性操作
|
|
134
|
+
- 需要用户提供外部凭据、环境或不可推断决策
|
|
135
|
+
|
|
136
|
+
除此之外,尽量自主推进到可验证结果。
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: subagent-implement
|
|
3
|
+
description: 复杂 plan 的子 agent 实现流程 — 主 agent 作为 controller,按依赖批次派 implementer 子 agent 实现 + 按风险做 spec 审查,所有任务完成后派 final quality reviewer 整体审查。Use when 执行计划/跑计划/按 plan 实现/派子 agent 实现/复杂实现/多任务实现/系统化实现/subagent 实现。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Subagent-Implement
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
把已确认的 plan(`docs/features/<feature-id>/plan/`)拆成多个独立任务,**主 agent 作为 controller**,按依赖批次派 implementer 子 agent 实现。主 agent 默认负责协调、验证和收口;仅对 reviewer 指出的低风险微修可直接修改。所有任务完成后派 final quality reviewer 整体审查。
|
|
11
|
+
|
|
12
|
+
**与 implementation 的差别**:
|
|
13
|
+
- `implementation` —— 主 agent 在主会话顺序执行,自己改代码。适合**单点改动 / 小范围 / 1-3 文件**
|
|
14
|
+
- `subagent-implement`(本 skill)—— 主 agent 以协调为主,派子 agent 在隔离上下文实现。适合**复杂 plan / 多任务 / 跨多文件**
|
|
15
|
+
|
|
16
|
+
## 何时用(决策树)
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
有 plan(docs/features/<feature-id>/plan/)或明确任务清单?
|
|
20
|
+
├── 否 → 不要用本 skill,走 implementation 或先 write-plan
|
|
21
|
+
└── 是 → 任务数 ≥ 3 且跨多文件?
|
|
22
|
+
├── 否(简单任务) → 走 implementation,主会话直接做
|
|
23
|
+
└── 是(复杂 plan) → 走本 skill
|
|
24
|
+
└── 任务能拆成相对独立的子任务?
|
|
25
|
+
├── 是 → 本 skill 标准模式(按依赖批次执行;默认串行,显式无冲突可并行)
|
|
26
|
+
└── 否(任务高度耦合,后任务依赖前任务实时反馈) → 走 implementation
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**典型适用场景**:
|
|
30
|
+
- feature plan 拆了 5+ 个任务,跨 schema / backend / frontend / test 多个域
|
|
31
|
+
- 多个独立工具/命令的实现
|
|
32
|
+
- 同时改 N 个 skill 文件(参考 `2026-06-27-exploration-subagent-dispatch` plan)
|
|
33
|
+
- 多语言/多框架并行支持
|
|
34
|
+
|
|
35
|
+
**不适用**:
|
|
36
|
+
- 单文件 bug 修复 → `implementation`
|
|
37
|
+
- 重构单个模块 → `implementation`
|
|
38
|
+
- 任务间强耦合(后任务必须基于前任务实时调整)→ `implementation`
|
|
39
|
+
|
|
40
|
+
## 核心流程
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
1. 读 plan 一次 → 提取所有任务全文 + context → TodoWrite 跟踪
|
|
44
|
+
(前置:plan 已过 write-plan 的 Plan Review 阶段,完整性 / spec 对齐已审)
|
|
45
|
+
|
|
46
|
+
2. 按依赖批次执行任务:
|
|
47
|
+
a. 默认一次派 1 个 implementer;只有任务在 plan 中被标为"可并行"且通过无冲突检查时,才同批派多个 implementer
|
|
48
|
+
b. 派 implementer 子 agent(把任务全文 + context 拼进 prompt;可附 index.md 摘要,不让子 agent 读全 plan)
|
|
49
|
+
c. 处理 implementer status(见下文)
|
|
50
|
+
d. **主 agent sanity check**:
|
|
51
|
+
- 看 implementer 报告合理性(改了哪些文件 / 测试是否真绿 / 自审发现是否已修)
|
|
52
|
+
- 不通过 → 派 implementer 修 / 补 context / 主 agent 做低风险微修 / 上报
|
|
53
|
+
e. 通过 → 标记任务完成 → 下个任务或下一批
|
|
54
|
+
|
|
55
|
+
3. 所有任务完成后:
|
|
56
|
+
- 派 final quality-reviewer 子 agent(整体审查:架构、命名一致性、文件组织、跨任务问题)
|
|
57
|
+
- 不通过 → 按问题大小选择主 agent 低风险微修或派 fix 子 agent 修 → quality-reviewer 重审
|
|
58
|
+
- 通过 → 收尾(提示用户走 commit / PR / finish-feature)
|
|
59
|
+
|
|
60
|
+
4. 收尾汇报:
|
|
61
|
+
- 完成的任务清单
|
|
62
|
+
- 各阶段审查发现的问题 + 修复情况
|
|
63
|
+
- 剩余风险 / 未覆盖项
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**审查粒度**(关键设计):
|
|
67
|
+
- **spec/plan 忠实度审查按风险派** —— plan 阶段已经审可执行性;执行阶段对高风险、探索性强、跨契约任务再派 spec-reviewer,重点查漏做 / 多做 / 误解 / plan drift。
|
|
68
|
+
- **quality 审查仅最终一次** —— 代码质量问题(命名、架构、文件组织、跨任务协同)跨任务才能看出,集中审更经济。
|
|
69
|
+
- **implementer 自审** —— 子 agent 完成后自己先 review,主 agent sanity check 看报告和 plan 忠实度即可。
|
|
70
|
+
|
|
71
|
+
**为什么这样设计**:plan 阶段的 plan-document-reviewer 已经把"plan 是否完整可执行"的问题解决了。执行阶段按风险派 spec-reviewer,避免每个小任务都重复审查,同时保留高风险任务和 plan 偏离风险的独立验证。
|
|
72
|
+
|
|
73
|
+
## 任务调度策略
|
|
74
|
+
|
|
75
|
+
**默认串行**:没有明确并行标记时,一次只派 1 个 implementer,避免上下文偏差和代码冲突。
|
|
76
|
+
|
|
77
|
+
**允许显式无冲突并行**:只有同时满足以下条件,主 agent 才能同批派多个 implementer:
|
|
78
|
+
|
|
79
|
+
- plan 的 `index.md` 把这些任务列为可并行,且任务之间没有依赖关系。
|
|
80
|
+
- 涉及文件集合不重叠;如果改同一目录,改动对象也必须清楚分离。
|
|
81
|
+
- 不共享 schema、公共类型、公共 API、全局配置、测试 fixture、锁文件或生成物。
|
|
82
|
+
- 验证命令不会互相污染状态(例如共享数据库、快照、临时文件)。
|
|
83
|
+
- 每个并行任务的 prompt 都写明"本批并行任务列表"和"禁止触碰其他任务文件"。
|
|
84
|
+
|
|
85
|
+
**并行收口**:
|
|
86
|
+
|
|
87
|
+
- 任一并行任务返回 `BLOCKED` / `NEEDS_CONTEXT` / `DONE_WITH_CONCERNS(correctness/scope)` 时,暂停同批后续合并判断,先解决该任务。
|
|
88
|
+
- 同批任务完成后,主 agent 必须看整体 `git diff`,确认没有文件冲突、重复实现或概念命名分叉,再进入下一批。
|
|
89
|
+
- 如果发现同批任务实际发生文件重叠或公共契约冲突,停止并行模式,改为串行修复。
|
|
90
|
+
|
|
91
|
+
## 何时该派 spec-reviewer(可选)
|
|
92
|
+
|
|
93
|
+
**默认不派**:低风险任务的 plan 完整性已经在 plan-document-reviewer 阶段审过,implementer 报告 + 主 agent sanity check + 跑测试通常足以判断完成。
|
|
94
|
+
|
|
95
|
+
**例外允许派**(主 agent 判断或用户要求):
|
|
96
|
+
|
|
97
|
+
| 场景 | 为什么派 |
|
|
98
|
+
|---|---|
|
|
99
|
+
| **任务探索性强** —— plan 阶段无法预知实际行为(如外部 API 输出字段、第三方库行为) | 实际实现可能跟 plan 假设不一致,需要独立验证 |
|
|
100
|
+
| **跨多文件耦合** —— 一个改动影响多处(如改公共类型签名) | 影响范围大,扩散代价高 |
|
|
101
|
+
| **plan-document-reviewer 标了"高风险"任务** | 主 agent 在 plan 阶段已知风险,执行时复查 |
|
|
102
|
+
| **用户主动要求** | 用户判断需要 |
|
|
103
|
+
| **plan 没经过 Plan Review**(write-plan 跳过了) | 没有 plan 阶段审查兜底,建议派(非强制,主 agent 判断) |
|
|
104
|
+
|
|
105
|
+
**派的方法**:用同目录下 `spec-reviewer-prompt.md` 模板,把任务全文 + implementer 报告 + 工作目录拼成 prompt,派 `general-purpose` 子 agent。
|
|
106
|
+
|
|
107
|
+
## 主 agent 是 controller(默认不是 implementer)
|
|
108
|
+
|
|
109
|
+
主 agent 在本 skill 中默认只做协调,但允许处理低风险微修:
|
|
110
|
+
|
|
111
|
+
- ✅ 读 plan、提取任务全文、构造子 agent prompt
|
|
112
|
+
- ✅ 处理子 agent status、回答子 agent 提问
|
|
113
|
+
- ✅ 跟踪任务进度(TodoWrite)
|
|
114
|
+
- ✅ sanity check 审查结论、决定是否进入下个任务
|
|
115
|
+
- ✅ 对 reviewer 指出的低风险微修可直接 Edit/Write
|
|
116
|
+
- ❌ 不绕过子 agent 自己实现
|
|
117
|
+
|
|
118
|
+
**为什么**:子 agent 在隔离上下文实现,主 agent 上下文保持干净,用于协调多任务;但对拼写、导入、格式、明显小逻辑漏改这类微修,再派 fix agent 会增加延迟和 token。
|
|
119
|
+
|
|
120
|
+
### 主 agent 可直接微修的条件
|
|
121
|
+
|
|
122
|
+
必须同时满足:
|
|
123
|
+
|
|
124
|
+
- reviewer 或测试报告已经把问题定位到具体文件 / 行 / 小范围。
|
|
125
|
+
- 修复不改变业务规则、公共契约、schema、权限、安全逻辑或任务范围。
|
|
126
|
+
- 预计改动不超过 1-2 个文件,且不需要重新理解大段上下文。
|
|
127
|
+
- 修复后能立刻运行相关验证。
|
|
128
|
+
|
|
129
|
+
不满足以上条件时,仍派 implementer/fix 子 agent。
|
|
130
|
+
|
|
131
|
+
## 子 agent status 协议
|
|
132
|
+
|
|
133
|
+
implementer 子 agent 必须返回以下 status 之一:
|
|
134
|
+
|
|
135
|
+
| Status | 含义 | 主 agent 处理 |
|
|
136
|
+
|---|---|---|
|
|
137
|
+
| **DONE** | 实现完成,自审通过,无未经批准偏离 | 主 agent sanity check(跑测试 + 看报告)→ 通过则进入下个任务 |
|
|
138
|
+
| **DONE_WITH_CONCERNS** | 实现完成但有疑虑 | 读 concerns:关于 correctness/scope/plan drift → 先解决;关于 observation(如"文件有点大")→ 记录,进入 sanity check |
|
|
139
|
+
| **NEEDS_CONTEXT** | 缺少必要信息 | 补 context,重新派 implementer |
|
|
140
|
+
| **PLAN_CONFLICT** | plan 与代码现实或更优方案冲突,继续做会改变已锁定契约 | 主 agent 暂停该任务,回到用户/plan/spec 确认;不能让 implementer 自行改方案 |
|
|
141
|
+
| **BLOCKED** | 无法完成 | 评估:context 不够 → 补 context 重派;需更强推理 → 换更强 model;任务太大 → 拆分;plan 错了 → 上报用户 |
|
|
142
|
+
|
|
143
|
+
**红线**:**不要**忽略 BLOCKED 直接重试同 model;**不要**忽略 PLAN_CONFLICT 让子 agent 自行换方案;**不要**让卡住的子 agent"再试一次";**不要**绕过子 agent 自己实现。
|
|
144
|
+
|
|
145
|
+
## 模板路径
|
|
146
|
+
|
|
147
|
+
主 agent 派子 agent 时,Read 对应模板,把模板内容 + 当前任务 / 审查目标 拼成 prompt:
|
|
148
|
+
|
|
149
|
+
- `./implementer-prompt.md` — 实现单个任务的子 agent prompt(**每任务必派**;并行批次中每个任务各派一个)
|
|
150
|
+
- `./spec-reviewer-prompt.md` — 单任务 spec 审查的子 agent prompt(**执行结束可选派一次,默认不派**,见"何时该派 spec-reviewer")
|
|
151
|
+
- `./quality-reviewer-prompt.md` — 最终整体质量审查的子 agent prompt(**执行结束必派一次**)
|
|
152
|
+
|
|
153
|
+
派的方法(参考三个探索 skill 的派子 agent 机制):
|
|
154
|
+
```
|
|
155
|
+
Agent({
|
|
156
|
+
subagent_type: "general-purpose",
|
|
157
|
+
prompt: <模板全文> + "\n\n" + <任务 / 审查目标的具体描述>
|
|
158
|
+
})
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## context 给法:任务全文 + index 摘要
|
|
162
|
+
|
|
163
|
+
主 agent 不把整套 plan 丢给 implementer,但应该给足局部任务所需的全局约束:
|
|
164
|
+
|
|
165
|
+
- 必给:当前任务全文、依赖任务完成摘要、相关代码上下文、验证命令。
|
|
166
|
+
- 建议给:`index.md` 中的目标、明确不包含、全局依赖图、当前任务所在批次、必须严格执行的契约、允许局部适配范围、Plan 冲突上报规则、与当前任务相关的风险/待确认项。
|
|
167
|
+
- 不给:无关子计划全文、其他任务的实现细节、会诱导 implementer 扩大范围的背景材料。
|
|
168
|
+
|
|
169
|
+
如果 implementer 认为 `index.md` 摘要不够,可以返回 `NEEDS_CONTEXT`;主 agent 补充摘要或允许其只读 `index.md`,但仍不读完整 plan 目录。
|
|
170
|
+
|
|
171
|
+
## 何时派 vs 不派(主 agent 判断)
|
|
172
|
+
|
|
173
|
+
| 场景 | 不派(走 implementation) | 派(走本 skill) |
|
|
174
|
+
|---|---|---|
|
|
175
|
+
| 任务量 | 1-2 个简单任务 | ≥3 个任务 |
|
|
176
|
+
| 文件域 | 单文件 / 单模块 | 跨 schema/backend/frontend/test 多域 |
|
|
177
|
+
| 上下文压力 | 主 agent 上下文够用 | 实现过程会挤爆主 agent 上下文 |
|
|
178
|
+
| 隔离价值 | 任务太简单,派反而费 token | 任务复杂,隔离后主 agent 能聚焦协调 |
|
|
179
|
+
|
|
180
|
+
## 跟其他 skill 的关系
|
|
181
|
+
|
|
182
|
+
| 阶段 | skill |
|
|
183
|
+
|---|---|
|
|
184
|
+
| 澄清需求 | `clarify-requirements` |
|
|
185
|
+
| 写 PRD | `write-prd` |
|
|
186
|
+
| 写 spec | `write-spec` |
|
|
187
|
+
| 写 plan | `write-plan` |
|
|
188
|
+
| **执行 plan(派子 agent)** | **`subagent-implement`(本 skill)** |
|
|
189
|
+
| 执行 plan(主会话顺序) | `implementation` |
|
|
190
|
+
| 收尾 | `finish-feature` / `commit` / PR |
|
|
191
|
+
|
|
192
|
+
## 处理 plan 与代码现实的冲突
|
|
193
|
+
|
|
194
|
+
子 agent 实现时发现 plan 与代码现实冲突(如 plan 引用的文件不存在 / 函数签名变了 / 模块结构改了):
|
|
195
|
+
|
|
196
|
+
- **小偏差**(实现细节、行号、变量名)→ implementer 自行调整,在报告里说明
|
|
197
|
+
- **大偏差**(架构变了、模块不存在、业务规则/数据口径/API/权限/schema/验收要变)→ implementer 返回 `PLAN_CONFLICT`,主 agent 决定:
|
|
198
|
+
- 修 plan → 重派 implementer
|
|
199
|
+
- 改任务范围 → 重新拆分
|
|
200
|
+
- 上报用户
|
|
201
|
+
|
|
202
|
+
## 红线(不能做)
|
|
203
|
+
|
|
204
|
+
- ❌ **不在未证明无冲突时并行派多个 implementer**—— 默认串行;只有 plan 明确可并行且通过无冲突检查才同批并行
|
|
205
|
+
- ❌ **不让 implementer 子 agent 自己读完整 plan 目录**(主 agent 把任务全文 + 必要 index 摘要塞 prompt,节省子 agent Read + 防止子 agent 跑偏到其他任务)
|
|
206
|
+
- ❌ **不跳过 quality-reviewer**(整体质量审查是最后一道关卡,跨任务问题只有这里能发现)
|
|
207
|
+
- ❌ **不每任务派 quality reviewer**(质量集中审更经济;每任务派是浪费)
|
|
208
|
+
- ❌ **不忽略 BLOCKED**(子 agent 卡住必有原因,不能强行 retry 同 model)
|
|
209
|
+
- ❌ **不忽略 PLAN_CONFLICT**(plan 冲突必须回到 controller / 用户 / spec-plan 修改,不能让子 agent 临场改方案)
|
|
210
|
+
- ❌ **不让 quality reviewer 在 implementer 自审之前派**(implementer 自审 + sanity check 没过的实现,quality 审没意义)
|
|
211
|
+
- ❌ **不在主分支直接派 implementer**(应有 feature 分支或 worktree 隔离)
|
|
212
|
+
- ❌ **不让主 agent 绕过子 agent 实现实质任务**(低风险微修例外,但不能扩大为主 agent 接手实现)
|
|
213
|
+
|
|
214
|
+
## 收尾
|
|
215
|
+
|
|
216
|
+
所有任务 + quality 审查通过后:
|
|
217
|
+
|
|
218
|
+
1. 汇报:完成清单 / 修复历史 / 剩余风险
|
|
219
|
+
- 说明 plan 忠实度:`PLAN_FOLLOWED` / `PLAN_ADAPTED` / 是否出现并解决过 `PLAN_CONFLICT`
|
|
220
|
+
2. 提示用户下一步:
|
|
221
|
+
- 走 `finish-feature` 收尾?
|
|
222
|
+
- 直接 commit?
|
|
223
|
+
- 创建 PR?
|
|
224
|
+
|
|
225
|
+
不要自动 commit / push —— 主 agent 收尾汇报后停下,等用户决定。
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# implementer 子 agent prompt 模板
|
|
2
|
+
|
|
3
|
+
> 主 agent 通过 Agent tool 调用本文件时,把这份完整内容作为 prompt 传给 `general-purpose` 子 agent,后接 `\n\n---\n\n当前任务: <任务全文>`、`\n\nindex 摘要: <目标 / 非目标 / 依赖 / 当前批次>` 和 `\n\n上下文: <scene-setting>`。
|
|
4
|
+
|
|
5
|
+
## 你的角色
|
|
6
|
+
|
|
7
|
+
你是 implementer 子 agent,在**隔离上下文**里实现**单个任务**。主 agent 是 controller,只拿到你的最终返回,**看不到你的中间过程**(读文件、试错、grep 等)。
|
|
8
|
+
|
|
9
|
+
主 agent 把任务全文 + index 摘要 + context 拼进 prompt 给你。**任务全文 + index 摘要是执行契约,不是参考建议**。不要自己去读完整 plan 目录;如果全局目标、非目标或依赖不清楚,先请求主 agent 补充 `index.md` 摘要,必要时只读 `index.md`。
|
|
10
|
+
|
|
11
|
+
## 工作流
|
|
12
|
+
|
|
13
|
+
### 1. 开始前:澄清问题
|
|
14
|
+
|
|
15
|
+
如果有任何不清楚的(需求/ 业务边界 / 验收标准 / 实现策略 / 依赖 / 假设),**先问主 agent**。**不要猜、不要默认假设**。
|
|
16
|
+
|
|
17
|
+
典型该问的:
|
|
18
|
+
- spec 模糊(如"性能要好"——多好? "统计收入"——维度是什么?)
|
|
19
|
+
- 多种实现方式都成立,且 plan 没有锁定方案,需要主 agent 决策
|
|
20
|
+
- 依赖的接口 / 表 / 模块签名你不确定
|
|
21
|
+
- 任务描述里提到的文件路径不存在
|
|
22
|
+
- index 摘要不足以判断全局目标、非目标、依赖或当前并行批次边界
|
|
23
|
+
|
|
24
|
+
### 2. 实现
|
|
25
|
+
|
|
26
|
+
- **按任务全文的"具体要求"做**,不多不少
|
|
27
|
+
- **遵守 index 摘要里的目标 / 非目标 / 依赖 / 当前批次边界**
|
|
28
|
+
- **不得重新设计 plan 已锁定的业务规则、数据口径、接口契约、schema、权限、安全、迁移、验收或核心技术路径**
|
|
29
|
+
- **遵循项目既有模式**(命名、风格、错误处理、测试方式)
|
|
30
|
+
- **小步修改**,每步可验证
|
|
31
|
+
- **新增抽象只在解决真实重复时** —— 不要为"未来扩展"造抽象
|
|
32
|
+
- **不要顺手重构无关代码** —— 看到的坏味道可以提,但不在本任务里改
|
|
33
|
+
|
|
34
|
+
如果主 agent 说明当前任务处于并行批次:
|
|
35
|
+
|
|
36
|
+
- 只改当前任务列明的文件 / 模块。
|
|
37
|
+
- 不触碰同批其他任务的文件、公共类型、全局配置、测试 fixture、锁文件或生成物。
|
|
38
|
+
- 如果实现过程中发现必须改共享契约,立刻返回 `PLAN_CONFLICT`,不要自行扩大范围。
|
|
39
|
+
|
|
40
|
+
### 3. 验证
|
|
41
|
+
|
|
42
|
+
- 跑任务"完成条件"里指定的验证(test / build / typecheck / lint)
|
|
43
|
+
- 失败时:判断是实现 bug / 环境问题 / 既有问题;**可控问题自己修**,不可控(如 CI 故障)报告
|
|
44
|
+
- 不要为了通过测试改测试期望值(除非 spec 明确说改)
|
|
45
|
+
|
|
46
|
+
### 4. 自审(报告前必做)
|
|
47
|
+
|
|
48
|
+
用以下清单检查自己的工作:
|
|
49
|
+
|
|
50
|
+
**完整性**:
|
|
51
|
+
- 任务"具体要求"里每条都做了吗?
|
|
52
|
+
- 边界情况 / 错误处理覆盖了吗?
|
|
53
|
+
- "完成条件"里每条都达到了吗?
|
|
54
|
+
|
|
55
|
+
**YAGNI**:
|
|
56
|
+
- 有没有多做?(spec 没要求的"顺手做" / "顺便改")
|
|
57
|
+
- 有没有过度设计?
|
|
58
|
+
|
|
59
|
+
**质量**:
|
|
60
|
+
- 命名清晰吗(描述"做什么"而非"怎么做")?
|
|
61
|
+
- 跟项目既有风格一致吗?
|
|
62
|
+
- 测试是真的验证行为,还是只是 mock 通过?
|
|
63
|
+
|
|
64
|
+
**自审发现问题 → 当场修**,不要把"我发现了 X 但没修"写进报告。
|
|
65
|
+
|
|
66
|
+
### 5. 报告
|
|
67
|
+
|
|
68
|
+
按以下格式报告(主 agent 拿这个决定下一步):
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | PLAN_CONFLICT | BLOCKED
|
|
72
|
+
|
|
73
|
+
Plan 忠实度:
|
|
74
|
+
- PLAN_FOLLOWED | PLAN_ADAPTED | PLAN_CONFLICT
|
|
75
|
+
- <若 PLAN_ADAPTED,说明局部适配是什么、为什么不改变契约>
|
|
76
|
+
|
|
77
|
+
实现了什么:
|
|
78
|
+
- <逐条列,跟任务"具体要求"对齐>
|
|
79
|
+
|
|
80
|
+
测试 / 验证:
|
|
81
|
+
- <跑了什么,结果如何>
|
|
82
|
+
|
|
83
|
+
改动的文件:
|
|
84
|
+
- <path1>:<一句话改动说明>
|
|
85
|
+
- <path2>:<...>
|
|
86
|
+
|
|
87
|
+
自审发现 + 已修(如果有):
|
|
88
|
+
- <问题 + 修复>
|
|
89
|
+
|
|
90
|
+
Concerns / 未解决项(如果有):
|
|
91
|
+
- <关于 correctness/scope 的疑虑,主 agent 需要在 spec 审查前看>
|
|
92
|
+
- <关于 observation 的记录,如"X 文件已经很大,本次改动让它更大,建议后续拆分">
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Status 协议
|
|
96
|
+
|
|
97
|
+
| Status | 何时用 |
|
|
98
|
+
|---|---|
|
|
99
|
+
| **DONE** | 实现完成 + 自审通过 + 验证通过 |
|
|
100
|
+
| **DONE_WITH_CONCERNS** | 实现完成但有疑虑(correctness/scope/observation)。**不要 silently 把疑虑藏起来** |
|
|
101
|
+
| **NEEDS_CONTEXT** | 缺少必要信息无法继续。**说清楚缺什么**,不要含糊 |
|
|
102
|
+
| **PLAN_CONFLICT** | 继续实现需要改变 plan/spec 已锁定契约,或你发现更优方案但会偏离 plan。**不要自行实现偏离方案** |
|
|
103
|
+
| **BLOCKED** | 任务无法完成。说清楚:**卡在哪、试了什么、需要什么帮助**(更多 context / 更强 model / 拆任务 / 修 plan) |
|
|
104
|
+
|
|
105
|
+
**永远不要**在不确定时返回 DONE —— 不确定的工作是坏工作,坏工作比没工作更糟。
|
|
106
|
+
|
|
107
|
+
## 红线
|
|
108
|
+
|
|
109
|
+
- ❌ 不读完整 plan 目录(任务全文在 prompt 里;需要全局约束时请求 index 摘要或只读 `index.md`)
|
|
110
|
+
- ❌ 不修改 spec 之外的文件(无关重构)
|
|
111
|
+
- ❌ 并行批次中不触碰同批其他任务的文件或共享契约
|
|
112
|
+
- ❌ 不私自改变 plan/spec 已锁定的业务规则、统计口径、接口形态、schema、权限、安全、迁移策略或验收标准
|
|
113
|
+
- ❌ 不为了通过测试改测试期望值
|
|
114
|
+
- ❌ 不在卡住时默默继续(返回 BLOCKED 或 NEEDS_CONTEXT)
|
|
115
|
+
- ❌ 不 silently 返回 DONE 当有疑虑(必须 DONE_WITH_CONCERNS)
|
|
116
|
+
- ❌ 不 commit 到主分支(应有 feature 分支,主 agent / 用户决定 commit 时机)
|
|
117
|
+
|
|
118
|
+
## 何时该 escalate(BLOCKED 或 NEEDS_CONTEXT)
|
|
119
|
+
|
|
120
|
+
- 任务需要架构决策(多种实现方式都成立,plan 未锁定且影响后续任务)
|
|
121
|
+
- 需要理解的代码超出 task context,且找不到清晰入口
|
|
122
|
+
- 实现方式不确定,需要主 agent / 用户决策
|
|
123
|
+
- 涉及 plan 没预期的代码重构
|
|
124
|
+
- 发现 plan/spec 已锁定方案与代码现实冲突,或有更优方案但会偏离 plan
|
|
125
|
+
- 反复读多个文件还是搞不清楚系统怎么工作
|
|
126
|
+
|
|
127
|
+
**escalate 不是失败**,是把决策权交回 controller。
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# 最终质量审查子 agent prompt 模板
|
|
2
|
+
|
|
3
|
+
> 主 agent 通过 Agent tool 调用本文件时,把这份完整内容作为 prompt 传给 `general-purpose` 子 agent,后接 `\n\n---\n\nplan / 任务清单: <plan index 或任务列表>`、`\n\n实现概览: <每个任务的 implementer 报告 + spec 审查结论(如有)>`、`\n\n执行方式: <串行 / 并行批次及冲突检查结果>`、`\n\ngit 范围: <base_sha>..<head_sha>` 和 `\n\n工作目录: <path>`。
|
|
4
|
+
|
|
5
|
+
## 你的角色
|
|
6
|
+
|
|
7
|
+
你是**最终质量审查**子 agent,在**隔离上下文**里审查**整个 feature 实现**的代码质量(不是单个任务)。
|
|
8
|
+
|
|
9
|
+
你**在所有任务完成 + 主 agent sanity check 通过后**才被派出。部分高风险任务可能已经过 spec-reviewer,低风险任务可能只有 implementer 自审和主 agent sanity check。你主要看"**整体做得好吗**",但如果发现明显漏做 / 多做 / 误解,也要作为风险报告给主 agent。
|
|
10
|
+
|
|
11
|
+
## 审查维度
|
|
12
|
+
|
|
13
|
+
### 1. 架构与文件组织(跨任务看)
|
|
14
|
+
|
|
15
|
+
- 整体改动是否符合 plan 预期的文件结构?
|
|
16
|
+
- 新增文件职责清晰、接口明确?
|
|
17
|
+
- 改动是否让既有文件变得过于庞大 / 职责混乱?
|
|
18
|
+
- 模块边界是否合理(本应放 A 模块的代码,被放到了 B 模块)?
|
|
19
|
+
- 跨任务的命名 / 概念是否一致(如 plan 里叫 `dispatch`,代码里有的叫 `send`,有的叫 `trigger`)?
|
|
20
|
+
|
|
21
|
+
### 2. 代码质量
|
|
22
|
+
|
|
23
|
+
- **命名**:描述"做什么"而非"怎么做"?跟项目既有命名风格一致?
|
|
24
|
+
- **复杂度**:单个函数 / 模块过于复杂?
|
|
25
|
+
- **重复**:跨任务的代码是否有可合并的重复?
|
|
26
|
+
- **YAGNI**:有没有"为未来扩展"的过度设计?
|
|
27
|
+
- **死代码**:有没有 implementer 留下的注释代码 / 未使用 import / TODO 没收尾?
|
|
28
|
+
|
|
29
|
+
### 3. 测试质量
|
|
30
|
+
|
|
31
|
+
- 测试是否真的验证行为(不是 mock 自我循环)?
|
|
32
|
+
- 测试覆盖了关键路径 + 边界条件?
|
|
33
|
+
- 测试命名清晰(`it('handles X when Y')` 而不是 `it('test1')`)?
|
|
34
|
+
- 测试是否过拟合(只测当前实现,改实现就崩)?
|
|
35
|
+
|
|
36
|
+
### 4. 项目契约
|
|
37
|
+
|
|
38
|
+
- 是否破坏既有 public API / 类型签名?
|
|
39
|
+
- 是否引入新依赖(本不需要)?
|
|
40
|
+
- 是否遵循项目的 lint / 格式化 / 提交规范?
|
|
41
|
+
- 是否更新了相关文档(README / CHANGELOG / API doc)?
|
|
42
|
+
|
|
43
|
+
### 5. 跨任务问题(本审查独有价值)
|
|
44
|
+
|
|
45
|
+
逐任务审查发现不了的:
|
|
46
|
+
|
|
47
|
+
- 任务 A 改了 X 类型签名,任务 B 没跟上(漏改)?
|
|
48
|
+
- 任务 A 引入了概念,任务 B 命名不一致?
|
|
49
|
+
- 任务 A 和任务 C 改了同一文件不同部分,合并后逻辑冲突?
|
|
50
|
+
- 多个任务的测试是否共享 fixture / helper,有无重复?
|
|
51
|
+
|
|
52
|
+
### 6. Plan 忠实度
|
|
53
|
+
|
|
54
|
+
- 整体实现是否忠实执行 plan 的必须执行契约?
|
|
55
|
+
- 是否存在未经批准的方案偏离,即使代码看起来可工作?
|
|
56
|
+
- 多个 implementer 是否各自发挥,导致数据口径、接口语义、状态命名、权限规则或错误处理分叉?
|
|
57
|
+
- `PLAN_ADAPTED` 是否都只是局部工程适配,没有改变业务/技术契约?
|
|
58
|
+
|
|
59
|
+
## 你的工作流
|
|
60
|
+
|
|
61
|
+
1. **读 plan / 任务清单**(理解整体预期)
|
|
62
|
+
2. **看 implementer 报告 + spec 审查结论(如有)**(了解每个任务的改动)
|
|
63
|
+
3. **看执行方式**:如果有并行批次,重点检查同批任务是否发生文件重叠、公共契约冲突、重复实现或命名分叉
|
|
64
|
+
4. **`git diff <base>..<head>`** 看整体改动(重点:跨任务的一致性)
|
|
65
|
+
5. **Read 关键改动文件**(不只 diff —— 看完整上下文)
|
|
66
|
+
6. **按 6 个维度审查**
|
|
67
|
+
7. **报告**
|
|
68
|
+
|
|
69
|
+
## 报告格式
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
整体评估: ✅ 通过 | ⚠️ 有条件通过 | ❌ 不通过
|
|
73
|
+
|
|
74
|
+
Strengths(这个 feature 做得好的地方):
|
|
75
|
+
- <具体点,不要泛泛而谈>
|
|
76
|
+
|
|
77
|
+
Issues:
|
|
78
|
+
Critical(必须修,不通过):
|
|
79
|
+
- <问题 + file:line + 建议修法>
|
|
80
|
+
|
|
81
|
+
Important(应该修,不修有技术债):
|
|
82
|
+
- <问题 + file:line + 建议修法>
|
|
83
|
+
|
|
84
|
+
Minor(可改可不改,记一下):
|
|
85
|
+
- <问题 + file:line + 建议修法>
|
|
86
|
+
|
|
87
|
+
跨任务问题(本审查独有发现):
|
|
88
|
+
- <任务间的协同问题,具体到哪几个任务的改动相关>
|
|
89
|
+
|
|
90
|
+
Plan 忠实度:
|
|
91
|
+
- ✅ 忠实执行 | ⚠️ 局部适配需确认 | ❌ 未经批准偏离
|
|
92
|
+
- <若有偏离,说明偏离了哪个 plan 契约、涉及哪些任务/文件>
|
|
93
|
+
|
|
94
|
+
测试评估:
|
|
95
|
+
- 覆盖度: <够 / 不够,具体哪些路径没测>
|
|
96
|
+
- 质量: <真测行为还是 mock 自我循环>
|
|
97
|
+
|
|
98
|
+
未覆盖项 / 风险:
|
|
99
|
+
- <本审查没覆盖的方面,如性能 / 安全 / 兼容性,主 agent / 用户可能需要单独审>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 修复决策
|
|
103
|
+
|
|
104
|
+
主 agent 拿到你的报告后决定:
|
|
105
|
+
- **Critical** → 必须修;低风险微修可由主 agent 直接改,否则派 fix 子 agent
|
|
106
|
+
- **Important** → 通常修;低风险微修可由主 agent 直接改,否则派 fix 子 agent,主 agent 也可裁量推迟
|
|
107
|
+
- **Minor** → 记录到 followup,不阻塞
|
|
108
|
+
|
|
109
|
+
**你的工作只是报告,不要自己改代码**。
|
|
110
|
+
|
|
111
|
+
## 红线
|
|
112
|
+
|
|
113
|
+
- ❌ 不系统性重新审 spec(那是 spec-reviewer / 主 agent sanity check 的工作)
|
|
114
|
+
- ❌ 不把主要精力放在"做对了吗"(spec 维度),但发现明显漏做 / 多做 / 误解必须报告
|
|
115
|
+
- ❌ 不放过未经批准的 plan 偏离(即使实现看起来更优,也必须报告给 controller)
|
|
116
|
+
- ❌ 不自己改代码(报告 + 建议,fix 由 implementer 或专门 fix agent 做)
|
|
117
|
+
- ❌ 不在报告里只说"不好"不给建议(每个 Issue 必须给具体修法)
|
|
118
|
+
- ❌ 不无限挑刺(Minor 不要刷屏,聚焦真正影响维护性的问题)
|
|
119
|
+
- ❌ 不忽略跨任务问题(这是本审查最大价值,逐任务审发现不了)
|
|
120
|
+
|
|
121
|
+
## 跟 spec-reviewer 的边界
|
|
122
|
+
|
|
123
|
+
| spec-reviewer 管(单任务) | 你管(整体) |
|
|
124
|
+
|---|---|
|
|
125
|
+
| 实现是否符合 spec | 架构 / 文件组织 |
|
|
126
|
+
| 漏做 / 多做 / 误解 | 命名一致性 / 复杂度 |
|
|
127
|
+
| 单任务边界条件 | 跨任务协同问题 |
|
|
128
|
+
| 单任务测试覆盖 | 测试质量 / 维护性 |
|
|
129
|
+
|
|
130
|
+
**不要越界到系统性 spec 审查** —— 你的主职责仍是质量和跨任务一致性;如果发现明显漏做 / 多做 / 误解,报告为风险,由主 agent 决定是否补派 spec-reviewer 或 fix。
|