@c4a/context-cli 0.6.19 → 0.7.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/README.md +67 -6
- package/README.zh-CN.md +42 -5
- package/cli.js +75051 -42154
- package/indexers/bundles/context-code-indexer/SKILL.md +20 -0
- package/indexers/bundles/context-code-indexer/context-indexer.yaml +230 -0
- package/indexers/bundles/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
- package/indexers/bundles/context-code-indexer/references/composers/cross-module-chain.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/development-and-delivery.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/event-flow.md +21 -0
- package/indexers/bundles/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/persistence-boundary.md +21 -0
- package/indexers/bundles/context-code-indexer/references/composers/protocol-boundary.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/public-contract.md +23 -0
- package/indexers/bundles/context-code-indexer/references/indexer.md +49 -0
- package/indexers/bundles/context-code-indexer/references/metrics.md +201 -0
- package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +119 -0
- package/indexers/bundles/context-code-indexer/templates/api-service.md +118 -0
- package/indexers/bundles/context-code-indexer/templates/background-runtime.md +109 -0
- package/indexers/bundles/context-code-indexer/templates/cli-tool.md +129 -0
- package/indexers/bundles/context-code-indexer/templates/component-library.md +99 -0
- package/indexers/bundles/context-code-indexer/templates/contract-source.md +73 -0
- package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
- package/indexers/bundles/context-code-indexer/templates/derived-generated-source.md +117 -0
- package/indexers/bundles/context-code-indexer/templates/domain-service.md +109 -0
- package/indexers/bundles/context-code-indexer/templates/event-consumer.md +62 -0
- package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +89 -0
- package/indexers/bundles/context-code-indexer/templates/monorepo-container.md +124 -0
- package/indexers/bundles/context-code-indexer/templates/plugin-extension.md +52 -0
- package/indexers/bundles/context-code-indexer/templates/sdk-library.md +132 -0
- package/indexers/bundles/context-code-indexer/templates/storage-repository.md +56 -0
- package/indexers/bundles/context-code-indexer/templates/web-application.md +146 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/chapters.json +226 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/composers.json +82 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/profiles.json +210 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/scenarios.json +122 -0
- package/indexers/bundles/context-markdown-indexer/SKILL.md +20 -0
- package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +147 -0
- package/indexers/bundles/context-markdown-indexer/references/classification.md +63 -0
- package/indexers/bundles/context-markdown-indexer/references/editorial-policy.md +106 -0
- package/indexers/bundles/context-markdown-indexer/references/indexer.md +23 -0
- package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +146 -0
- package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +151 -0
- package/indexers/capability-manifest.json +40 -0
- package/indexers/contracts/hard-rule-conformance.json +2644 -0
- package/indexers/contracts/operator-contract.json +35 -0
- package/indexers/contracts/profile-contract.json +10162 -0
- package/indexers/release-manifest.json +208 -0
- package/package.json +5 -4
- package/plugins/README.md +17 -109
- package/plugins/README_CN.md +11 -89
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +3 -11
- package/plugins/claude/CLAUDE.md +1 -1
- package/plugins/claude/README.md +1 -1
- package/plugins/claude/commands/context.md +76 -1
- package/plugins/codex/.codex-plugin/plugin.json +6 -17
- package/plugins/codex/AGENTS.md +1 -1
- package/plugins/codex/README.md +1 -1
- package/plugins/codex/skills/context/SKILL.md +77 -13
- package/plugins/cursor/.cursor-plugin/plugin.json +4 -17
- package/plugins/cursor/AGENTS.md +1 -1
- package/plugins/cursor/README.md +3 -2
- package/plugins/cursor/commands/c4a-context.md +76 -3
- package/plugins/skills/{c4a-context → context}/SKILL.md +78 -14
- package/plugins/skills/context-code-indexer/SKILL.md +20 -0
- package/plugins/skills/context-code-indexer/context-indexer.yaml +230 -0
- package/plugins/skills/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
- package/plugins/skills/context-code-indexer/references/composers/cross-module-chain.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/development-and-delivery.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/event-flow.md +21 -0
- package/plugins/skills/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/persistence-boundary.md +21 -0
- package/plugins/skills/context-code-indexer/references/composers/protocol-boundary.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/public-contract.md +23 -0
- package/plugins/skills/context-code-indexer/references/indexer.md +49 -0
- package/plugins/skills/context-code-indexer/references/metrics.md +201 -0
- package/plugins/skills/context-code-indexer/templates/adapter-integration.md +119 -0
- package/plugins/skills/context-code-indexer/templates/api-service.md +118 -0
- package/plugins/skills/context-code-indexer/templates/background-runtime.md +109 -0
- package/plugins/skills/context-code-indexer/templates/cli-tool.md +129 -0
- package/plugins/skills/context-code-indexer/templates/component-library.md +99 -0
- package/plugins/skills/context-code-indexer/templates/contract-source.md +73 -0
- package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
- package/plugins/skills/context-code-indexer/templates/derived-generated-source.md +117 -0
- package/plugins/skills/context-code-indexer/templates/domain-service.md +109 -0
- package/plugins/skills/context-code-indexer/templates/event-consumer.md +62 -0
- package/plugins/skills/context-code-indexer/templates/gateway-facade.md +89 -0
- package/plugins/skills/context-code-indexer/templates/monorepo-container.md +124 -0
- package/plugins/skills/context-code-indexer/templates/plugin-extension.md +52 -0
- package/plugins/skills/context-code-indexer/templates/sdk-library.md +132 -0
- package/plugins/skills/context-code-indexer/templates/storage-repository.md +56 -0
- package/plugins/skills/context-code-indexer/templates/web-application.md +146 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/chapters.json +226 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/composers.json +82 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/profiles.json +210 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/scenarios.json +122 -0
- package/plugins/skills/context-markdown-indexer/SKILL.md +20 -0
- package/plugins/skills/context-markdown-indexer/context-indexer.yaml +147 -0
- package/plugins/skills/context-markdown-indexer/references/classification.md +63 -0
- package/plugins/skills/context-markdown-indexer/references/editorial-policy.md +106 -0
- package/plugins/skills/context-markdown-indexer/references/indexer.md +23 -0
- package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +146 -0
- package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +151 -0
- package/providers/context/actions/accept-main-index-run.yaml +7 -0
- package/providers/context/actions/accept-material-answer-run.yaml +7 -0
- package/providers/context/actions/accept-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/actualize-material-answer-bindings.yaml +8 -0
- package/providers/context/actions/apply-document-optimization-guidance.yaml +5 -0
- package/providers/context/actions/apply-indexer-project.yaml +7 -0
- package/providers/context/actions/audit-material-gap-state.yaml +8 -0
- package/providers/context/actions/audit-projected-artifact-fan-out.yaml +8 -0
- package/providers/context/actions/authorize-indexer-contract-overlay.yaml +7 -0
- package/providers/context/actions/authorize-indexer-dependencies.yaml +7 -0
- package/providers/context/actions/authorize-indexer-program-execution.yaml +7 -0
- package/providers/context/actions/build-main-index-author-worksets.yaml +7 -0
- package/providers/context/actions/build-main-index-catalog-fallback.yaml +7 -0
- package/providers/context/actions/build-main-index-partition-worksets.yaml +7 -0
- package/providers/context/actions/build-material-question-workset.yaml +7 -0
- package/providers/context/actions/build-post-author-composer-worksets.yaml +7 -0
- package/providers/context/actions/build-question-target-inventory.yaml +7 -0
- package/providers/context/actions/build-subject-catalog.yaml +7 -0
- package/providers/context/actions/build-target-resolution-views.yaml +7 -0
- package/providers/context/actions/checkpoint-material-answer-review.yaml +8 -0
- package/providers/context/actions/checkpoint-material-gaps.yaml +8 -0
- package/providers/context/actions/close-indexer-approved-knowledge.yaml +8 -0
- package/providers/context/actions/compile-indexer-candidates.yaml +8 -0
- package/providers/context/actions/compose-indexer-post-author-fragments.yaml +7 -0
- package/providers/context/actions/configure-community-indexer-fallback.yaml +6 -0
- package/providers/context/actions/configure-indexer-providers.yaml +6 -0
- package/providers/context/actions/confirm-index-requirement-workset.yaml +8 -0
- package/providers/context/actions/confirm-subject-reidentification.yaml +8 -0
- package/providers/context/actions/converge-main-index-partition-run.yaml +7 -0
- package/providers/context/actions/discover-markdown-indexer-providers.yaml +6 -0
- package/providers/context/actions/evaluate-material-gaps.yaml +8 -0
- package/providers/context/actions/fail-main-index-run.yaml +7 -0
- package/providers/context/actions/fail-material-answer-run.yaml +7 -0
- package/providers/context/actions/fail-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +8 -0
- package/providers/context/actions/inspect-index-profile-failure.yaml +7 -0
- package/providers/context/actions/inspect-indexer-dependencies.yaml +7 -0
- package/providers/context/actions/inspect-indexer-program-execution.yaml +7 -0
- package/providers/context/actions/inspect-indexer-project-proposal.yaml +7 -0
- package/providers/context/actions/inspect-markdown-provider-capture.yaml +7 -0
- package/providers/context/actions/inspect-material-answer-review.yaml +8 -0
- package/providers/context/actions/materialize-indexer-instructions.yaml +7 -0
- package/providers/context/actions/observe-indexer-project.yaml +7 -0
- package/providers/context/actions/observe-main-index-run-ledger.yaml +7 -0
- package/providers/context/actions/observe-material-answer-runs.yaml +7 -0
- package/providers/context/actions/observe-post-author-composer-worksets.yaml +7 -0
- package/providers/context/actions/override-index-profile-audit.yaml +7 -0
- package/providers/context/actions/prepare-indexer-customization-project.yaml +7 -0
- package/providers/context/actions/prepare-main-index-run-ledger.yaml +7 -0
- package/providers/context/actions/prepare-material-answer-runs.yaml +7 -0
- package/providers/context/actions/propose-indexer-customization.yaml +7 -0
- package/providers/context/actions/propose-overlay-question-amendment.yaml +7 -0
- package/providers/context/actions/rebind-indexer-selection-to-requirement.yaml +7 -0
- package/providers/context/actions/reconcile-indexer-results.yaml +7 -0
- package/providers/context/actions/record-index-profile-revision.yaml +7 -0
- package/providers/context/actions/report-index-profile-failure.yaml +7 -0
- package/providers/context/actions/report-indexer-incremental-impact.yaml +8 -0
- package/providers/context/actions/resolve-effective-composers.yaml +7 -0
- package/providers/context/actions/review-material-answer-candidate.yaml +8 -0
- package/providers/context/actions/revise-index-output.yaml +7 -0
- package/providers/context/actions/route-index-requirement-confirmation.yaml +8 -0
- package/providers/context/actions/route-indexer-provider-selection.yaml +7 -0
- package/providers/context/actions/run-indexer-agent-step.yaml +7 -0
- package/providers/context/actions/run-indexer-post-author-composer.yaml +7 -0
- package/providers/context/actions/run-material-answer-indexers.yaml +7 -0
- package/providers/context/actions/start-main-index-run.yaml +7 -0
- package/providers/context/actions/start-material-answer-run.yaml +7 -0
- package/providers/context/actions/start-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/validate-indexer-contract-overlays.yaml +7 -0
- package/providers/context/actions/validate-indexer-customization.yaml +7 -0
- package/providers/context/actions/validate-indexer-selection-proposal.yaml +7 -0
- package/providers/context/actions/validate-main-index-run.yaml +7 -0
- package/providers/context/actions/validate-markdown-provider-selection.yaml +7 -0
- package/providers/context/actions/validate-subject-key-schemas.yaml +8 -0
- package/providers/context/codes.yaml +70 -0
- package/providers/context/graphs/indexer.yaml +1068 -0
- package/providers/context/graphs/workspace.yaml +20 -1
- package/providers/context/manifest.json +1433 -121
- package/providers/context/provider.yaml +3 -2
- package/providers/context/resources/manuals/reference/code-extractors.md +2 -2
- package/providers/context/resources/manuals/reference/project-api.md +2 -2
- package/providers/context/resources/procedures/code-extraction.md +6 -2
- package/providers/context/resources/procedures/code-index-audit.md +36 -6
- package/providers/context/resources/procedures/document-optimization.md +23 -4
- package/providers/context/resources/semantic/code-index/templates/adapter.md +9 -0
- package/providers/context/resources/semantic/code-index/templates/contracts-and-chains.md +81 -0
- package/providers/context/resources/views/resolved-indexer-instructions.yaml +23 -0
- package/providers/context/schemas/document-optimization-decisions.schema.json +1 -1
- package/providers/context/schemas/indexer-agent-step-input.schema.json +30 -0
- package/providers/context/schemas/indexer-agent-step-result.schema.json +47 -0
- package/providers/context/schemas/indexer-candidate-compile-input.schema.json +57 -0
- package/providers/context/schemas/indexer-candidate-compile-output.schema.json +38 -0
- package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +46 -0
- package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +104 -0
- package/providers/context/schemas/indexer-contract-overlay-authorization-input.schema.json +32 -0
- package/providers/context/schemas/indexer-contract-overlay-authorization-result.schema.json +121 -0
- package/providers/context/schemas/indexer-contract-overlay-validation-input.schema.json +90 -0
- package/providers/context/schemas/indexer-contract-overlay-validation-result.schema.json +158 -0
- package/providers/context/schemas/indexer-customization-project-preparation-result.schema.json +44 -0
- package/providers/context/schemas/indexer-customization-proposal-draft.schema.json +83 -0
- package/providers/context/schemas/indexer-customization-validation-result.schema.json +36 -0
- package/providers/context/schemas/indexer-dependency-authorization-input.schema.json +71 -0
- package/providers/context/schemas/indexer-dependency-authorization-result.schema.json +138 -0
- package/providers/context/schemas/indexer-incremental-impact-input.schema.json +31 -0
- package/providers/context/schemas/indexer-incremental-impact-output.schema.json +52 -0
- package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +187 -0
- package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +180 -0
- package/providers/context/schemas/indexer-markdown-provider-capture-input.schema.json +17 -0
- package/providers/context/schemas/indexer-markdown-provider-capture-output.schema.json +54 -0
- package/providers/context/schemas/indexer-markdown-provider-validation-input.schema.json +34 -0
- package/providers/context/schemas/indexer-markdown-provider-validation-output.schema.json +75 -0
- package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +90 -0
- package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +80 -0
- package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +32 -0
- package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +32 -0
- package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +19 -0
- package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +87 -0
- package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +86 -0
- package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +19 -0
- package/providers/context/schemas/indexer-materialize-request.schema.json +53 -0
- package/providers/context/schemas/indexer-materialized-resource.schema.json +57 -0
- package/providers/context/schemas/indexer-overlay-question-amendment.schema.json +13 -0
- package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +40 -0
- package/providers/context/schemas/indexer-overlay-question-rebind-input.schema.json +35 -0
- package/providers/context/schemas/indexer-overlay-question-rebind-result.schema.json +25 -0
- package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +26 -0
- package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +18 -0
- package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +94 -0
- package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +72 -0
- package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +13 -0
- package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +19 -0
- package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +22 -0
- package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +49 -0
- package/providers/context/schemas/indexer-profile-override-decision.schema.json +20 -0
- package/providers/context/schemas/indexer-profile-override-result.schema.json +49 -0
- package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +18 -0
- package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +31 -0
- package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +45 -0
- package/providers/context/schemas/indexer-program-execution-authorization-input.schema.json +145 -0
- package/providers/context/schemas/indexer-program-execution-authorization-result.schema.json +60 -0
- package/providers/context/schemas/indexer-project-action-result.schema.json +19 -0
- package/providers/context/schemas/indexer-project-gate-input.schema.json +100 -0
- package/providers/context/schemas/indexer-project-observation-input.schema.json +16 -0
- package/providers/context/schemas/indexer-project-observation-result.schema.json +42 -0
- package/providers/context/schemas/indexer-provider-route-input.schema.json +55 -0
- package/providers/context/schemas/indexer-provider-route-report.schema.json +188 -0
- package/providers/context/schemas/indexer-requirement-confirmation-input.schema.json +27 -0
- package/providers/context/schemas/indexer-requirement-confirmation-output.schema.json +24 -0
- package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +59 -0
- package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +43 -0
- package/providers/context/schemas/indexer-selection-proposal-input.schema.json +12 -0
- package/providers/context/schemas/indexer-selection-proposal-validation.schema.json +23 -0
- package/providers/context/schemas/indexer-subject-reidentification-input.schema.json +37 -0
- package/providers/context/schemas/indexer-subject-reidentification-output.schema.json +31 -0
- package/providers/context/skills/configure-indexer-providers/SKILL.md +58 -0
- package/providers/context/skills/prepare-indexer-customization-project/SKILL.md +31 -0
- package/providers/context/skills/propose-indexer-customization/SKILL.md +40 -0
- package/providers/context/skills/revise-index-output/SKILL.md +12 -0
- package/providers/context/skills/run-indexer-agent-step/SKILL.md +20 -0
- package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +21 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Profile metric revision guide
|
|
2
|
+
|
|
3
|
+
Use the current CLI audit as the sole source of actual, recommended, and hard values. This guide explains how to revise a Result; it does not define thresholds or authorize changing a denominator.
|
|
4
|
+
|
|
5
|
+
## inventory-disposition-coverage
|
|
6
|
+
|
|
7
|
+
### Meaning
|
|
8
|
+
|
|
9
|
+
Every identity in the CLI inventory needs an owned, excluded, or unsupported disposition.
|
|
10
|
+
|
|
11
|
+
### Revise
|
|
12
|
+
|
|
13
|
+
Return decisions for the reported missing identities, preserving the complete inventory denominator and citing the evidence behind exclusions or unsupported cases.
|
|
14
|
+
|
|
15
|
+
### Positive example
|
|
16
|
+
|
|
17
|
+
An internal generated file is retained in the inventory and marked excluded with its generated-source evidence.
|
|
18
|
+
|
|
19
|
+
### Anti-example
|
|
20
|
+
|
|
21
|
+
The Result omits files that did not fit the selected template.
|
|
22
|
+
|
|
23
|
+
## duplicated-fact-target-ratio
|
|
24
|
+
|
|
25
|
+
### Meaning
|
|
26
|
+
|
|
27
|
+
The same reader fact should have one canonical target rather than competing copies across Artifacts.
|
|
28
|
+
|
|
29
|
+
### Revise
|
|
30
|
+
|
|
31
|
+
Choose the canonical owner, replace other copies with explicit relationships, and keep evidence on the owning fact.
|
|
32
|
+
|
|
33
|
+
### Positive example
|
|
34
|
+
|
|
35
|
+
One contract Artifact owns the request semantics while the overview links to it.
|
|
36
|
+
|
|
37
|
+
### Anti-example
|
|
38
|
+
|
|
39
|
+
Several pages repeat the same behavior paragraph with different headings.
|
|
40
|
+
|
|
41
|
+
## narrative-enumeration-ratio
|
|
42
|
+
|
|
43
|
+
### Meaning
|
|
44
|
+
|
|
45
|
+
Reader prose should explain capabilities and boundaries instead of restating a deterministic inventory as sentences.
|
|
46
|
+
|
|
47
|
+
### Revise
|
|
48
|
+
|
|
49
|
+
Move exhaustive identities into the deterministic catalog, group related items by a reader question, and explain responsibility, differences, and handoffs.
|
|
50
|
+
|
|
51
|
+
### Positive example
|
|
52
|
+
|
|
53
|
+
A capability section explains dispatch choices and links to a complete generated route catalog.
|
|
54
|
+
|
|
55
|
+
### Anti-example
|
|
56
|
+
|
|
57
|
+
The page turns every discovered symbol into an “observed” bullet.
|
|
58
|
+
|
|
59
|
+
## normalized-template-repetition-ratio
|
|
60
|
+
|
|
61
|
+
### Meaning
|
|
62
|
+
|
|
63
|
+
Repeated sentence frames with only identity substitutions indicate template residue rather than evidence-specific explanation.
|
|
64
|
+
|
|
65
|
+
### Revise
|
|
66
|
+
|
|
67
|
+
Merge repeated observations, describe the shared rule once, and record meaningful exceptions with their own evidence.
|
|
68
|
+
|
|
69
|
+
### Positive example
|
|
70
|
+
|
|
71
|
+
A family section states the common lifecycle and separately explains the exceptional member.
|
|
72
|
+
|
|
73
|
+
### Anti-example
|
|
74
|
+
|
|
75
|
+
Every member receives the same sentence with only its name changed.
|
|
76
|
+
|
|
77
|
+
## implementation-body-ratio
|
|
78
|
+
|
|
79
|
+
### Meaning
|
|
80
|
+
|
|
81
|
+
Reader knowledge should describe stable behavior without copying implementation bodies, generated payloads, or declaration dumps.
|
|
82
|
+
|
|
83
|
+
### Revise
|
|
84
|
+
|
|
85
|
+
Replace copied code with an evidence-bound behavioral statement and retain only a small excerpt when it is necessary to explain a contract or failure boundary.
|
|
86
|
+
|
|
87
|
+
### Positive example
|
|
88
|
+
|
|
89
|
+
The page explains the validation and rollback sequence and links to the exact implementation locator.
|
|
90
|
+
|
|
91
|
+
### Anti-example
|
|
92
|
+
|
|
93
|
+
The page embeds the complete function or generated type file as its main content.
|
|
94
|
+
|
|
95
|
+
## reference-only-reader-targets
|
|
96
|
+
|
|
97
|
+
### Meaning
|
|
98
|
+
|
|
99
|
+
A reader target requires a CLI-authorized declaration, registration, public contract, approved Subject, or Partition Subject identity.
|
|
100
|
+
|
|
101
|
+
### Revise
|
|
102
|
+
|
|
103
|
+
Merge aliases and ordinary references into their canonical owner, or remove the target when no authorized identity observation exists.
|
|
104
|
+
|
|
105
|
+
### Positive example
|
|
106
|
+
|
|
107
|
+
A re-export alias points to the canonical public target instead of creating another page.
|
|
108
|
+
|
|
109
|
+
### Anti-example
|
|
110
|
+
|
|
111
|
+
A frequently imported helper becomes a target solely because it has many references.
|
|
112
|
+
|
|
113
|
+
## unresolved-ordinal-partitions
|
|
114
|
+
|
|
115
|
+
### Meaning
|
|
116
|
+
|
|
117
|
+
Partition identity must come from a stable semantic boundary, not traversal order or a fixed batch label.
|
|
118
|
+
|
|
119
|
+
### Revise
|
|
120
|
+
|
|
121
|
+
Regroup members by capability, entrypoint, lifecycle stage, state owner, protocol boundary, or handoff; if none applies, return the protocol outcome for CLI-owned catalog fallback.
|
|
122
|
+
|
|
123
|
+
### Positive example
|
|
124
|
+
|
|
125
|
+
Handlers are grouped by the reader-visible protocol capability they implement.
|
|
126
|
+
|
|
127
|
+
### Anti-example
|
|
128
|
+
|
|
129
|
+
Files are divided into successive numbered batches to reduce page size.
|
|
130
|
+
|
|
131
|
+
## discretionary-artifacts-per-logical-unit
|
|
132
|
+
|
|
133
|
+
### Meaning
|
|
134
|
+
|
|
135
|
+
Optional Artifacts must answer distinct reader questions allowed by the selected Bundle variant.
|
|
136
|
+
|
|
137
|
+
### Revise
|
|
138
|
+
|
|
139
|
+
Remove unsupported optional Artifacts, merge overlapping ones, or select another CLI-eligible variant when canonical facts justify it.
|
|
140
|
+
|
|
141
|
+
### Positive example
|
|
142
|
+
|
|
143
|
+
An examples Artifact is retained because it explains a distinct usage scenario with independent evidence.
|
|
144
|
+
|
|
145
|
+
### Anti-example
|
|
146
|
+
|
|
147
|
+
The Result creates extra pages to spread the same prose across a larger Bundle.
|
|
148
|
+
|
|
149
|
+
## example-candidate-decision-coverage
|
|
150
|
+
|
|
151
|
+
### Meaning
|
|
152
|
+
|
|
153
|
+
Every CLI-discovered example candidate needs one explicit terminal or merge decision.
|
|
154
|
+
|
|
155
|
+
### Revise
|
|
156
|
+
|
|
157
|
+
Decide each reported candidate as linked, merged, documentation-only, excluded with reason, or blocked by a material request.
|
|
158
|
+
|
|
159
|
+
### Positive example
|
|
160
|
+
|
|
161
|
+
A duplicate scenario is merged into a canonical example through its full example identity.
|
|
162
|
+
|
|
163
|
+
### Anti-example
|
|
164
|
+
|
|
165
|
+
Unclear examples disappear from the Result without a disposition.
|
|
166
|
+
|
|
167
|
+
## example-representative-coverage
|
|
168
|
+
|
|
169
|
+
### Meaning
|
|
170
|
+
|
|
171
|
+
Eligible scenarios need retained representatives that explain setup, key calls, parameters, and expected behavior.
|
|
172
|
+
|
|
173
|
+
### Revise
|
|
174
|
+
|
|
175
|
+
Promote or merge evidence-backed examples for the reported uncovered scenarios and close each required facet explicitly.
|
|
176
|
+
|
|
177
|
+
### Positive example
|
|
178
|
+
|
|
179
|
+
A canonical example covers the scenario and records evidence-backed not-applicable facets.
|
|
180
|
+
|
|
181
|
+
### Anti-example
|
|
182
|
+
|
|
183
|
+
A path is listed as an example without explaining how or why it is used.
|
|
184
|
+
|
|
185
|
+
## example-public-target-linkage
|
|
186
|
+
|
|
187
|
+
### Meaning
|
|
188
|
+
|
|
189
|
+
Eligible examples should resolve to the exact public target they demonstrate whenever that target exists.
|
|
190
|
+
|
|
191
|
+
### Revise
|
|
192
|
+
|
|
193
|
+
Resolve aliases, repair the terminal decision chain, and bind the representative to the CLI-supplied public target identity.
|
|
194
|
+
|
|
195
|
+
### Positive example
|
|
196
|
+
|
|
197
|
+
A scenario variant merges into a representative whose terminal decision links the canonical public target.
|
|
198
|
+
|
|
199
|
+
### Anti-example
|
|
200
|
+
|
|
201
|
+
An example is linked to a similarly named internal helper or only to a directory.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.adapter-integration
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Adapter, bridge, and integration template
|
|
8
|
+
|
|
9
|
+
Use for `adapter-integration`: BFFs, protocol bridges, host integrations, plugin adapters,
|
|
10
|
+
compatibility layers, gateways, and translators whose stable responsibility is
|
|
11
|
+
to connect two boundaries. An ordinary internal helper that converts one object
|
|
12
|
+
is not automatically an adapter module.
|
|
13
|
+
|
|
14
|
+
Use the exact profile and Artifact policy variant supplied by the workset. For
|
|
15
|
+
an inbound operation surface, combine this template with the selected gateway
|
|
16
|
+
or protocol evidence without creating a second operation registry.
|
|
17
|
+
|
|
18
|
+
## Evidence pass
|
|
19
|
+
|
|
20
|
+
Locate both sides of the boundary and the code that joins them:
|
|
21
|
+
|
|
22
|
+
- inbound operation, event, command, host hook, or extension registration;
|
|
23
|
+
- outbound operation, client, plugin contribution, or runtime capability;
|
|
24
|
+
- authoritative input and output contract locations;
|
|
25
|
+
- identity, field, enum, version, and lifecycle mappings;
|
|
26
|
+
- authentication, authorization, credential, and context propagation;
|
|
27
|
+
- validation, normalization, batching, caching, fallback, and compatibility;
|
|
28
|
+
- timeout, retry, partial failure, and error/status translation;
|
|
29
|
+
- configuration, feature selection, ownership, and release entrypoints;
|
|
30
|
+
- generated DTOs/clients and converter helpers that should remain evidence.
|
|
31
|
+
|
|
32
|
+
Sample representative paths from each mapping family. Do not claim a mapping
|
|
33
|
+
from matching field names alone.
|
|
34
|
+
|
|
35
|
+
## Questions the knowledge must answer
|
|
36
|
+
|
|
37
|
+
1. Which two boundaries does the adapter connect, and who owns each one?
|
|
38
|
+
2. What triggers the mapping and where is it registered?
|
|
39
|
+
3. Which fields, identities, versions, or lifecycle states are transformed?
|
|
40
|
+
4. Which values pass through unchanged, default, or intentionally disappear?
|
|
41
|
+
5. How are credentials, context, errors, retries, and fallbacks translated?
|
|
42
|
+
6. Which contracts are authoritative and which artifacts are generated?
|
|
43
|
+
7. What compatibility obligation makes the adapter stable knowledge?
|
|
44
|
+
|
|
45
|
+
## Suggested knowledge units
|
|
46
|
+
|
|
47
|
+
- **Adapter contract**: responsibility, inbound/outbound boundaries,
|
|
48
|
+
registration, ownership, and authoritative contracts.
|
|
49
|
+
- **Operation mapping registry**: use the canonical operation record from
|
|
50
|
+
`protocol-boundary.md` and add only adapter-specific transformation fields.
|
|
51
|
+
- **Data or identity mapping**: only stable, non-trivial mappings that readers
|
|
52
|
+
must understand; summarize generated field copies.
|
|
53
|
+
- **Lifecycle and failure translation**: when activation, cancellation,
|
|
54
|
+
retries, partial failure, or compatibility behavior is material.
|
|
55
|
+
- **Cross-module execution path**: when both connected modules are registered
|
|
56
|
+
sources and the chain is source-backed.
|
|
57
|
+
|
|
58
|
+
## Chapter blueprints
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# <Adapter> contract
|
|
62
|
+
## Responsibility and connected boundaries
|
|
63
|
+
## Activation or registration
|
|
64
|
+
## Inbound contracts
|
|
65
|
+
## Outbound contracts
|
|
66
|
+
## Data, identity, and lifecycle mapping
|
|
67
|
+
## Authentication and context propagation
|
|
68
|
+
## Error, retry, fallback, and compatibility behavior
|
|
69
|
+
## Configuration, ownership, and release
|
|
70
|
+
## Evidence and exclusions
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
For adapter-specific detail attached to a canonical operation record:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
## Adapter transformation
|
|
77
|
+
- Mapper/handler entry:
|
|
78
|
+
- Field/identity/default transformations:
|
|
79
|
+
- Context and credential propagation:
|
|
80
|
+
- Error and fallback mapping:
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Granularity and relationships
|
|
84
|
+
|
|
85
|
+
Group mappings that share the same boundary pair and transformation policy.
|
|
86
|
+
Split when protocol authority, ownership, lifecycle, or failure semantics
|
|
87
|
+
differ. Do not publish every DTO, converter, generated client, or transport
|
|
88
|
+
helper separately.
|
|
89
|
+
|
|
90
|
+
Add structured edges only for concrete registration and call paths. Keep a
|
|
91
|
+
narrative locator when dynamic dispatch prevents an unambiguous edge.
|
|
92
|
+
|
|
93
|
+
Return `identityGroups` when several target identities share one explained
|
|
94
|
+
adapter responsibility. Return every source-backed adjacency in
|
|
95
|
+
`chainCandidates`, then provide one `chainCandidateDecisions` record for each
|
|
96
|
+
candidate. A documented decision names the reader-facing view and emits its
|
|
97
|
+
structured edge; an equivalent candidate merges into that canonical candidate;
|
|
98
|
+
false positives and missing external material use `exclude` or `request-input`
|
|
99
|
+
with a concrete reason. Read `contracts-and-chains.md` for the complete generic
|
|
100
|
+
contract.
|
|
101
|
+
|
|
102
|
+
## Template composition examples
|
|
103
|
+
|
|
104
|
+
- An HTTP endpoint backed by an RPC client is `api-service` + `adapter-integration`; combine
|
|
105
|
+
one operation registry with one mapping contract rather than duplicating the
|
|
106
|
+
route facts.
|
|
107
|
+
- A host plugin bridge reads `plugin-extension.md` and may also be `sdk-library`
|
|
108
|
+
when consumers import
|
|
109
|
+
a supported extension API.
|
|
110
|
+
- A compatibility wrapper over generated clients also reads
|
|
111
|
+
`derived-generated-source.md` and identifies the authoritative schemas.
|
|
112
|
+
|
|
113
|
+
## Revise or stop when
|
|
114
|
+
|
|
115
|
+
- either side of the adapter cannot be identified;
|
|
116
|
+
- mappings are inferred only from same-named types or fields;
|
|
117
|
+
- credential, identity, or error behavior would be guessed;
|
|
118
|
+
- generated DTOs are replacing authoritative contracts in the plan;
|
|
119
|
+
- the adapter page would merely say that one module “calls” another.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.api-service
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# API service and gateway template
|
|
8
|
+
|
|
9
|
+
Use after classifying an inbound HTTP, RPC, GraphQL, message-request, or similar
|
|
10
|
+
surface as `api-service`. A module that only calls a remote API is a protocol
|
|
11
|
+
consumer, not automatically an API service. Gateways that translate to another
|
|
12
|
+
protocol normally also selects `adapter-integration`.
|
|
13
|
+
|
|
14
|
+
Use the exact profile and Artifact policy variant supplied by the workset. If
|
|
15
|
+
the reader goal is primarily the transformation between inbound and outbound
|
|
16
|
+
boundaries, use the selected adapter-integration profile and retain one
|
|
17
|
+
canonical operation registry.
|
|
18
|
+
|
|
19
|
+
## Evidence pass
|
|
20
|
+
|
|
21
|
+
Locate and connect:
|
|
22
|
+
|
|
23
|
+
- process/server entry and service startup;
|
|
24
|
+
- route, method, resolver, or service registration;
|
|
25
|
+
- middleware, authentication, authorization, validation, and request context;
|
|
26
|
+
- handler dispatch and the first stable domain/downstream boundary;
|
|
27
|
+
- authoritative IDL, OpenAPI, schema, service definition, or registration;
|
|
28
|
+
- response/error mapping, retry, timeout, and compatibility behavior;
|
|
29
|
+
- configuration, local run, test, deployment, and release entrypoints;
|
|
30
|
+
- generated models or clients and their actual source of truth.
|
|
31
|
+
|
|
32
|
+
Prefer explicit registrations over handler filenames. Sample enough operations
|
|
33
|
+
from each registration family to verify that the proposed aggregation is real.
|
|
34
|
+
|
|
35
|
+
## Questions the knowledge must answer
|
|
36
|
+
|
|
37
|
+
1. What protocol does the module provide, and where is it registered?
|
|
38
|
+
2. Which operations are stable and who handles each one?
|
|
39
|
+
3. What authentication, validation, middleware, or request context applies?
|
|
40
|
+
4. Where does each operation hand off to domain logic or a downstream system?
|
|
41
|
+
5. How are successful responses and failures translated?
|
|
42
|
+
6. Which schema is authoritative, and which files are generated projections?
|
|
43
|
+
7. How is the service run, configured, observed, and released?
|
|
44
|
+
|
|
45
|
+
## Suggested knowledge units
|
|
46
|
+
|
|
47
|
+
- **Service boundary**: responsibility, startup, supported protocols,
|
|
48
|
+
middleware order, downstream systems, and ownership.
|
|
49
|
+
- **Operation registry**: use the canonical operation record from
|
|
50
|
+
`protocol-boundary.md`, adding handler and middleware detail from this
|
|
51
|
+
template rather than creating a second registry.
|
|
52
|
+
- **Dispatch and dependency map**: route/service registration to handler to
|
|
53
|
+
domain/RPC/repository boundary, grouped by coherent operation family.
|
|
54
|
+
- **Error and compatibility contract**: only when status/error mapping,
|
|
55
|
+
versioning, fallback, or compatibility is stable and source-backed.
|
|
56
|
+
- **Runtime and delivery guide**: configuration, startup, diagnostics,
|
|
57
|
+
deployment, and release entrypoints owned by this service.
|
|
58
|
+
|
|
59
|
+
Do not create a page per generated request/response model, constant, converter,
|
|
60
|
+
pack/unpack helper, or handler-local function.
|
|
61
|
+
|
|
62
|
+
## Chapter blueprints
|
|
63
|
+
|
|
64
|
+
A service-boundary page may use:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# <Service> boundary
|
|
68
|
+
## Responsibility and consumers
|
|
69
|
+
## Startup and protocol registration
|
|
70
|
+
## Middleware and request lifecycle
|
|
71
|
+
## Operation families
|
|
72
|
+
## Domain and downstream dependencies
|
|
73
|
+
## Error, timeout, and compatibility behavior
|
|
74
|
+
## Configuration, observability, and release
|
|
75
|
+
## Exclusions and authoritative schemas
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
A focused execution-path page may use:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# <Operation> execution path
|
|
82
|
+
## Inbound contract
|
|
83
|
+
## Middleware and validation
|
|
84
|
+
## Handler orchestration
|
|
85
|
+
## Domain/downstream handoff
|
|
86
|
+
## Response and error mapping
|
|
87
|
+
## Source-backed edges
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Granularity and relationships
|
|
91
|
+
|
|
92
|
+
Aggregate operations that share registration, middleware, handler family, and
|
|
93
|
+
downstream ownership. Split when operation families have different contracts,
|
|
94
|
+
owners, or execution paths—not merely because they are separate methods.
|
|
95
|
+
|
|
96
|
+
Record a route-to-handler or handler-to-downstream edge only when the route
|
|
97
|
+
table, registration, call site, or parser evidence is unambiguous. Generated
|
|
98
|
+
types can locate fields but do not prove runtime behavior.
|
|
99
|
+
|
|
100
|
+
## Template composition examples
|
|
101
|
+
|
|
102
|
+
- A gateway that receives HTTP and calls RPC reads `adapter-integration.md` and
|
|
103
|
+
`protocol-boundary.md` in addition to this template.
|
|
104
|
+
- An RPC service containing stable domain orchestration also reads
|
|
105
|
+
`domain-service.md`.
|
|
106
|
+
- An event-triggered endpoint may require `event-flow.md`; background consumers
|
|
107
|
+
use `background-runtime.md`.
|
|
108
|
+
|
|
109
|
+
## Revise or stop when
|
|
110
|
+
|
|
111
|
+
- no registration or authoritative operation identity is available;
|
|
112
|
+
- the plan lists handlers without connecting them to provided operations;
|
|
113
|
+
- the only contract source is generated code with an unknown upstream schema;
|
|
114
|
+
- security or error behavior would be guessed from names;
|
|
115
|
+
- scan mode would expand models and helpers into hundreds of pages.
|
|
116
|
+
|
|
117
|
+
Return a `request-material` disposition tied to a blocking material-question
|
|
118
|
+
proposal when required protocol semantics remain unavailable before preview.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.background-runtime
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Background runtime template
|
|
8
|
+
|
|
9
|
+
Use for `background-runtime`: queue or stream consumers, scheduled jobs,
|
|
10
|
+
pipelines, functions, controllers, watchers, and long-running agents activated
|
|
11
|
+
by a trigger instead of an interactive request.
|
|
12
|
+
|
|
13
|
+
Use the exact profile and Artifact policy variant supplied by the workset.
|
|
14
|
+
|
|
15
|
+
## Evidence pass
|
|
16
|
+
|
|
17
|
+
Locate:
|
|
18
|
+
|
|
19
|
+
- process/runtime bootstrap and worker/job registration;
|
|
20
|
+
- trigger identity: topic, queue, schedule, hook, file, controller event, or
|
|
21
|
+
platform invocation;
|
|
22
|
+
- payload/schema locator and producer when available;
|
|
23
|
+
- handler dispatch, concurrency, partitioning, ordering, and state changes;
|
|
24
|
+
- downstream services, persistence, emitted events, and side effects;
|
|
25
|
+
- retry, timeout, checkpoint, idempotency, dead-letter, and recovery behavior;
|
|
26
|
+
- configuration, scaling, health, observability, deployment, and ownership;
|
|
27
|
+
- replay/test fixtures and generated payload types that are not authoritative.
|
|
28
|
+
|
|
29
|
+
Distinguish code defaults from runtime configuration. Do not describe delivery
|
|
30
|
+
guarantees unless registration, framework configuration, or maintained
|
|
31
|
+
documentation proves them.
|
|
32
|
+
|
|
33
|
+
## Questions the knowledge must answer
|
|
34
|
+
|
|
35
|
+
1. What activates the runtime and where is that trigger registered?
|
|
36
|
+
2. What input contract is consumed, and who produces it?
|
|
37
|
+
3. How does work move from dispatch through orchestration and side effects?
|
|
38
|
+
4. What are the concurrency, ordering, retry, and idempotency boundaries?
|
|
39
|
+
5. How does the runtime checkpoint, recover, or surface failed work?
|
|
40
|
+
6. How is it configured, operated, observed, scaled, and deployed?
|
|
41
|
+
|
|
42
|
+
## Suggested knowledge units
|
|
43
|
+
|
|
44
|
+
- **Runtime map**: bootstrap, trigger families, handler registry, dependencies,
|
|
45
|
+
state boundaries, and operating model.
|
|
46
|
+
- **Trigger/workflow registry**: stable trigger identity, input contract,
|
|
47
|
+
handler, downstream effects, retry/idempotency, and source locator.
|
|
48
|
+
- **Processing flow**: focused end-to-end path for a high-value workflow family.
|
|
49
|
+
- **Recovery and operations guide**: checkpointing, failed work, observability,
|
|
50
|
+
configuration, local execution, deployment, and safe replay where evidenced.
|
|
51
|
+
- **Producer-consumer chain**: only when both registered modules and the event
|
|
52
|
+
identity are source-backed.
|
|
53
|
+
|
|
54
|
+
## Chapter blueprints
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# <Background runtime> map
|
|
58
|
+
## Responsibility and activation model
|
|
59
|
+
## Bootstrap and trigger registration
|
|
60
|
+
## Workflow or handler families
|
|
61
|
+
## State and downstream side effects
|
|
62
|
+
## Concurrency, ordering, retry, and idempotency
|
|
63
|
+
## Failure recovery and observability
|
|
64
|
+
## Configuration, scaling, and deployment
|
|
65
|
+
## Contract sources and exclusions
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
For a trigger family:
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
## <Trigger or workflow>
|
|
72
|
+
- Trigger identity and registration:
|
|
73
|
+
- Input contract and producer:
|
|
74
|
+
- Dispatch and handler:
|
|
75
|
+
- State changes and downstream effects:
|
|
76
|
+
- Retry/idempotency/checkpoint behavior:
|
|
77
|
+
- Failure destination and operator action:
|
|
78
|
+
- Source evidence:
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Granularity and relationships
|
|
82
|
+
|
|
83
|
+
Prefer one record per stable trigger or coherent workflow family. Do not create
|
|
84
|
+
one page per handler helper, event field, retry branch, or generated payload
|
|
85
|
+
type. Split a page when triggers have different contracts, ownership, delivery,
|
|
86
|
+
or recovery semantics.
|
|
87
|
+
|
|
88
|
+
Every retained page must name concrete trigger, handler, state, side-effect,
|
|
89
|
+
and recovery identities with source locators. A runtime page that only lists
|
|
90
|
+
directories or says a worker “processes events” is too thin.
|
|
91
|
+
|
|
92
|
+
Connect producers and consumers only through a concrete topic/trigger/schema
|
|
93
|
+
identity. A shared type name or import is insufficient.
|
|
94
|
+
|
|
95
|
+
## Template composition examples
|
|
96
|
+
|
|
97
|
+
- A consumer that invokes a domain boundary reads `domain-service.md`.
|
|
98
|
+
- A scheduler that calls external APIs selects `adapter-integration` and reads
|
|
99
|
+
`protocol-boundary.md`.
|
|
100
|
+
- A controller exposing administrative commands may combine this template with
|
|
101
|
+
`cli-tool.md` or `api-service.md`, but should still produce one runtime map.
|
|
102
|
+
|
|
103
|
+
## Revise or stop when
|
|
104
|
+
|
|
105
|
+
- no trigger registry or executable worker entry can be found;
|
|
106
|
+
- delivery, ordering, retry, or idempotency would be guessed;
|
|
107
|
+
- the producer or authoritative payload contract is required but unavailable;
|
|
108
|
+
- the plan expands generated event structures or helpers one symbol per page;
|
|
109
|
+
- runtime configuration cannot be distinguished from test setup.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.cli-tool
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# CLI and developer tool template
|
|
8
|
+
|
|
9
|
+
Use for `cli-tool`: command-line applications, developer tools, administrative
|
|
10
|
+
executables, generators, and command-driven plugin hosts. A build script used
|
|
11
|
+
only internally does not need a CLI knowledge unit unless it is a supported
|
|
12
|
+
operator or contributor surface.
|
|
13
|
+
|
|
14
|
+
Use the exact profile and Artifact policy variant supplied by the workset.
|
|
15
|
+
|
|
16
|
+
## Evidence pass
|
|
17
|
+
|
|
18
|
+
Locate:
|
|
19
|
+
|
|
20
|
+
- executable/bin entry, runtime requirement, and command parser;
|
|
21
|
+
- root and nested command registration;
|
|
22
|
+
- positional arguments, flags, defaults, mutually exclusive options, and input
|
|
23
|
+
schemas;
|
|
24
|
+
- configuration files, environment variables, profiles, credential sources,
|
|
25
|
+
and precedence;
|
|
26
|
+
- interactive prompts versus non-interactive/automation behavior;
|
|
27
|
+
- filesystem, repository, network, platform, and plugin side effects;
|
|
28
|
+
- output formats, stdout/stderr behavior, exit codes, polling, and recovery;
|
|
29
|
+
- local development, packaging, installation, compatibility, and release;
|
|
30
|
+
- deprecated commands, aliases, parser helpers, and formatters to exclude.
|
|
31
|
+
|
|
32
|
+
Inspect actual command registration and representative execution paths. Help
|
|
33
|
+
text is useful evidence but may not describe hidden preconditions or effects.
|
|
34
|
+
|
|
35
|
+
## Questions the knowledge must answer
|
|
36
|
+
|
|
37
|
+
1. How is the CLI installed or invoked, and what runtime does it require?
|
|
38
|
+
2. What stable command families exist and what user outcomes do they produce?
|
|
39
|
+
3. What inputs, configuration, credentials, and precedence rules apply?
|
|
40
|
+
4. Which commands mutate files, repositories, remote services, or user state?
|
|
41
|
+
5. What output and exit behavior supports automation and diagnosis?
|
|
42
|
+
6. Which plugin or extension points change the command surface?
|
|
43
|
+
7. How does a user recover from common source-backed failure states?
|
|
44
|
+
|
|
45
|
+
## Suggested knowledge units
|
|
46
|
+
|
|
47
|
+
- **Command map**: invocation model, command families, configuration,
|
|
48
|
+
credentials, side effects, output formats, and extension points.
|
|
49
|
+
- **Task workflow**: an end-to-end supported user goal spanning several
|
|
50
|
+
commands, with preconditions, state transitions, and recovery.
|
|
51
|
+
- **Command-family reference**: coherent subcommands with inputs, outputs,
|
|
52
|
+
side effects, and examples.
|
|
53
|
+
- **Configuration and credentials**: when precedence or environment behavior is
|
|
54
|
+
complex and stable enough for a dedicated page.
|
|
55
|
+
- **Plugin/extension contract**: use the single complete blueprint in
|
|
56
|
+
`plugin-extension.md`; the command map only links commands and configuration
|
|
57
|
+
to that contract.
|
|
58
|
+
- **Development and release guide**: only source-backed contributor workflows
|
|
59
|
+
owned by this module.
|
|
60
|
+
|
|
61
|
+
## Chapter blueprints
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# <CLI> command map
|
|
65
|
+
## Purpose, installation, and invocation
|
|
66
|
+
## Command families
|
|
67
|
+
## Configuration and precedence
|
|
68
|
+
## Credentials and external dependencies
|
|
69
|
+
## Filesystem/repository/remote side effects
|
|
70
|
+
## Output formats and exit semantics
|
|
71
|
+
## Plugins, compatibility, and release
|
|
72
|
+
## Diagnostics, recovery, and exclusions
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
For a command family:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
# <Command family>
|
|
79
|
+
## User outcomes and preconditions
|
|
80
|
+
## Commands and arguments
|
|
81
|
+
## Configuration and credential requirements
|
|
82
|
+
## Execution and side effects
|
|
83
|
+
## Output and exit behavior
|
|
84
|
+
## Failure recovery
|
|
85
|
+
## Source-backed examples
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
A workflow page may use:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
# <User task>
|
|
92
|
+
## Starting state
|
|
93
|
+
## Command sequence
|
|
94
|
+
## State and artifact changes
|
|
95
|
+
## Remote operations
|
|
96
|
+
## Success checks
|
|
97
|
+
## Recovery and rollback boundaries
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Granularity and relationships
|
|
101
|
+
|
|
102
|
+
Prefer command families and user tasks over one page per parser node, flag,
|
|
103
|
+
prompt, formatter, or implementation function. Split only when commands have
|
|
104
|
+
different state ownership, external systems, or safety/recovery contracts.
|
|
105
|
+
|
|
106
|
+
Every retained page must name real commands, task outcomes, state changes, or
|
|
107
|
+
extension identities with source locators. A list of command directories or
|
|
108
|
+
parser nodes is not a command map.
|
|
109
|
+
|
|
110
|
+
Connect commands to configuration, package/file outputs, plugin providers, and
|
|
111
|
+
platform operations only when source registrations or call sites prove them.
|
|
112
|
+
|
|
113
|
+
## Template composition examples
|
|
114
|
+
|
|
115
|
+
- A CLI with installable providers also reads `adapter-integration.md` and
|
|
116
|
+
`plugin-extension.md`.
|
|
117
|
+
- A CLI that primarily wraps a remote protocol selects `adapter-integration` and
|
|
118
|
+
reads `protocol-boundary.md`.
|
|
119
|
+
- A monorepo release tool may combine this template with
|
|
120
|
+
`monorepo-container.md` and the `development-and-delivery.md` composer
|
|
121
|
+
contract without duplicating its command registry.
|
|
122
|
+
|
|
123
|
+
## Revise or stop when
|
|
124
|
+
|
|
125
|
+
- no stable command registry or executable entry is found;
|
|
126
|
+
- examples require inventing flags or commands not present in source;
|
|
127
|
+
- side effects or credential behavior are unclear but material to safe use;
|
|
128
|
+
- every option/parser helper is becoming an independent page;
|
|
129
|
+
- deprecated or hidden implementation commands are presented as supported.
|