cgraphx 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.claude-template/FLOW-MAP.md +7 -5
- package/dist/.claude-template/commands/end.md +1 -1
- package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +2 -1
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +4 -2
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +5 -2
- package/dist/.claude-template/skills/iboc-check/SKILL.md +116 -0
- package/dist/.claude-template/skills/iboc-check/filler-prompt.md +75 -0
- package/dist/.claude-template/skills/implementation/SKILL.md +7 -0
- package/dist/.claude-template/skills/init-project-guides/SKILL.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
- package/dist/.claude-template/skills/write-api/assets/template-request.bru +3 -3
- package/dist/.claude-template/skills/write-api/references/bru-format.md +6 -6
- package/dist/.claude-template/skills/write-delivery-guide/SKILL.md +97 -0
- package/dist/.claude-template/skills/write-delivery-guide/template-change-type.md +120 -0
- package/dist/.claude-template/skills/write-delivery-guide/template-multi-role-flow.md +148 -0
- package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +23 -6
- package/dist/core/code/engine/cli/analyze-config.js +320 -0
- package/dist/core/code/engine/cli/analyze.js +1086 -0
- package/dist/core/code/engine/cli/cli-message.js +83 -0
- package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
- package/dist/core/code/engine/cli/embedding-dims.js +43 -0
- package/dist/core/code/engine/cli/format-elapsed.js +12 -0
- package/dist/core/code/engine/cli/help-i18n.js +144 -0
- package/dist/core/code/engine/cli/i18n/en.js +110 -0
- package/dist/core/code/engine/cli/i18n/index.js +47 -0
- package/dist/core/code/engine/cli/i18n/resources.js +9 -0
- package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
- package/dist/core/code/engine/cli/lazy-action.js +67 -0
- package/dist/core/code/engine/cli/optional-grammars.js +136 -0
- package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
- package/dist/core/code/engine/cli/status.js +156 -0
- package/dist/core/code/engine/cli/tool.js +384 -0
- package/dist/core/code/engine/config/ignore-service.js +511 -0
- package/dist/core/code/engine/config/supported-languages.js +17 -0
- package/dist/core/code/engine/core/analysis-features.js +64 -0
- package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
- package/dist/core/code/engine/core/git-staleness.js +180 -0
- package/dist/core/code/engine/core/graph/graph.js +180 -0
- package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
- package/dist/core/code/engine/core/graph/types.js +2 -0
- package/dist/core/code/engine/core/index-freshness.js +12 -0
- package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
- package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
- package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
- package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
- package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
- package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
- package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
- package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
- package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
- package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
- package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
- package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
- package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
- package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
- package/dist/core/code/engine/core/ingestion/constants.js +26 -0
- package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
- package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
- package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
- package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
- package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
- package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
- package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
- package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
- package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
- package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
- package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
- package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
- package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
- package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
- package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
- package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
- package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
- package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
- package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
- package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
- package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
- package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
- package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
- package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
- package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
- package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
- package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
- package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
- package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
- package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
- package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
- package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
- package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
- package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
- package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
- package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
- package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
- package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
- package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
- package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
- package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
- package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
- package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
- package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
- package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
- package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
- package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
- package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
- package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
- package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
- package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
- package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
- package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
- package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
- package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
- package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
- package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
- package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
- package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
- package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
- package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
- package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
- package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
- package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
- package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
- package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
- package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
- package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
- package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
- package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
- package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
- package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
- package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
- package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
- package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
- package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
- package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
- package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
- package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
- package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
- package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
- package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
- package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
- package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
- package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
- package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
- package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
- package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
- package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
- package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
- package/dist/core/code/engine/core/lbug/native-check.js +435 -0
- package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
- package/dist/core/code/engine/core/lbug/query-params.js +25 -0
- package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
- package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
- package/dist/core/code/engine/core/lbug/schema.js +771 -0
- package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
- package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
- package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
- package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
- package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
- package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
- package/dist/core/code/engine/core/logger.js +339 -0
- package/dist/core/code/engine/core/platform/capabilities.js +91 -0
- package/dist/core/code/engine/core/run-analyze.js +1098 -0
- package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
- package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
- package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
- package/dist/core/code/engine/lib/utils.js +121 -0
- package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
- package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
- package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
- package/dist/core/code/engine/mcp/local/limits.js +15 -0
- package/dist/core/code/engine/mcp/local/line-display.js +6 -0
- package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
- package/dist/core/code/engine/storage/branch-index.js +72 -0
- package/dist/core/code/engine/storage/file-hash.js +95 -0
- package/dist/core/code/engine/storage/fs-atomic.js +34 -0
- package/dist/core/code/engine/storage/git.js +555 -0
- package/dist/core/code/engine/storage/index-lock.js +664 -0
- package/dist/core/code/engine/storage/parse-cache.js +650 -0
- package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
- package/dist/core/code/engine/storage/repo-manager.js +1061 -0
- package/dist/core/code/engine/storage/scope-index-store.js +247 -0
- package/dist/core/code/engine/types/pipeline.js +2 -0
- package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
- package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
- package/dist/core/code/shared/graph/types.js +8 -0
- package/dist/core/code/shared/index.js +105 -0
- package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
- package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
- package/dist/core/code/shared/integrations/retry.js +70 -0
- package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
- package/dist/core/code/shared/language-detection.js +162 -0
- package/dist/core/code/shared/languages.js +27 -0
- package/dist/core/code/shared/lbug/schema-constants.js +98 -0
- package/dist/core/code/shared/mro-strategy.js +2 -0
- package/dist/core/code/shared/pipeline.js +5 -0
- package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
- package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
- package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
- package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
- package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
- package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
- package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
- package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
- package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
- package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
- package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
- package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
- package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
- package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
- package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
- package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
- package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
- package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
- package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
- package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/core/code/shared/scope-resolution/types.js +25 -0
- package/dist/core/code/shared/test-helpers.js +17 -0
- package/dist/core/code/vendor/leiden/index.cjs +355 -0
- package/dist/core/code/vendor/leiden/utils.cjs +419 -0
- package/dist/core/features/scanner.d.ts +2 -0
- package/dist/core/features/scanner.d.ts.map +1 -1
- package/dist/core/features/scanner.js +27 -6
- package/dist/core/features/scanner.js.map +1 -1
- package/dist/core/timeline/cli.d.ts.map +1 -1
- package/dist/core/timeline/cli.js +13 -6
- package/dist/core/timeline/cli.js.map +1 -1
- package/dist/core/timeline/debris.d.ts +20 -0
- package/dist/core/timeline/debris.d.ts.map +1 -0
- package/dist/core/timeline/debris.js +124 -0
- package/dist/core/timeline/debris.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -1
- package/dist/core/timeline/hook-runner.js +3 -1
- package/dist/core/timeline/hook-runner.js.map +1 -1
- package/dist/core/timeline/hooks.d.ts.map +1 -1
- package/dist/core/timeline/hooks.js +13 -5
- package/dist/core/timeline/hooks.js.map +1 -1
- package/dist/core/timeline/installer.d.ts +2 -0
- package/dist/core/timeline/installer.d.ts.map +1 -1
- package/dist/core/timeline/installer.js +12 -0
- package/dist/core/timeline/installer.js.map +1 -1
- package/dist/core/timeline/project-root.d.ts +21 -0
- package/dist/core/timeline/project-root.d.ts.map +1 -0
- package/dist/core/timeline/project-root.js +83 -0
- package/dist/core/timeline/project-root.js.map +1 -0
- package/package.json +1 -1
|
@@ -26,14 +26,15 @@
|
|
|
26
26
|
▼ ▼ ▼
|
|
27
27
|
write-api write-unit-test-spec 交付收尾:
|
|
28
28
|
→ run-api-test → write-unit-test-code 沉淀提示 → knowledge-write
|
|
29
|
-
(接口测试) (单元测试,代码完成后)
|
|
29
|
+
(接口测试) (单元测试,代码完成后) 交付讲解提示 → write-delivery-guide
|
|
30
|
+
commit 门禁 → git-standards.md
|
|
30
31
|
|
|
31
32
|
── 推荐发布后 · 按需(不在主链,不参与门禁); 原因: 发布前写 PRD:写的是预期,实现过程中一定会漂移,发布后 PRD 就过期了,给业务方看反而误导 ──────────────────
|
|
32
33
|
write-prd(业务方/客户审阅,任意时刻可执行,推荐发布后)
|
|
33
34
|
write-design-doc(设计文档,自测通过后)
|
|
34
35
|
write-api-doc(接口文档,接口开发完毕后)
|
|
35
36
|
|
|
36
|
-
guides:write-plan 读取并结晶 + 任务打「强制引用」标注(implementation / subagent-implement 执行标注,仅无 plan 时自识别)· write-api 独立读接口规范 · commit 门禁 → git-standards;缺失 → init-project-guides 先补(中断)
|
|
37
|
+
guides:write-plan 读取并结晶 + 任务打「强制引用」标注(implementation / subagent-implement 执行标注,仅无 plan 时自识别)· write-api 独立读接口规范 · write-unit-test-code 独立读测试规范 · commit 门禁 → git-standards;缺失 → init-project-guides 先补(中断)
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
## 设计流程
|
|
@@ -50,7 +51,7 @@ guides:write-plan 读取并结晶 + 任务打「强制引用」标注(implementa
|
|
|
50
51
|
- **前置**:spec 必有;subagent-implement 需 plan
|
|
51
52
|
- **强制读**:规范由 plan 打「强制引用」标注(write-plan 按任务类型机械标:schema → data-standards.md;接口 → interface-standards.md;动码 → coding-standards.md);有 plan 时 implementation / subagent-implement 只读标注,无 plan 时 implementation 自行识别;**缺失 → 中断,先 `/init-project-guides` 补齐**
|
|
52
53
|
- **小步提交**:plan 把可独立提交的任务(完成后仓库可工作)标「独立提交」并把 `git-standards.md` 提交规范结晶进 index「提交规范」节;implementation / subagent-implement 每完成一个标注任务并按规范自查后提交(原子历史,好 review / revert / bisect),precommit 门禁退化为兜底。未标注的任务不擅自提交,push 永远归用户。
|
|
53
|
-
- **收尾**:沉淀提示(新增/变更实体、坑、隐式约束 → `/knowledge-write`);commit 门禁由 precommit-check hook 指向 `docs/guides/git-standards.md`,被拦 → 按 plan 已结晶的「提交前检查点」自查 staged diff(plan 无结晶时才 Read 原文件)
|
|
54
|
+
- **收尾**:沉淀提示(新增/变更实体、坑、隐式约束 → `/knowledge-write`);交付讲解提示(有实质代码改动 → `/write-delivery-guide` 生成本次交付的故事线讲解,也可单独触发重生成);commit 门禁由 precommit-check hook 指向 `docs/guides/git-standards.md`,被拦 → 按 plan 已结晶的「提交前检查点」自查 staged diff(plan 无结晶时才 Read 原文件)
|
|
54
55
|
|
|
55
56
|
## 接口测试流程
|
|
56
57
|
|
|
@@ -63,6 +64,7 @@ guides:write-plan 读取并结晶 + 任务打「强制引用」标注(implementa
|
|
|
63
64
|
|
|
64
65
|
- **链**:`/write-unit-test-spec`(零代码依赖,从 spec 派生场景)→ `/write-unit-test-code`(填实测试 + 跑 + 出报告;找不到测试规格直接退出要求先跑前者)
|
|
65
66
|
- **前置**:spec + 实现完成(代码写完后独立流程,与接口测试同节奏)
|
|
67
|
+
- **强制读**:write-unit-test-code 执行前读 `docs/guides/testing-standards.md`(缺失 → `/init-project-guides` 中断)
|
|
66
68
|
- **产物**:feature 目录下测试规格与报告 + 项目测试目录的测试代码
|
|
67
69
|
|
|
68
70
|
## 知识库
|
|
@@ -87,9 +89,9 @@ guides:write-plan 读取并结晶 + 任务打「强制引用」标注(implementa
|
|
|
87
89
|
| `data-standards.md` | schema 任务(含「Schema 变更约定」) |
|
|
88
90
|
| `interface-standards.md` | 接口任务 |
|
|
89
91
|
| `coding-standards.md` | 所有任务(契约部分) |
|
|
90
|
-
| `testing-standards.md` | plan
|
|
92
|
+
| `testing-standards.md` | plan 不读;`write-unit-test-code` 执行前自读(内容全是单测向);接口测试规范由 `write-api` 读 `interface-standards.md` 送达 |
|
|
91
93
|
| `git-standards.md` | 有「独立提交」任务时结晶进 index「提交规范」节(plan 级,一次)+ precommit-check 门禁兜底(deny → 按已结晶的检查点自查) |
|
|
92
|
-
- **执行期送达**:任务按映射打「强制引用」标注(schema → data-standards.md;接口 → interface-standards.md;动码 → coding-standards.md);有 plan 时 implementation / subagent-implement 只读标注、不自行识别,无 plan 时 implementation 自行识别;write-api 不依赖 plan,执行前独立读 interface-standards.md(自有门禁)。**git-standards.md 例外**:不是每任务强制引用,而是 plan 级结晶进 index「提交规范」节,实施期提交时直接用、门禁仅兜底——消除多次小步提交的重复读取成本。**testing-standards.md 也不走 plan 标注**:测试不进 plan
|
|
94
|
+
- **执行期送达**:任务按映射打「强制引用」标注(schema → data-standards.md;接口 → interface-standards.md;动码 → coding-standards.md);有 plan 时 implementation / subagent-implement 只读标注、不自行识别,无 plan 时 implementation 自行识别;write-api 不依赖 plan,执行前独立读 interface-standards.md(自有门禁)。**git-standards.md 例外**:不是每任务强制引用,而是 plan 级结晶进 index「提交规范」节,实施期提交时直接用、门禁仅兜底——消除多次小步提交的重复读取成本。**testing-standards.md 也不走 plan 标注**:测试不进 plan,内容全是单测向(框架/目录命名/单测集成边界/Mock/fixture/覆盖),由 `write-unit-test-code` 执行前自读(缺失 → 提示 `/init-project-guides` 补齐);接口测试规范走 `write-api` 读 `interface-standards.md`,`run-api-test` 不另读规范。
|
|
93
95
|
|
|
94
96
|
## 事后文档(发布后 · 按需,不在开发主链)
|
|
95
97
|
|
|
@@ -34,7 +34,7 @@ cgraphx 是本地优先的 AI agent 研发工具,把**markdown 知识库 + 数
|
|
|
34
34
|
| **机器级 · 每机器一次** | `npm install -g cgraphx` |
|
|
35
35
|
| **项目级 · 每项目一次** | `cgraphx install`(建 `.cgraphx/` 数据目录 + 部署 skills/commands 到 `.claude/` + 写 hooks/statusLine)、`/knowledge-init`(接手陌生项目时建业务知识库) |
|
|
36
36
|
| **日常做需求 · 必经 2 步** | `/clarify-requirements` 澄清 → `/implementation`(简单)或 `/subagent-implement`(复杂)实现 |
|
|
37
|
-
| **日常做需求 · 复杂按需** | `/write-prd`、`/write-spec`、`/write-plan`、`/knowledge-write`(沉淀到 `docs/knowledge/`) |
|
|
37
|
+
| **日常做需求 · 复杂按需** | `/write-prd`、`/write-spec`、`/write-plan`、`/knowledge-write`(沉淀到 `docs/knowledge/`)、`/write-delivery-guide`(交付讲解,实现收尾提示触发) |
|
|
38
38
|
| **工作回顾 · 按需** | `/developer-timeline`(日/周/月报)、`/write-design-doc`(发布后合成设计文档) |
|
|
39
39
|
| **卸载 · 可选** | `cgraphx uninstall`(清项目 `.claude/` 内包自带的 skills/配置 + 删 `.cgraphx/`)、`npm uninstall -g cgraphx` |
|
|
40
40
|
|
|
@@ -53,6 +53,7 @@ cgraphx 是本地优先的 AI agent 研发工具,把**markdown 知识库 + 数
|
|
|
53
53
|
| `/knowledge-init` | 接手陌生项目,派子 agent 自动探索、建业务知识库 |
|
|
54
54
|
| `/knowledge-write` | 把业务决策 / 概念沉淀成 md 到 `docs/knowledge/` |
|
|
55
55
|
| `/write-design-doc` | 发布后按需,从知识库合成面向人类阅读的设计文档(HTML 或 Markdown) |
|
|
56
|
+
| `/write-delivery-guide` | 交付后生成/重生成「交付讲解」——业务故事线讲解,让人看懂 AI 写的代码(实现收尾自动提示) |
|
|
56
57
|
| `/developer-timeline` | 生成日报 / 周报 / 月报 / 阶段总结 / 交付汇报 |
|
|
57
58
|
|
|
58
59
|
### agent 自动调用(用户不主动敲,agent 用来加载项目上下文)
|
|
@@ -406,7 +406,7 @@ footer p { margin: 0; }
|
|
|
406
406
|
<div class="pipeline">
|
|
407
407
|
<div class="step">
|
|
408
408
|
<h4>立规范 · <code>/init-project-guides</code></h4>
|
|
409
|
-
<p>生成 <code>docs/guides/</code> 五份规范(编码/接口/数据/测试/Git)。规范 = 项目对默认做法的<strong>有意偏离</strong>——「SQL 禁止 ORDER BY」「金额一律 decimal(12,2)」这类最容易偏离又没有工具兜底的约定。这些 guide 是后续任务的<strong>强制读点</strong>:编码/接口/数据三份会被 <code>/write-plan</code> 结晶成契约(测试规范不走 plan
|
|
409
|
+
<p>生成 <code>docs/guides/</code> 五份规范(编码/接口/数据/测试/Git)。规范 = 项目对默认做法的<strong>有意偏离</strong>——「SQL 禁止 ORDER BY」「金额一律 decimal(12,2)」这类最容易偏离又没有工具兜底的约定。这些 guide 是后续任务的<strong>强制读点</strong>:编码/接口/数据三份会被 <code>/write-plan</code> 结晶成契约(测试规范不走 plan,由 <code>write-unit-test-code</code> 执行前自读,内容全是单测向,接口测试规范由 <code>write-api</code> 读 <code>interface-standards.md</code> 送达;Git 结晶进 plan 提交规范节)。</p>
|
|
410
410
|
</div>
|
|
411
411
|
<div class="step">
|
|
412
412
|
<h4>聊业务 · 和 Claude Code 聊项目</h4>
|
|
@@ -440,7 +440,7 @@ footer p { margin: 0; }
|
|
|
440
440
|
▼ ▼ ▼
|
|
441
441
|
/write-api /write-unit-test-spec 交付收尾:
|
|
442
442
|
→ /run-api-test → /write-unit-test-code /knowledge-write 沉淀
|
|
443
|
-
接口测试 单元测试 commit 门禁
|
|
443
|
+
接口测试 单元测试 /write-delivery-guide 讲解 + commit 门禁
|
|
444
444
|
|
|
445
445
|
── 发布后 · 按需(不在主链,不参与门禁)──────────────────
|
|
446
446
|
/write-prd(业务方审阅) /write-design-doc(设计文档) /write-api-doc(接口文档)</div>
|
|
@@ -469,6 +469,7 @@ footer p { margin: 0; }
|
|
|
469
469
|
<li><strong style="color:var(--color-primary);">核心</strong> <code>/write-spec</code> 写技术规格——唯一契约<em>(归档业务行为/规则/接口/数据/权限/异常/验收)</em></li>
|
|
470
470
|
<li><span class="opt">可选</span> <code>/write-plan</code> 拆执行计划<em>(大需求/跨模块;手段选型在这一步结合代码定——纯工程手段 plan 自主,有业务可观察后果的回跳 spec 业务拍板)</em></li>
|
|
471
471
|
<li><strong style="color:var(--color-primary);">必经</strong> <code>/implementation</code><em>(简单:1-3 文件/单模块)</em>或 <code>/subagent-implement</code><em>(复杂:≥3 任务跨域,派子 agent 隔离上下文)</em></li>
|
|
472
|
+
<li><span class="opt">收尾</span> 沉淀 → <code>/knowledge-write</code>;交付讲解 → <code>/write-delivery-guide</code> <em>(有实质代码改动时提示确认,故事线讲解、可重生成)</em></li>
|
|
472
473
|
</ul>
|
|
473
474
|
<div class="highlight">
|
|
474
475
|
<p>日常默认 2 步:澄清 + 实现。spec 是唯一契约——「没有任何业务义务存在于 spec 之外」,变更时只改 spec 一处,下游重新派生。</p>
|
|
@@ -571,6 +572,7 @@ footer p { margin: 0; }
|
|
|
571
572
|
│ ├── <前缀>-测试验证.jsonl <span class="skill">/run-api-test</span> <span class="opt">可选</span> <span class="ann">自动产出</span>
|
|
572
573
|
│ ├── <前缀>-单元测试-spec.md <span class="skill">/write-unit-test-spec</span> <span class="opt">可选</span> <span class="ann">开发完成后</span>
|
|
573
574
|
│ ├── <前缀>-单元测试报告.md <span class="skill">/write-unit-test-code</span> <span class="opt">可选</span> <span class="ann">开发完成后</span>
|
|
575
|
+
│ ├── <前缀>-交付讲解.md <span class="skill">/write-delivery-guide</span> <span class="opt">可选</span> <span class="ann">交付时</span>
|
|
574
576
|
│ └── <前缀>-设计文档.md <span class="skill">/write-design-doc</span> <span class="post">发布后</span> <span class="ann">按需</span>
|
|
575
577
|
│
|
|
576
578
|
├── <b>knowledge/</b> 业务知识库(跨需求共享)
|
|
@@ -45,7 +45,7 @@ npm uninstall -g cgraphx # 卸载 CLI
|
|
|
45
45
|
|
|
46
46
|
**1. 立规范 · `/init-project-guides`**
|
|
47
47
|
|
|
48
|
-
生成 `docs/guides/` 五份规范(编码/接口/数据/测试/Git)。规范 = 项目对默认做法的**有意偏离**——「SQL 禁止 `ORDER BY`」「金额一律 `decimal(12,2)`」这类最容易偏离又没有工具兜底的约定。新项目立起步默认(注明「待演进」);已有项目从代码/git 历史挖既有约定固化成文。这些 guide 是后续任务的**强制读点**:编码/接口/数据三份会被 `/write-plan` 结晶成契约(测试规范不走 plan
|
|
48
|
+
生成 `docs/guides/` 五份规范(编码/接口/数据/测试/Git)。规范 = 项目对默认做法的**有意偏离**——「SQL 禁止 `ORDER BY`」「金额一律 `decimal(12,2)`」这类最容易偏离又没有工具兜底的约定。新项目立起步默认(注明「待演进」);已有项目从代码/git 历史挖既有约定固化成文。这些 guide 是后续任务的**强制读点**:编码/接口/数据三份会被 `/write-plan` 结晶成契约(测试规范不走 plan,由 `write-unit-test-code` 执行前自读,内容全是单测向,接口测试规范由 `write-api` 读 `interface-standards.md` 送达;Git 结晶进 plan 提交规范节)。
|
|
49
49
|
|
|
50
50
|
**2. 聊业务 · 和 Claude Code 聊项目**
|
|
51
51
|
|
|
@@ -76,7 +76,7 @@ knowledge-recall(自动召回)
|
|
|
76
76
|
▼ ▼ ▼
|
|
77
77
|
/write-api /write-unit-test-spec 交付收尾:
|
|
78
78
|
→ /run-api-test → /write-unit-test-code /knowledge-write 沉淀
|
|
79
|
-
接口测试 单元测试 commit 门禁
|
|
79
|
+
接口测试 单元测试 /write-delivery-guide 讲解 + commit 门禁
|
|
80
80
|
|
|
81
81
|
── 发布后 · 按需(不在主链,不参与门禁)──────────────────
|
|
82
82
|
/write-prd(业务方审阅) /write-design-doc(设计文档) /write-api-doc(接口文档)
|
|
@@ -99,6 +99,8 @@ knowledge-recall(自动召回)
|
|
|
99
99
|
|
|
100
100
|
> 日常默认 2 步:澄清 + 实现。spec 是唯一契约——「没有任何业务义务存在于 spec 之外」,变更时只改 spec 一处,下游重新派生。
|
|
101
101
|
|
|
102
|
+
> **交付收尾**:实现收尾会提示两件事——沉淀(`/knowledge-write`,沉淀业务决策/实体到 `docs/knowledge/`)和讲解(`/write-delivery-guide`,有实质代码改动时提示生成本次交付的故事线讲解,归档进需求目录、可重生成)。
|
|
103
|
+
|
|
102
104
|
---
|
|
103
105
|
|
|
104
106
|
### 接口测试流程
|
|
@@ -180,6 +182,7 @@ docs/
|
|
|
180
182
|
│ ├── <前缀>-测试验证.jsonl /run-api-test 可选 自动产出
|
|
181
183
|
│ ├── <前缀>-单元测试-spec.md /write-unit-test-spec 可选 开发完成后
|
|
182
184
|
│ ├── <前缀>-单元测试报告.md /write-unit-test-code 可选 开发完成后
|
|
185
|
+
│ ├── <前缀>-交付讲解.md /write-delivery-guide 可选 交付时
|
|
183
186
|
│ └── <前缀>-设计文档.md /write-design-doc 可选 发布后按需
|
|
184
187
|
│
|
|
185
188
|
├── knowledge/ 业务知识库(跨需求共享)
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: iboc-check
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
description: 代码开发完成后的文档收口补账:核实 docs/features/ 下本人 git 提交过的需求,补主 spec 头部(feature-id/负责人/日期),再循环补全缺失的单元测试规格/单元测试报告/设计文档/收口档案。Use when 开发完成后补文档 / 老需求补头部 / 补单测产物 / 补设计文档 / 补收口档案 / 文档收口 / iboc-check.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# IBOC Check(文档收口补账)
|
|
8
|
+
|
|
9
|
+
## 定位
|
|
10
|
+
|
|
11
|
+
局方项目代码开发完成后的**事后文档补账**:老需求多在规范建立前做,spec 无头部、单测产物、设计文档与收口档案参差。两步走——先**纠正**(只给本人提交过的需求补头部),再**补全**(按清单循环补缺的文档)。
|
|
12
|
+
|
|
13
|
+
**主 agent 是统帅不是先锋**:归属核实、补头部、清单、提交留在主 agent;补全重活(读 spec/实现代码、写测试、跑测试、写档案)逐需求派隔离上下文的 filler 子 agent——单需求 spec→测试代码→收口档案全链不占主上下文,多需求互不累积。
|
|
14
|
+
|
|
15
|
+
## HARD-GATE
|
|
16
|
+
|
|
17
|
+
- **只动头部块** —— 补缺失行 + 删多余字段(如状态);不碰正文、不改文件名、不新建 spec;无主 spec 的需求只提示「无法补充」,补 spec 是 `/write-spec` 的事
|
|
18
|
+
- **只处理有 git 提交记录的需求** —— `docs/features/<目录>` 未提交的不处理,不猜归属
|
|
19
|
+
- **归属清单必须用户确认** —— git 作者命中只是候选,是不是自己的由用户最终拍板
|
|
20
|
+
- **不覆盖既有头部行** —— 头部行已存在则跳过该行,只补缺失的
|
|
21
|
+
- **子 skill 守各自边界** —— filler 子 agent 只在自己需求内编排执行,不越权替子 skill 做判断
|
|
22
|
+
- **一需求一子 agent,串行派任** —— git index 与测试运行是共享资源,不并行
|
|
23
|
+
- **子 agent 不提交** —— 提交点必须和 sanity check 闸门同侧,主 agent 验证通过后才提交
|
|
24
|
+
|
|
25
|
+
## 流程
|
|
26
|
+
|
|
27
|
+
### 1. 归属核实
|
|
28
|
+
|
|
29
|
+
- 取当前用户:`git config user.name`
|
|
30
|
+
- 对 `docs/features/` 每个目录跑 `git log --format='%an' -- docs/features/<目录名>` 取作者集:
|
|
31
|
+
- 无提交记录 → 跳过,不处理
|
|
32
|
+
- 作者集含当前用户 → 进候选清单
|
|
33
|
+
- **候选清单显示给用户确认**(目录名 + 日期 + 提交作者),用户剔除的移出清单
|
|
34
|
+
|
|
35
|
+
### 2. 补头部(只加不改)
|
|
36
|
+
|
|
37
|
+
对确认后的每个需求目录,找主 spec(`<前缀>-spec.md` 或 `spec.md`):
|
|
38
|
+
|
|
39
|
+
- **无主 spec** → 记入「无法补充清单」,收尾时提示,不创建文件
|
|
40
|
+
- **有主 spec** → 在文件头部(标题行后,对齐既有 `> ` 块)补缺失的行:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
> feature-id: 2026-08-03-审批引擎会签与重发能力
|
|
44
|
+
> 负责人: liulongfei
|
|
45
|
+
> 日期: 2026-08-03
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
三行取值:需求目录名 / `git config user.name` / 目录名日期前缀(**不是当前日期**), 同时删除其他多余字段,比如状态。
|
|
49
|
+
|
|
50
|
+
### 3. 生成工作清单
|
|
51
|
+
|
|
52
|
+
执行 `cgraphx features sync`,读 `.cgraphx/my-features.md`——头部补对后,这里应包含当前 git 用户的全部需求。为每个需求建一条待办,进入补全循环。
|
|
53
|
+
|
|
54
|
+
### 4. 补全循环(逐需求派 filler 子 agent)
|
|
55
|
+
|
|
56
|
+
逐需求核四样,缺什么补什么:
|
|
57
|
+
|
|
58
|
+
| 产物 | 文件名 | 缺失时调用 |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| 单元测试规格 | `<前缀>-单元测试-spec.md` | `/write-unit-test-spec` |
|
|
61
|
+
| 单元测试报告 | `<前缀>-单元测试报告.md` | `/write-unit-test-code`(依赖规格;规格刚补完接着跑) |
|
|
62
|
+
| 设计文档 | `<前缀>-设计文档.md` | `/write-design-doc` |
|
|
63
|
+
| 收口档案 | `收口档案.md` 或 `<前缀>-收口档案.md` | `/end` |
|
|
64
|
+
|
|
65
|
+
每条待办是独立任务,补全重活不进主上下文——**派 filler 子 agent**:
|
|
66
|
+
|
|
67
|
+
- 四样齐全 → 待办直接完成,不派
|
|
68
|
+
- 有缺失 → Read `./filler-prompt.md` + 拼任务三件套(需求 / 缺失产物 / 上下文)→ Agent tool 派 `general-purpose`,在隔离上下文按依赖顺序补全(规格 → 报告 → 设计文档 → 档案)
|
|
69
|
+
- **串行**:一需求一子 agent,跑完一个再派下一个(git index 与测试运行是共享资源,不并行)
|
|
70
|
+
- **status 协议**:DONE → sanity check → 提交;DONE_WITH_CONCERNS → 辨因处理(correctness/scope 先解决,observation 记录);NEEDS_CONTEXT → 补 context 重派;BLOCKED → 记「受阻」进下一条(补账任务相互独立,一个卡住不拖其他)
|
|
71
|
+
- **sanity check(主 agent,每需求)**:声称补出的产物真实存在 + git status 只含该需求的文件;不过 → 派修或记录,不提交
|
|
72
|
+
|
|
73
|
+
**小步提交(每需求独立,主 agent 提交)**:sanity check 通过后,主 agent 按子 agent 报告的「改动文件」清单精确 stage,独立提交,再进下一条:
|
|
74
|
+
|
|
75
|
+
- 提交范围:该需求 `docs/features/<目录>/` 下本次改动(补的头部 + 补出的规格/报告/设计文档/收口档案)+ write-unit-test-code 产出的测试文件;不混入其他需求、不夹带无关文件
|
|
76
|
+
- commit message:项目有 `docs/guides/git-standards.md` 按其规范;没有则参考 `docs: <需求标题> 文档补账`
|
|
77
|
+
- 被 precommit 门禁拦截 → 按提示自查 staged diff 后重试(`CGRAPHX_PRECOMMIT_REVIEWED=1`)
|
|
78
|
+
- 该需求无任何改动(四样齐全且头部已全)→ 不产生提交
|
|
79
|
+
|
|
80
|
+
### 5. 收尾汇报
|
|
81
|
+
|
|
82
|
+
- 补了头部的需求数;「无法补充清单」(无主 spec 的,提示可走 `/write-spec` 补)
|
|
83
|
+
- 每条待办的补全结果:补了什么 / 已齐全跳过 / 子 skill 报告的失败与待确认项 / 受阻跳过
|
|
84
|
+
- 提交清单:每需求一笔(需求 + commit message);push 归用户
|
|
85
|
+
- 下一步交用户,不自动继续
|
|
86
|
+
|
|
87
|
+
## 派任模板
|
|
88
|
+
|
|
89
|
+
Read 模板 + 拼任务三件套成 prompt,派 `general-purpose`:
|
|
90
|
+
|
|
91
|
+
- `./filler-prompt.md` —— 每条有缺失产物的待办派一次;三件套 = ① 需求(feature-id + 目录 + 文件前缀)② 缺失产物清单 ③ 上下文(git 用户名、对该需求的已知说明)
|
|
92
|
+
|
|
93
|
+
## 边界场景
|
|
94
|
+
|
|
95
|
+
- **未提交的需求目录** → 不处理,不猜归属
|
|
96
|
+
- **无主 spec** → 提示无法补充,不代写
|
|
97
|
+
- **头部行部分存在** → 只补缺失行,不改已有值(负责人已有值也不覆盖)
|
|
98
|
+
- **git 作者命中但用户否认** → 移出清单,不处理
|
|
99
|
+
- **补了头部仍不在 my-features.md** → 提示用户检查头部行格式,不硬改
|
|
100
|
+
- **filler 子 agent BLOCKED** → 记「受阻」进下一条,不卡死整队
|
|
101
|
+
|
|
102
|
+
## 不做的事
|
|
103
|
+
|
|
104
|
+
- 不新建 spec、不改正文、不改文件名(纠正只在头部块:补缺失行 + 删多余字段)
|
|
105
|
+
- 不处理未提交的需求目录
|
|
106
|
+
- 不自动确认归属清单
|
|
107
|
+
- 不写业务实现代码(子 skill 也不写)
|
|
108
|
+
- 不碰他人需求(归属过滤 + 用户确认双保险)
|
|
109
|
+
- 不 push(只提交,push 归用户)
|
|
110
|
+
|
|
111
|
+
## 和其他 skill 的关系
|
|
112
|
+
|
|
113
|
+
- **implementation / subagent-implement**:上游,代码开发完成后才轮到本 skill
|
|
114
|
+
- **write-unit-test-spec / write-unit-test-code / write-design-doc / end**:由 filler 子 agent 在隔离上下文内按需调用
|
|
115
|
+
- **subagent-implement**:同款 controller/子 agent 模式(隔离派任 + 提交归 controller);这里更轻——无 plan/spec 审查,一需求一子 agent
|
|
116
|
+
- **features sync**:头部补正是它的数据修正——负责人取自 spec 头部,头部缺失时「按人找需求」失效
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# filler 子 agent prompt 模板
|
|
2
|
+
|
|
3
|
+
> 主 agent 通过 Agent tool 调用本文件时,把这份完整内容作为 prompt 传给 `general-purpose` 子 agent,后接任务三件套:`\n\n---\n\n① 需求: <feature-id + 需求目录路径 + 文件前缀>`、`\n\n② 缺失产物: <单元测试规格 / 单元测试报告 / 设计文档 / 收口档案 中缺哪些>`、`\n\n③ 上下文: <git 用户名;对该需求的已知说明,如实现代码位置、备注>`。
|
|
4
|
+
|
|
5
|
+
## 你的角色
|
|
6
|
+
|
|
7
|
+
你是 filler 子 agent,在**隔离上下文**里补全**单个需求**缺失的文档产物。主 agent 是 controller,只拿到你的最终返回,**看不到你的中间过程**(读文件、跑测试、试错等)。
|
|
8
|
+
|
|
9
|
+
补账背景:该需求代码已完成,但文档产物(单元测试规格/报告、设计文档、收口档案)在规范建立前没产——你的职责是补齐产物,不是重新开发。
|
|
10
|
+
|
|
11
|
+
## 工作流
|
|
12
|
+
|
|
13
|
+
### 1. 复核缺失项
|
|
14
|
+
|
|
15
|
+
controller 已核过四样,缺失清单在 prompt 里。开工前再验一次文件是否真不存在(防误报);已存在的产物**不重产、不覆盖**。
|
|
16
|
+
|
|
17
|
+
### 2. 按依赖顺序补全
|
|
18
|
+
|
|
19
|
+
| 缺失产物 | 调用 |
|
|
20
|
+
|---|---|
|
|
21
|
+
| 单元测试规格 | `/write-unit-test-spec` |
|
|
22
|
+
| 单元测试报告 | `/write-unit-test-code`(依赖规格;规格是本次刚补的,接着跑) |
|
|
23
|
+
| 设计文档 | `/write-design-doc` |
|
|
24
|
+
| 收口档案 | `/end` |
|
|
25
|
+
|
|
26
|
+
逐个调用对应 skill,**完整遵循该 skill 自己的规则**——它怎么要求你怎么做:实现缺失的场景 `it.skip` 占位、测试失败如实报告、不写业务实现代码、不修实现 bug、不假装通过。skill 的边界就是你的边界,不越权替它判断。
|
|
27
|
+
|
|
28
|
+
### 3. 范围约束
|
|
29
|
+
|
|
30
|
+
- 只改本需求 `docs/features/<目录>/` 下的文件 + 补全产生的测试文件
|
|
31
|
+
- 不碰其他需求的文件,不顺手重构无关代码
|
|
32
|
+
|
|
33
|
+
### 4. 不提交
|
|
34
|
+
|
|
35
|
+
- **不跑 `git add` / `git commit`** —— 你只改文件;提交由 controller 在你返回并 sanity check 通过后处理(提交点必须和验证闸门同侧,你返回时验证还没跑)
|
|
36
|
+
|
|
37
|
+
### 5. 报告
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
|
|
41
|
+
|
|
42
|
+
补了什么:
|
|
43
|
+
- <逐产物列:补出 / 已存在跳过>
|
|
44
|
+
|
|
45
|
+
skill 执行结果:
|
|
46
|
+
- <测试通过/失败/跳过数;实现与 spec 偏差;skill 报的待确认项>
|
|
47
|
+
- 注意:「补全完成」≠「测试必须通过」——测试失败是实现问题,如实报告仍算 DONE
|
|
48
|
+
|
|
49
|
+
改动的文件(controller 据此精确 stage 后提交,务必列全列准——漏列 = 提交丢文件,多列 = 提交进无关改动):
|
|
50
|
+
- <path1>:<一句话改动说明>
|
|
51
|
+
- <path2>:<...>
|
|
52
|
+
|
|
53
|
+
Concerns / 未解决项(如果有):
|
|
54
|
+
- <...>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Status 协议
|
|
58
|
+
|
|
59
|
+
| Status | 何时用 |
|
|
60
|
+
|---|---|
|
|
61
|
+
| **DONE** | 缺失产物全部补出 + 各 skill 如实报告(含测试失败的如实报告) |
|
|
62
|
+
| **DONE_WITH_CONCERNS** | 补完但有疑虑(如 spec 质量存疑、偏差较大)。**不要 silently 藏疑虑** |
|
|
63
|
+
| **NEEDS_CONTEXT** | 缺必要信息(如找不到需求目录/主 spec)。**说清缺什么** |
|
|
64
|
+
| **BLOCKED** | 无法完成(如 write-unit-test-spec 依赖的主 spec 不存在、测试基建探测不到且无法确认)。**说清卡在哪、试了什么** |
|
|
65
|
+
|
|
66
|
+
**永远不要**在不确定时返回 DONE。
|
|
67
|
+
|
|
68
|
+
## 红线
|
|
69
|
+
|
|
70
|
+
- ❌ 不跑 `git add` / `git commit`
|
|
71
|
+
- ❌ 不写业务实现代码、不修实现 bug(那是 skill 的边界,也是你的)
|
|
72
|
+
- ❌ 不碰其他需求的文件
|
|
73
|
+
- ❌ 不重产 / 覆盖已存在的产物
|
|
74
|
+
- ❌ 不假装通过(断言不调假绿、收口档案不编内容)
|
|
75
|
+
- ❌ 卡住不默默继续(返回 BLOCKED / NEEDS_CONTEXT)
|
|
@@ -22,6 +22,7 @@ description: 用户要求根据已确认的 plan、spec、任务清单、实现
|
|
|
22
22
|
5. **验证** —— 最相关的测试 / 类型检查 / lint / 构建 / 手工检查;前端或可视化变更按项目需要浏览器/截图验证;失败时判断是实现/环境/既有问题,继续修正可控部分。
|
|
23
23
|
6. **汇报** —— 改了什么 / 验证了什么 / 风险与未完成项;有 plan 则说明 `PLAN_FOLLOWED` / `PLAN_ADAPTED` / 是否出现过 `PLAN_CONFLICT`。
|
|
24
24
|
7. **沉淀提示** —— 确有内容才问(见下)。
|
|
25
|
+
8. **交付讲解提示** —— 有实质代码改动才问(见下)。
|
|
25
26
|
|
|
26
27
|
> **独立提交**:若 plan 把任务标了「独立提交:是」,每完成一个并通过验证后按 plan「提交规范」节(从 `git-standards.md` 结晶)提交——小步原子提交,规范已在 plan 上下文,precommit 门禁自查按 plan 检查点过后用 `CGRAPHX_PRECOMMIT_REVIEWED=1` 重试即可。未标注的任务不擅自提交,交用户决定;push 永远归用户。
|
|
27
28
|
|
|
@@ -45,6 +46,12 @@ description: 用户要求根据已确认的 plan、spec、任务清单、实现
|
|
|
45
46
|
|
|
46
47
|
用户同意 → 走 `knowledge-write` 完整流程(查概念 → 写 → validate → 合并检查 → 询问扫描);拒绝或无内容 → 不提。
|
|
47
48
|
|
|
49
|
+
## 交付讲解(实现结束后)
|
|
50
|
+
|
|
51
|
+
本次实现有**实质代码改动**(新增接口/流程,或改动既有逻辑)→ 在汇报末尾问一句("这次交付有实质代码改动,是否用 write-delivery-guide 生成交付讲解——业务故事线讲解,可归档、可重生成?")。
|
|
52
|
+
|
|
53
|
+
用户同意 → 走 `write-delivery-guide` 完整流程(收集事实 → 识别形态 → 读模板 → 生成 → 落盘);拒绝,或无实质改动(琐碎修复/纯探索/配置微调)→ 不提。
|
|
54
|
+
|
|
48
55
|
## 质量底线
|
|
49
56
|
|
|
50
57
|
- 代码能解释为满足用户任务或 plan/spec;关键路径有验证;新增逻辑的测试覆盖由独立测试流程(代码完成后 `write-unit-test-spec` → `write-unit-test-code` / `write-api` → `run-api-test`)负责,实现期不写新测试,改动弄红的既有测试已同步修正;错误 / 空值 / 权限 / 兼容性风险被处理或说明。
|
|
@@ -15,7 +15,7 @@ description: 为项目初始化 docs/guides/ 规范文件模板。根据技术
|
|
|
15
15
|
| `coding-standards.md` | 风格/命名/目录/错误处理 | 所有动码任务 |
|
|
16
16
|
| `interface-standards.md` | API 路径/参数/返回值/兼容 | 接口任务 · write-api |
|
|
17
17
|
| `data-standards.md` | 模型层 + DDL 层 + ORM 映射 + **schema 变更约定** | schema 任务 |
|
|
18
|
-
| `testing-standards.md` | 框架/单测集成边界/mock/fixture/覆盖 |
|
|
18
|
+
| `testing-standards.md` | 框架/单测集成边界/mock/fixture/覆盖 | 单测任务 · write-unit-test-code |
|
|
19
19
|
| `git-standards.md` | commit 消息规范 + 提交前检查点 | precommit-check 门禁 |
|
|
20
20
|
|
|
21
21
|
两种模式:新项目起步立起步默认(文件内显式注明"待演进,有代码后重跑校准");已有项目从代码与 git 历史挖既有约定固化成文。**你只提发现和建议,决策归用户。**
|
|
@@ -73,8 +73,8 @@ write-api S3 生成 .bru 时,在 tests 段写 DB 副作用预期注释(格式见
|
|
|
73
73
|
```
|
|
74
74
|
tests {
|
|
75
75
|
...
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
// DB 预期:users 表新增一行,name=测试用户,email=test@example.com
|
|
77
|
+
// DB 预期:user_profile 表同步新增一行,user_id=本次返回的 id
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -24,7 +24,7 @@ description: 复杂 plan 的子 agent 实现流程 — 主 agent 作为 controll
|
|
|
24
24
|
3. 全部完成 → 派 quality-reviewer 整体审查(必派、仅一次、在自审+sanity check 之后)
|
|
25
25
|
→ 不通过:主 agent 微修或派 fix 子 agent → 重审
|
|
26
26
|
|
|
27
|
-
4. 收尾:汇报 + 沉淀提示 + 未提交任务的 commit/PR 交用户决定(push 永远归用户)
|
|
27
|
+
4. 收尾:汇报 + 沉淀提示 + 交付讲解提示 + 未提交任务的 commit/PR 交用户决定(push 永远归用户)
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### 派任:四件套注入
|
|
@@ -88,7 +88,8 @@ Read 模板 + 任务/审查目标拼成 prompt,派 `general-purpose`:
|
|
|
88
88
|
|
|
89
89
|
1. 汇报:完成清单 / 修复历史 / 剩余风险 / plan 忠实度(`PLAN_FOLLOWED` / `PLAN_ADAPTED` / 是否出现并解决过 `PLAN_CONFLICT`)
|
|
90
90
|
2. 知识沉淀提示(确有内容才问):本次交付让某业务实体参与了新业务或出现新实体(实体 = 名词可指代、有属性和生命周期的业务对象)→ 新建/更新实体主条目(`business-entity`),流程条目在 concepts 声明该实体;或踩坑/隐式约束/取舍决策/跨文件关系值得复用。列候选清单问用户;确认 → 走 `knowledge-write` 完整流程。不要自己直接 Write .md
|
|
91
|
-
3.
|
|
91
|
+
3. 交付讲解提示(有实质代码改动才问):整体交付含新增接口/流程或改动既有逻辑 → 问"是否用 write-delivery-guide 生成本次整体交付的讲解?"确认 → 对**本次整体交付**(不是单个子任务)走 `write-delivery-guide` 完整流程;琐碎改动不提
|
|
92
|
+
4. 提示收尾:已按 plan「独立提交」标注提交的任务清单 + 未提交任务的 commit / PR 交用户决定;push 永远归用户。停下等用户
|
|
92
93
|
|
|
93
94
|
## 红线(绝对不能做)
|
|
94
95
|
|
|
@@ -62,9 +62,9 @@ tests {
|
|
|
62
62
|
expect(body.data).to.exist;
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
// 写接口额外写 DB 副作用预期注释,供 /run-api-test R4 AI 核实参考:
|
|
66
|
+
// DB 预期:users 表新增一行,name=测试用户,email=test@example.com
|
|
67
|
+
// DB 预期:user_profile 表同步新增一行,user_id=本次返回的 id
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
docs {
|
|
@@ -78,17 +78,17 @@ tests {
|
|
|
78
78
|
expect(body.data).to.exist;
|
|
79
79
|
});
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
// 写接口额外写 DB 副作用预期注释,供下游 /run-api-test 的 R4 AI 核实参考:
|
|
82
|
+
// DB 预期:users 表新增一行,name=测试用户,email=test@example.com
|
|
83
|
+
// DB 预期:user_profile 表同步新增一行,user_id=本次返回的 id
|
|
84
84
|
}
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
### 断言内容要求
|
|
88
88
|
|
|
89
|
-
- **HTTP 状态码断言** —
|
|
90
|
-
- **响应体关键字段断言** — 从 spec 接口语义或代码返回结构提取,用 `JSON.parse(res.getBody())` 取 body
|
|
91
|
-
- **写接口额外写 DB 副作用预期注释** — 用
|
|
89
|
+
- **HTTP 状态码断言** — 每个场景都要;正常场景通常 200/201;**异常场景不得默认 200**——状态码从 interface-standards.md 错误码约定取(可能是 400/404/409,也可能是项目特有业务码,如虎翼业务异常返回 HTTP 510),约定没写标【待确认】交用户,不拍脑袋
|
|
90
|
+
- **响应体关键字段断言** — 从 spec 接口语义或代码返回结构提取,用 `JSON.parse(res.getBody())` 取 body;字段名与嵌套层级以代码实际返回结构为准(含 `opp_key` 这类 snake_case、封装层是否还有一层嵌套),不凭驼峰习惯猜
|
|
91
|
+
- **写接口额外写 DB 副作用预期注释** — 用 `//` 注释,写预期会写/改/删哪些表哪些字段,供 `/run-api-test` R4 AI 核实参考
|
|
92
92
|
|
|
93
93
|
## 入参写真实值,不变量化
|
|
94
94
|
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: write-delivery-guide
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
description: 生成「交付讲解」—— AI 交付代码后人类能读懂的故事线讲解文档。触发来源:交付收尾提示后确认(implementation / subagent-implement),或用户要求生成/重生成/补交付讲解(讲一下这次交付了什么 / 重新生成需求 X 的讲解)。定位是派生视图:从 spec + diff + 代码现实生成,过期整体重生成,不人工维护一致性。按业务场景故事线组织(识别形态 → 读场景模板 → 生成 → 结尾导读入口)。不是契约,不重定义 spec。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 生成交付讲解 (Write Delivery Guide)
|
|
8
|
+
|
|
9
|
+
## 定位
|
|
10
|
+
|
|
11
|
+
- **让交付的代码对人可读**:读者是没写这批代码的技术接收者;目标是看懂代码(「像自己写过一样」),不是验收汇报。
|
|
12
|
+
- **派生视图,不是维护对象**:从 spec + diff + 代码现实生成;过期 → 重跑本 skill 整体重生成;永不人工维护与代码的一致性。
|
|
13
|
+
- **不是契约**:不重定义 spec 已锁定的契约;spec 与代码现实不符 → 标【待确认】并上报,不自行解释。
|
|
14
|
+
- **边界**:发布后设计文档合成 → `write-design-doc`;业务知识沉淀 → `knowledge-write`;工作量汇报 → `write-workload`。
|
|
15
|
+
|
|
16
|
+
## 依赖
|
|
17
|
+
|
|
18
|
+
- 存在代码改动(diff);无代码改动 → 不生成。
|
|
19
|
+
- spec / 知识库非必需但影响质量:无 spec → 从任务上下文 + diff 生成,文档头部标注「spec: 缺省」;知识库为空 → 跳过锚点法,不编造锚点。
|
|
20
|
+
|
|
21
|
+
## 流程
|
|
22
|
+
|
|
23
|
+
1. **确定范围**:feature-id(用户显式指定 > 从 cwd 向上探测最近的 `docs/features/<feature-id>/` > 都失败则询问);输出默认 `docs/features/<feature-id>/<前缀>-交付讲解.md`,用户可覆盖;无 feature 目录(临时任务)→ 不建目录,讲解直接在回复中输出。
|
|
24
|
+
2. **收集事实**:
|
|
25
|
+
- 读 spec(场景/角色/状态/接口章节)→ 形态识别与故事线素材;
|
|
26
|
+
- 读 diff → 本次交付的新增/修改清单;
|
|
27
|
+
- 读改动文件的相关代码 → 每个入口的实际逻辑、调用关系;
|
|
28
|
+
- `cgraphx docs find` 召回相关知识库条目(实体/流程)→ 锚点素材。
|
|
29
|
+
3. **识别用法形态**:见「形态 → 故事线主轴」;一次交付含多种形态 → 多条故事线各成一节;**拿不准 → 问用户,不猜**。
|
|
30
|
+
4. **读场景模板**:本 skill 目录存在 `template-<形态>.md` → 按模板生成(含其参考案例与常见讲错);不存在 → 按通用骨架生成 + 沉淀提示(见下)。
|
|
31
|
+
5. **生成**:按通用骨架 + 模板维度,执行「讲法底线」。
|
|
32
|
+
6. **自检**:每个结论有代码指针;本次交付的每个组件都挂进了故事线(无遗漏);四问齐全;mermaid 语法可渲染;未重定义 spec 契约;矛盾处已标【待确认】。
|
|
33
|
+
7. **落盘 + 导读入口**:写入路径;文档结尾给导读入口 + 示例问题(通用骨架第 7 节)。
|
|
34
|
+
|
|
35
|
+
## 通用骨架(七节,按此顺序)
|
|
36
|
+
|
|
37
|
+
| 节 | 内容 |
|
|
38
|
+
|---|---|
|
|
39
|
+
| 1. 30 秒看懂 | 一两句:解决了什么业务问题、在现有系统的哪个位置 |
|
|
40
|
+
| 2. 全景 | 本次交付参与的业务流程图(mermaid),**高亮本次新增/修改的部分** |
|
|
41
|
+
| 3. 场景故事线 | 按用法形态分节(可多条);主轴见下节 |
|
|
42
|
+
| 4. 组件挂接 | 每个接口/入口/模块按四问展开 |
|
|
43
|
+
| 5. 改动定位 | 仅当改动已有流程:改在哪个部位(引全景图标出)、前后对比、波及范围(哪些调用方/场景的行为受影响) |
|
|
44
|
+
| 6. 已验证与已知边界 | 验证跑通的路径 + 已知限制(业务确认砍掉的、暂不支持的) |
|
|
45
|
+
| 7. 导读入口 | 提示任意章节可追问,并给出针对本次交付的示例问题 |
|
|
46
|
+
|
|
47
|
+
## 形态 → 故事线主轴
|
|
48
|
+
|
|
49
|
+
| 用法形态 | 故事线主轴 | 图表类型 |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| 多角色流程(审批/退款类) | 角色 × 环节:谁在第几步干什么 | sequenceDiagram |
|
|
52
|
+
| 单入口管道(导入/同步任务) | 处理步骤:输入如何一步步变成输出 | flowchart |
|
|
53
|
+
| 管理 CRUD(配置管理类) | 对象生命周期:状态 + 每个操作推动到哪 | stateDiagram |
|
|
54
|
+
| 后台作业(定时任务/事件消费) | 触发时机:何时触发 / 干了什么 / 结果落哪 | flowchart |
|
|
55
|
+
| 改动型 | 原流程中的部位:原故事线第 N 步,前后对比 | stateDiagram / flowchart |
|
|
56
|
+
|
|
57
|
+
形态判断取材于 spec 的场景/角色/状态章节 + 代码接口形状。模板文件:`template-multi-role-flow.md`(多角色流程)、`template-change-type.md`(改动型);其余形态暂无模板,走通用骨架。
|
|
58
|
+
|
|
59
|
+
## 组件四问(每个组件必答)
|
|
60
|
+
|
|
61
|
+
1. **何时用**:谁触发、前置条件(哪个环节之后才轮到它);
|
|
62
|
+
2. **做什么**:核心逻辑,业务语言,3 句以内;
|
|
63
|
+
3. **用了之后使什么成为可能**:解锁的下一环节 + 副作用(写什么表、发什么事件、调谁);
|
|
64
|
+
4. **挂点**:前置环节 → 本组件 → 后续环节。
|
|
65
|
+
|
|
66
|
+
协议细节(参数/返回值字段)降级为附录或指向 spec,不占故事线主线。
|
|
67
|
+
|
|
68
|
+
## 讲法底线(所有内容适用)
|
|
69
|
+
|
|
70
|
+
- **锚点法**:新东西先挂在读者已知的事物上(知识库实体/既有流程/相似既有模式);知识库为空 → 用通用讲法,不编造锚点;
|
|
71
|
+
- **目的优先**:每个部分先答「你为解决什么问题而存在」,再讲结构;
|
|
72
|
+
- **请求走查**:至少一次带真实数据的完整请求/任务走查(故事式,非清单式);
|
|
73
|
+
- **代码指针**:每个结论指向代码(文件:行号 或 文件:符号);无法回代码验证的结论不写进讲解;
|
|
74
|
+
- **图优先 mermaid**:对齐 write-design-doc 的图表规范(flowchart / sequenceDiagram / stateDiagram 等)。
|
|
75
|
+
|
|
76
|
+
## 模板未覆盖形态的兜底 + 沉淀提示
|
|
77
|
+
|
|
78
|
+
无对应模板 → 按通用骨架生成;生成后问一句:「本次交付属于 <形态> 形态,尚无场景模板。若这份讲解有效,是否沉淀为新模板(写入 `template-<形态>.md`)?」用户同意 → 按统一六项结构写入(判断特征 / 故事线主轴 / 讲解维度要求 / 图表类型 / 完整参考案例 / 常见讲错),参考案例用本次交付;拒绝 → 不提。
|
|
79
|
+
|
|
80
|
+
## 重生成与回写
|
|
81
|
+
|
|
82
|
+
- 对同一 feature 重跑 = 整体重生成,替换旧文档;
|
|
83
|
+
- 旧文档含导读回写的内容 → 重生成前合并保留,不得静默覆盖。
|
|
84
|
+
|
|
85
|
+
## 模板进化
|
|
86
|
+
|
|
87
|
+
用户发现讲解不满足理解 → 导读先解决当次问题;再判断是个例(这次没讲好)还是模板缺陷(这类形态的讲法整体不对);模板缺陷 → 提示更新对应模板(经用户确认后写入)。
|
|
88
|
+
|
|
89
|
+
## 红线(绝对不能做)
|
|
90
|
+
|
|
91
|
+
1. ❌ **不编造** —— 无法回代码/spec/diff 验证的结论不写进讲解。
|
|
92
|
+
2. ❌ **不重定义 spec 契约** —— spec 与代码现实不符 → 标【待确认】并上报。
|
|
93
|
+
3. ❌ **不人工维护与代码的一致性** —— 派生视图,过期重生成。
|
|
94
|
+
4. ❌ **不猜形态** —— 拿不准就问用户。
|
|
95
|
+
5. ❌ **不编造锚点** —— 知识库为空用通用讲法。
|
|
96
|
+
6. ❌ **不静默丢失回写内容** —— 重生成时合并保留。
|
|
97
|
+
7. ❌ **不擅自创建 feature 目录** —— 临时任务直接在回复中输出。
|