@b00dea/cockpit 0.0.0-stage → 0.1.1
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/CHANGELOG.md +474 -0
- package/LICENSE +21 -0
- package/README.md +25 -2
- package/bin/cockpit.mjs +33 -0
- package/cockpit.schema.json +2644 -0
- package/dist/autonomy.d.ts +45 -0
- package/dist/autonomy.js +173 -0
- package/dist/bounded-read.d.ts +14 -0
- package/dist/bounded-read.js +42 -0
- package/dist/browser/commands.d.ts +117 -0
- package/dist/browser/commands.js +453 -0
- package/dist/browser/package-paths.d.ts +1 -0
- package/dist/browser/package-paths.js +6 -0
- package/dist/browser/proxy.d.ts +22 -0
- package/dist/browser/proxy.js +37 -0
- package/dist/browser/runtime.d.ts +118 -0
- package/dist/browser/runtime.js +186 -0
- package/dist/browser/surfaces.d.ts +141 -0
- package/dist/browser/surfaces.js +561 -0
- package/dist/browser/ui-gate.d.ts +15 -0
- package/dist/browser/ui-gate.js +18 -0
- package/dist/canonical-json.d.ts +2 -0
- package/dist/canonical-json.js +5 -0
- package/dist/cli-guard.d.ts +5 -0
- package/dist/cli-guard.js +71 -0
- package/dist/cli-main.d.ts +176 -0
- package/dist/cli-main.js +1584 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +16 -0
- package/dist/command-table.d.ts +121 -0
- package/dist/command-table.js +664 -0
- package/dist/config/load.d.ts +183 -0
- package/dist/config/load.js +367 -0
- package/dist/config/sibling-toml.d.ts +48 -0
- package/dist/config/sibling-toml.js +160 -0
- package/dist/config/surface-tools-toml.d.ts +9 -0
- package/dist/config/surface-tools-toml.js +37 -0
- package/dist/config/unconfirmed-toml.d.ts +9 -0
- package/dist/config/unconfirmed-toml.js +29 -0
- package/dist/config/verified-write.d.ts +43 -0
- package/dist/config/verified-write.js +89 -0
- package/dist/diagnostics.d.ts +26 -0
- package/dist/diagnostics.js +344 -0
- package/dist/docs/check.d.ts +16 -0
- package/dist/docs/check.js +197 -0
- package/dist/docs/decision-record.d.ts +34 -0
- package/dist/docs/decision-record.js +135 -0
- package/dist/docs/decisions.d.ts +16 -0
- package/dist/docs/decisions.js +103 -0
- package/dist/docs/markdown.d.ts +36 -0
- package/dist/docs/markdown.js +88 -0
- package/dist/docs/references.d.ts +32 -0
- package/dist/docs/references.js +148 -0
- package/dist/emit.d.ts +22 -0
- package/dist/emit.js +43 -0
- package/dist/entrypoint-kinds.d.ts +3 -0
- package/dist/entrypoint-kinds.js +11 -0
- package/dist/environment/application/confirm.d.ts +35 -0
- package/dist/environment/application/confirm.js +122 -0
- package/dist/environment/application/destructive.d.ts +6 -0
- package/dist/environment/application/destructive.js +429 -0
- package/dist/environment/application/doctor.d.ts +94 -0
- package/dist/environment/application/doctor.js +247 -0
- package/dist/environment/application/guard.d.ts +49 -0
- package/dist/environment/application/guard.js +677 -0
- package/dist/environment/application/health.d.ts +143 -0
- package/dist/environment/application/health.js +385 -0
- package/dist/environment/application/lifecycle-context.d.ts +235 -0
- package/dist/environment/application/lifecycle-context.js +154 -0
- package/dist/environment/application/lifecycle-state.d.ts +25 -0
- package/dist/environment/application/lifecycle-state.js +202 -0
- package/dist/environment/application/lifecycle.d.ts +18 -0
- package/dist/environment/application/lifecycle.js +737 -0
- package/dist/environment/application/logs.d.ts +45 -0
- package/dist/environment/application/logs.js +127 -0
- package/dist/environment/application/services.d.ts +60 -0
- package/dist/environment/application/services.js +89 -0
- package/dist/environment/application/setup.d.ts +129 -0
- package/dist/environment/application/setup.js +741 -0
- package/dist/environment/application/shared.d.ts +11 -0
- package/dist/environment/application/shared.js +61 -0
- package/dist/environment/application/siblings.d.ts +43 -0
- package/dist/environment/application/siblings.js +269 -0
- package/dist/environment/claims.d.ts +389 -0
- package/dist/environment/claims.js +1701 -0
- package/dist/environment/codex-hook-trust.d.ts +11 -0
- package/dist/environment/codex-hook-trust.js +185 -0
- package/dist/environment/compose-environment.d.ts +1 -0
- package/dist/environment/compose-environment.js +6 -0
- package/dist/environment/compose-ownership.d.ts +21 -0
- package/dist/environment/compose-ownership.js +117 -0
- package/dist/environment/compose-topology.d.ts +125 -0
- package/dist/environment/compose-topology.js +490 -0
- package/dist/environment/contract.d.ts +522 -0
- package/dist/environment/contract.js +794 -0
- package/dist/environment/declaration.d.ts +14 -0
- package/dist/environment/declaration.js +39 -0
- package/dist/environment/destructive-composition.d.ts +29 -0
- package/dist/environment/destructive-composition.js +333 -0
- package/dist/environment/docker-daemon.d.ts +30 -0
- package/dist/environment/docker-daemon.js +78 -0
- package/dist/environment/docker-endpoint.d.ts +10 -0
- package/dist/environment/docker-endpoint.js +19 -0
- package/dist/environment/env-schema-observation.d.ts +46 -0
- package/dist/environment/env-schema-observation.js +241 -0
- package/dist/environment/evidence.d.ts +136 -0
- package/dist/environment/evidence.js +437 -0
- package/dist/environment/executable.d.ts +38 -0
- package/dist/environment/executable.js +190 -0
- package/dist/environment/generated-application/authorities.d.ts +5 -0
- package/dist/environment/generated-application/authorities.js +61 -0
- package/dist/environment/generated-application/bootstrap-skill.d.ts +16 -0
- package/dist/environment/generated-application/bootstrap-skill.js +328 -0
- package/dist/environment/generated-application/check.d.ts +13 -0
- package/dist/environment/generated-application/check.js +191 -0
- package/dist/environment/generated-application/custom-surface.d.ts +26 -0
- package/dist/environment/generated-application/custom-surface.js +289 -0
- package/dist/environment/generated-application/prepare.d.ts +29 -0
- package/dist/environment/generated-application/prepare.js +278 -0
- package/dist/environment/generated-application/publication.d.ts +33 -0
- package/dist/environment/generated-application/publication.js +547 -0
- package/dist/environment/generated-application/shared.d.ts +492 -0
- package/dist/environment/generated-application/shared.js +354 -0
- package/dist/environment/generated-application/surface-observation.d.ts +4 -0
- package/dist/environment/generated-application/surface-observation.js +69 -0
- package/dist/environment/generated-application/surface-outputs.d.ts +71 -0
- package/dist/environment/generated-application/surface-outputs.js +400 -0
- package/dist/environment/generated-application/surfaces.d.ts +3 -0
- package/dist/environment/generated-application/surfaces.js +704 -0
- package/dist/environment/generated-application/sync.d.ts +6 -0
- package/dist/environment/generated-application/sync.js +124 -0
- package/dist/environment/git-observation.d.ts +202 -0
- package/dist/environment/git-observation.js +553 -0
- package/dist/environment/health-composition.d.ts +12 -0
- package/dist/environment/health-composition.js +645 -0
- package/dist/environment/host-observation.d.ts +56 -0
- package/dist/environment/host-observation.js +52 -0
- package/dist/environment/identity.d.ts +48 -0
- package/dist/environment/identity.js +85 -0
- package/dist/environment/init-application.d.ts +333 -0
- package/dist/environment/init-application.js +726 -0
- package/dist/environment/install-policy-observation.d.ts +71 -0
- package/dist/environment/install-policy-observation.js +284 -0
- package/dist/environment/install-policy.d.ts +48 -0
- package/dist/environment/install-policy.js +96 -0
- package/dist/environment/instance.d.ts +33 -0
- package/dist/environment/instance.js +122 -0
- package/dist/environment/instruction-pointer.d.ts +19 -0
- package/dist/environment/instruction-pointer.js +144 -0
- package/dist/environment/lifecycle-composition.d.ts +31 -0
- package/dist/environment/lifecycle-composition.js +742 -0
- package/dist/environment/lifecycle-stage.d.ts +120 -0
- package/dist/environment/lifecycle-stage.js +408 -0
- package/dist/environment/lifecycle.d.ts +75 -0
- package/dist/environment/lifecycle.js +354 -0
- package/dist/environment/logs.d.ts +132 -0
- package/dist/environment/logs.js +519 -0
- package/dist/environment/map-limit.d.ts +2 -0
- package/dist/environment/map-limit.js +13 -0
- package/dist/environment/mcp-observation.d.ts +9 -0
- package/dist/environment/mcp-observation.js +46 -0
- package/dist/environment/observations.d.ts +46 -0
- package/dist/environment/observations.js +346 -0
- package/dist/environment/operator-application.d.ts +79 -0
- package/dist/environment/operator-application.js +197 -0
- package/dist/environment/ports.d.ts +182 -0
- package/dist/environment/ports.js +1205 -0
- package/dist/environment/posture-observation.d.ts +68 -0
- package/dist/environment/posture-observation.js +253 -0
- package/dist/environment/presence.d.ts +4 -0
- package/dist/environment/presence.js +26 -0
- package/dist/environment/read-composition.d.ts +32 -0
- package/dist/environment/read-composition.js +397 -0
- package/dist/environment/readiness-composition.d.ts +57 -0
- package/dist/environment/readiness-composition.js +151 -0
- package/dist/environment/reclaim.d.ts +370 -0
- package/dist/environment/reclaim.js +1940 -0
- package/dist/environment/repository-identity.d.ts +13 -0
- package/dist/environment/repository-identity.js +108 -0
- package/dist/environment/runtime-measurement-record.d.ts +38 -0
- package/dist/environment/runtime-measurement-record.js +111 -0
- package/dist/environment/runtime-measurement.d.ts +27 -0
- package/dist/environment/runtime-measurement.js +224 -0
- package/dist/environment/runtime-probe-residue.d.ts +43 -0
- package/dist/environment/runtime-probe-residue.js +148 -0
- package/dist/environment/runtime-probe.d.ts +72 -0
- package/dist/environment/runtime-probe.js +725 -0
- package/dist/environment/runtime.d.ts +551 -0
- package/dist/environment/runtime.js +2405 -0
- package/dist/environment/seed.d.ts +16 -0
- package/dist/environment/seed.js +43 -0
- package/dist/environment/selftest-application.d.ts +86 -0
- package/dist/environment/selftest-application.js +713 -0
- package/dist/environment/sensitive.d.ts +3 -0
- package/dist/environment/sensitive.js +48 -0
- package/dist/environment/served-checkout-grants.d.ts +53 -0
- package/dist/environment/served-checkout-grants.js +182 -0
- package/dist/environment/setup-observation.d.ts +62 -0
- package/dist/environment/setup-observation.js +1473 -0
- package/dist/environment/setup.d.ts +43 -0
- package/dist/environment/setup.js +176 -0
- package/dist/environment/sibling-checkouts.d.ts +119 -0
- package/dist/environment/sibling-checkouts.js +254 -0
- package/dist/environment/sibling-instructions.d.ts +33 -0
- package/dist/environment/sibling-instructions.js +224 -0
- package/dist/environment/sibling-observation.d.ts +27 -0
- package/dist/environment/sibling-observation.js +45 -0
- package/dist/environment/sibling-pull.d.ts +23 -0
- package/dist/environment/sibling-pull.js +95 -0
- package/dist/environment/sibling-registration.d.ts +45 -0
- package/dist/environment/sibling-registration.js +538 -0
- package/dist/environment/stack-inputs.d.ts +18 -0
- package/dist/environment/stack-inputs.js +210 -0
- package/dist/environment/stack-inventory-prune.d.ts +31 -0
- package/dist/environment/stack-inventory-prune.js +129 -0
- package/dist/environment/stack-inventory-report.d.ts +44 -0
- package/dist/environment/stack-inventory-report.js +78 -0
- package/dist/environment/stack-inventory.d.ts +94 -0
- package/dist/environment/stack-inventory.js +418 -0
- package/dist/environment/state.d.ts +410 -0
- package/dist/environment/state.js +2153 -0
- package/dist/environment/templates.d.ts +140 -0
- package/dist/environment/templates.js +685 -0
- package/dist/environment/tool-registration.d.ts +9 -0
- package/dist/environment/tool-registration.js +92 -0
- package/dist/environment/upgrade-application.d.ts +19 -0
- package/dist/environment/upgrade-application.js +175 -0
- package/dist/environment-exec/execute.d.ts +105 -0
- package/dist/environment-exec/execute.js +1179 -0
- package/dist/environment-exec/libexec-program.d.ts +6 -0
- package/dist/environment-exec/libexec-program.js +22 -0
- package/dist/environment-exec/verified-digest.d.ts +4 -0
- package/dist/environment-exec/verified-digest.js +16 -0
- package/dist/exact-keys.d.ts +7 -0
- package/dist/exact-keys.js +15 -0
- package/dist/fix-catalogue.d.ts +32 -0
- package/dist/fix-catalogue.js +60 -0
- package/dist/freshness.d.ts +29 -0
- package/dist/freshness.js +75 -0
- package/dist/generated-environment/adopt.d.ts +16 -0
- package/dist/generated-environment/adopt.js +271 -0
- package/dist/generated-environment/command.d.ts +47 -0
- package/dist/generated-environment/command.js +75 -0
- package/dist/generated-environment/transaction.d.ts +186 -0
- package/dist/generated-environment/transaction.js +1770 -0
- package/dist/grading/evaluate.d.ts +71 -0
- package/dist/grading/evaluate.js +403 -0
- package/dist/grading/grade.d.ts +33 -0
- package/dist/grading/grade.js +57 -0
- package/dist/guards/answer-confirmation.d.ts +41 -0
- package/dist/guards/answer-confirmation.js +109 -0
- package/dist/guards/evaluator.d.ts +130 -0
- package/dist/guards/evaluator.js +1258 -0
- package/dist/guards/harness-adapter.d.ts +17 -0
- package/dist/guards/harness-adapter.js +57 -0
- package/dist/guards/host.d.ts +8 -0
- package/dist/guards/host.js +10 -0
- package/dist/guards/invocation-parser.d.ts +66 -0
- package/dist/guards/invocation-parser.js +595 -0
- package/dist/guards/local-identity.d.ts +44 -0
- package/dist/guards/local-identity.js +129 -0
- package/dist/guards/policy-change.d.ts +43 -0
- package/dist/guards/policy-change.js +159 -0
- package/dist/guards/policy-pin.d.ts +13 -0
- package/dist/guards/policy-pin.js +177 -0
- package/dist/guards/protected-locations.d.ts +62 -0
- package/dist/guards/protected-locations.js +461 -0
- package/dist/guards/read-only.d.ts +37 -0
- package/dist/guards/read-only.js +315 -0
- package/dist/init/command.d.ts +41 -0
- package/dist/init/command.js +330 -0
- package/dist/init/derive.d.ts +53 -0
- package/dist/init/derive.js +819 -0
- package/dist/init/draft.d.ts +140 -0
- package/dist/init/draft.js +1228 -0
- package/dist/init/render.d.ts +47 -0
- package/dist/init/render.js +104 -0
- package/dist/init/scaffold.d.ts +53 -0
- package/dist/init/scaffold.js +121 -0
- package/dist/invocation.d.ts +13 -0
- package/dist/invocation.js +20 -0
- package/dist/package-metadata.d.ts +9 -0
- package/dist/package-metadata.js +19 -0
- package/dist/readiness.d.ts +53 -0
- package/dist/readiness.js +88 -0
- package/dist/references/named.d.ts +24 -0
- package/dist/references/named.js +27 -0
- package/dist/refusal.d.ts +15 -0
- package/dist/refusal.js +7 -0
- package/dist/registry-derivation.d.ts +31 -0
- package/dist/registry-derivation.js +32 -0
- package/dist/registry-resolve/command.d.ts +47 -0
- package/dist/registry-resolve/command.js +226 -0
- package/dist/registry-resolve/registry.d.ts +68 -0
- package/dist/registry-resolve/registry.js +292 -0
- package/dist/registry-resolve/render-shell.d.ts +18 -0
- package/dist/registry-resolve/render-shell.js +36 -0
- package/dist/repair.d.ts +29 -0
- package/dist/repair.js +8 -0
- package/dist/repository-path.d.ts +9 -0
- package/dist/repository-path.js +16 -0
- package/dist/schema-json.d.ts +1 -0
- package/dist/schema-json.js +177 -0
- package/dist/schema.d.ts +1289 -0
- package/dist/schema.js +985 -0
- package/dist/setup/command.d.ts +4 -0
- package/dist/setup/command.js +4 -0
- package/dist/sha256.d.ts +1 -0
- package/dist/sha256.js +4 -0
- package/dist/surfaces/adoption.d.ts +41 -0
- package/dist/surfaces/adoption.js +217 -0
- package/dist/surfaces/consumer-instructions.d.ts +20 -0
- package/dist/surfaces/consumer-instructions.js +43 -0
- package/dist/surfaces/contract.d.ts +42 -0
- package/dist/surfaces/contract.js +169 -0
- package/dist/surfaces/core-declarations.d.ts +24 -0
- package/dist/surfaces/core-declarations.js +79 -0
- package/dist/surfaces/development-markers.d.ts +1 -0
- package/dist/surfaces/development-markers.js +18 -0
- package/dist/surfaces/generator-adapter.d.ts +71 -0
- package/dist/surfaces/generator-adapter.js +809 -0
- package/dist/surfaces/harness-registry.d.ts +260 -0
- package/dist/surfaces/harness-registry.js +146 -0
- package/dist/surfaces/mcp.d.ts +145 -0
- package/dist/surfaces/mcp.js +349 -0
- package/dist/surfaces/merge.d.ts +30 -0
- package/dist/surfaces/merge.js +105 -0
- package/dist/surfaces/ownership.d.ts +190 -0
- package/dist/surfaces/ownership.js +795 -0
- package/dist/surfaces/projection.d.ts +136 -0
- package/dist/surfaces/projection.js +716 -0
- package/dist/surfaces/render.d.ts +79 -0
- package/dist/surfaces/render.js +636 -0
- package/dist/surfaces/restrictions.d.ts +130 -0
- package/dist/surfaces/restrictions.js +447 -0
- package/dist/surfaces/selftest.d.ts +162 -0
- package/dist/surfaces/selftest.js +393 -0
- package/dist/surfaces/skill-contract.d.ts +85 -0
- package/dist/surfaces/skill-contract.js +449 -0
- package/dist/surfaces/sync.d.ts +57 -0
- package/dist/surfaces/sync.js +164 -0
- package/dist/team-metadata.d.ts +41 -0
- package/dist/team-metadata.js +513 -0
- package/dist/testing/gates.d.ts +91 -0
- package/dist/testing/gates.js +182 -0
- package/dist/testing/hooks.d.ts +59 -0
- package/dist/testing/hooks.js +139 -0
- package/dist/testing/test-protection.d.ts +34 -0
- package/dist/testing/test-protection.js +137 -0
- package/dist/testing/verdict.d.ts +29 -0
- package/dist/testing/verdict.js +62 -0
- package/dist/testing/weakening.d.ts +15 -0
- package/dist/testing/weakening.js +30 -0
- package/dist/work-orders/application-closure.d.ts +7 -0
- package/dist/work-orders/application-closure.js +76 -0
- package/dist/work-orders/application-context.d.ts +162 -0
- package/dist/work-orders/application-context.js +137 -0
- package/dist/work-orders/application-decisions.d.ts +27 -0
- package/dist/work-orders/application-decisions.js +121 -0
- package/dist/work-orders/application-grading.d.ts +11 -0
- package/dist/work-orders/application-grading.js +212 -0
- package/dist/work-orders/application.d.ts +6 -0
- package/dist/work-orders/application.js +223 -0
- package/dist/work-orders/composition.d.ts +101 -0
- package/dist/work-orders/composition.js +1202 -0
- package/dist/work-orders/contract.d.ts +77 -0
- package/dist/work-orders/contract.js +140 -0
- package/dist/work-orders/decisions.d.ts +23 -0
- package/dist/work-orders/decisions.js +55 -0
- package/dist/work-orders/store.d.ts +207 -0
- package/dist/work-orders/store.js +291 -0
- package/docs/README.md +68 -0
- package/docs/architecture.md +136 -0
- package/docs/capability-matrix.md +58 -0
- package/docs/cli-reference.md +807 -0
- package/docs/command-list.md +62 -0
- package/docs/compose-patterns.md +99 -0
- package/docs/concepts.md +173 -0
- package/docs/configuration-essentials.md +177 -0
- package/docs/configuration-reference.md +636 -0
- package/docs/docs-check.md +76 -0
- package/docs/environment.md +948 -0
- package/docs/extending.md +43 -0
- package/docs/faq.md +113 -0
- package/docs/getting-started.md +692 -0
- package/docs/harness-surfaces.md +500 -0
- package/docs/joining-a-team.md +76 -0
- package/docs/release-policy.md +49 -0
- package/docs/safety-and-autonomy.md +463 -0
- package/docs/troubleshooting.md +382 -0
- package/docs/tutorial.md +171 -0
- package/docs/work-and-browser.md +420 -0
- package/libexec/browser-operation.cjs +270 -0
- package/libexec/fence-marker.cjs +101 -0
- package/libexec/fence-marker.d.cts +24 -0
- package/libexec/fenced-group-runner.cjs +77 -0
- package/libexec/fenced-supervisor.cjs +137 -0
- package/libexec/generated-filesystem.cjs +731 -0
- package/libexec/install-filesystem.cjs +225 -0
- package/libexec/rulesync-generator.NOTICE.md +1112 -0
- package/libexec/rulesync-generator.cjs +743 -0
- package/libexec/surface-generator-worker.cjs +266 -0
- package/libexec/surface-output-reader.cjs +99 -0
- package/libexec/surface-scratch-cleanup.cjs +14 -0
- package/libexec/validate-harness-evidence.d.mts +183 -0
- package/libexec/validate-harness-evidence.mjs +1312 -0
- package/package.json +74 -4
- package/surfaces/README.md +33 -0
- package/surfaces/agents/evaluator.agent.md +76 -0
- package/surfaces/guards/bash-guard.sh +48 -0
- package/surfaces/guards/claude.adapter.json +25 -0
- package/surfaces/guards/codex.adapter.json +24 -0
- package/surfaces/guards/opencode.adapter.json +25 -0
- package/surfaces/references/browser.md +63 -0
- package/surfaces/references/test-data-and-personas.md +84 -0
- package/surfaces/references/testing-tiers.md +11 -0
- package/surfaces/skills/cockpit-browser.skill.md +59 -0
- package/surfaces/skills/cockpit-explain.skill.md +32 -0
- package/surfaces/skills/cockpit-fix.skill.md +37 -0
- package/surfaces/skills/cockpit-setup.skill.md +39 -0
- package/surfaces/skills/cockpit-work.skill.md +34 -0
- package/surfaces/skills/collection.json +5 -0
- package/surfaces/skills/procedures/explain.md +66 -0
- package/surfaces/skills/procedures/fix.md +95 -0
- package/surfaces/skills/procedures/setup.md +452 -0
- package/surfaces/skills/procedures/work.md +134 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Extending cockpit
|
|
2
|
+
|
|
3
|
+
This page is for integrators adding product-specific behaviour to a cockpit: which declaration to
|
|
4
|
+
use for each need, and how to keep your own build logic beside cockpit. Cockpit is not a plugin
|
|
5
|
+
host. An extension stays ordinary version-controlled product code; cockpit manages only the
|
|
6
|
+
generated files listed in its ownership manifest.
|
|
7
|
+
|
|
8
|
+
## Choose the seam
|
|
9
|
+
|
|
10
|
+
| Need | What to declare | Why this seam exists | How to use it |
|
|
11
|
+
| --- | --- | --- | --- |
|
|
12
|
+
| Product instructions, skills, agents or hooks | `[[surfaces.overlays]]` | Add product context without forking shipped surfaces. | Give the overlay a stable name, feature and complete source bytes. Use `replaces` only for an intentional core replacement. |
|
|
13
|
+
| Existing Compose stack | `[environment].compose_files` | Keep your own Compose file as the source of truth. | Declare its paths and port variables; cockpit writes only its label override. |
|
|
14
|
+
| Starting Compose file | `cockpit init --scaffold-compose` | Give a small app with no Compose file one it then owns. | Run it once; edit the written `compose.yml` like any other product file. |
|
|
15
|
+
| Service health | a Compose `healthcheck` | Make readiness a checked property instead of a delay. | Give every service a healthcheck; `check` warns on one without. |
|
|
16
|
+
| Demo data | `environment.seed` with `resettable_volumes` | Fill the data volumes once the stack is healthy, and again after they are recreated. | Point it at the product's own seed or restore command; write that command to be rerun. |
|
|
17
|
+
| Vendor stubs, TLS | services in your Compose file | Keep the stack plain Compose. | Follow [Compose patterns](compose-patterns.md). |
|
|
18
|
+
| External tool server | `[mcp]` and `sibling[].derives.mcp_sources` | Declare one server once and generate it for every harness that supports MCP. | Point a sibling at its MCP declaration file (a JSON `mcpServers` object) and approve the server centrally by the digest `sync` reports for its declaration; keep credentials outside tracked files. |
|
|
19
|
+
| Extra guard policy | `[[guards.allow]]` and `[[guards.deny]]` | Refine prompts for exact product commands while preserving cockpit's hard boundaries. | Match an exact command, starting with its executable, and state the reason. Prefer a deny with a safe fix when a known alternative exists. |
|
|
20
|
+
| Your own automation | Files beside `cockpit.toml` | Keep bespoke build, test and release logic usable without cockpit. | Put scripts, task-runner files and Compose inputs outside generated paths, then refer to them from declarations and overlays. |
|
|
21
|
+
| Additional harness | `[[surfaces.harnesses]]` | Record a complete, honest capability matrix without pretending an unsupported feature works. | Declare every feature with its spelling in that tool or the reason it is unavailable; verify each claimed control beside a broken control. |
|
|
22
|
+
|
|
23
|
+
## Build beside cockpit
|
|
24
|
+
|
|
25
|
+
Keep the product's `Makefile`, task runner or scripts your own, so people and CI can run them
|
|
26
|
+
without cockpit:
|
|
27
|
+
|
|
28
|
+
1. Expose a narrow target, such as `make verify`.
|
|
29
|
+
2. Add a skill overlay that tells agents when to use it. Put the procedure in its own file with
|
|
30
|
+
`loading: pull` and `budget: uncapped` frontmatter, so agents load it only when needed.
|
|
31
|
+
3. Add an exact guard allow for the target, with a reason.
|
|
32
|
+
|
|
33
|
+
The [extended example](https://github.com/b0dea/cockpit/blob/main/examples/extended/README.md) shows this pattern.
|
|
34
|
+
|
|
35
|
+
Generated ownership is the upgrade boundary. A later `sync` may replace files cockpit generated,
|
|
36
|
+
and reports a changed overridden core declaration, but it never adopts or overwrites the files
|
|
37
|
+
beside them. Preview `cockpit sync --dry-run` after changing the installed version.
|
|
38
|
+
|
|
39
|
+
Give generated outputs portable relative names, so one committed checkout works on every
|
|
40
|
+
filesystem. Avoid reserved device names, stream syntax, trailing dots or spaces, and directory names
|
|
41
|
+
that differ only by case or Unicode normalization. Keep every path component within 255 UTF-16
|
|
42
|
+
code units and 255 UTF-8 bytes. To fix an invalid overlay output, rename it and review
|
|
43
|
+
`cockpit sync --dry-run` before publishing.
|
package/docs/faq.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# FAQ
|
|
2
|
+
|
|
3
|
+
Short answers to the questions people ask before and while adopting cockpit, each linking to the
|
|
4
|
+
page with the detail.
|
|
5
|
+
|
|
6
|
+
## What is cockpit, in one sentence?
|
|
7
|
+
|
|
8
|
+
The local environment coding agents work from: every repository of your product in reach, the
|
|
9
|
+
product running on the checkouts they edit, the same instructions, skills, guard and permissions in
|
|
10
|
+
Claude Code, Codex CLI and OpenCode, and work orders checked against criteria you set and graded
|
|
11
|
+
the way you choose: by a fresh read-only agent run, by the checks alone, or by the agent's own report.
|
|
12
|
+
|
|
13
|
+
## When should I not use cockpit?
|
|
14
|
+
|
|
15
|
+
- Your product is one repository and you only need a reproducible toolchain: a dev container or
|
|
16
|
+
Devbox is simpler.
|
|
17
|
+
- You need isolation from untrusted code: cockpit is not a sandbox.
|
|
18
|
+
- You are on native Windows: every command stops at startup with `CLI_PLATFORM_UNSUPPORTED`,
|
|
19
|
+
before reading or writing anything, because process management, file publication and the shell
|
|
20
|
+
guards assume macOS or Linux. Under WSL2 cockpit should behave as on Linux, but that is untested.
|
|
21
|
+
- You need a stable tool: cockpit is pre-1.0, and its commands, configuration and generated
|
|
22
|
+
layout can still change without a migration path; see
|
|
23
|
+
[Status and limits](https://github.com/b0dea/cockpit/blob/main/README.md#status-and-limits).
|
|
24
|
+
|
|
25
|
+
The full list of non-goals, with reasons, is in [Architecture](architecture.md#non-goals).
|
|
26
|
+
|
|
27
|
+
## How do I install it?
|
|
28
|
+
|
|
29
|
+
As an exact-pinned, project-local development dependency of the repository that holds the cockpit.
|
|
30
|
+
[Install cockpit](getting-started.md#install-cockpit) has the steps, including the install from
|
|
31
|
+
source.
|
|
32
|
+
|
|
33
|
+
## Do I have to use every agent tool?
|
|
34
|
+
|
|
35
|
+
No. `[surfaces] tools` in `cockpit.toml` lists the tools `sync` writes and `check` compares, and
|
|
36
|
+
one tool is a complete setup. It defaults to Claude Code, Codex CLI and OpenCode; `init --target`
|
|
37
|
+
writes the tools you choose (`--target claudecode` or `--target claudecode,opencode`), and
|
|
38
|
+
`cockpit tool add <tool>` or `tool remove <tool>` changes the list later. Custom harnesses can be
|
|
39
|
+
declared under `[surfaces]`; see [Harness surfaces](harness-surfaces.md#capability-states).
|
|
40
|
+
|
|
41
|
+
## Are the guards actually enforced?
|
|
42
|
+
|
|
43
|
+
It depends on the tool. cockpit's guard script denies the operation whenever a tool runs it, and
|
|
44
|
+
fails closed on input it cannot read; what differs is whether the tool runs it. The
|
|
45
|
+
[capability matrix](capability-matrix.md) records each tool's state and when it was last probed:
|
|
46
|
+
|
|
47
|
+
- Claude Code: `enforced`. Its hook refused a push to a protected branch; without the hook, the
|
|
48
|
+
same push went through. Its own Read tool never reaches the hook, so generated `Read` deny rules
|
|
49
|
+
cover secrets there.
|
|
50
|
+
- OpenCode: `enforced`. Its plugin refused a protected push and a native read of a secrets file.
|
|
51
|
+
- Codex CLI: `enforced` only after a person trusts the hook on that machine. Codex silently skips
|
|
52
|
+
an untrusted hook, and `cockpit doctor` and `cockpit check` report `CODEX_HOOK_UNTRUSTED` once Codex
|
|
53
|
+
has run on the machine (a Codex home exists) and until the hook is trusted; see [Trust the Codex hook](harness-surfaces.md#trust-the-codex-hook).
|
|
54
|
+
- Cursor and Grok Build: no guard. cockpit writes their files but installs no hook, and nobody has
|
|
55
|
+
confirmed those tools load them.
|
|
56
|
+
|
|
57
|
+
`cockpit selftest` checks the supported tools installed on your machine, using probe commands you
|
|
58
|
+
write for each tool; [Skills and selftest evidence](harness-surfaces.md#skills-and-selftest-evidence)
|
|
59
|
+
walks through it.
|
|
60
|
+
|
|
61
|
+
## Does cockpit change my product code?
|
|
62
|
+
|
|
63
|
+
Only in paths the configuration declares and a preview you accepted shows. cockpit writes generated
|
|
64
|
+
files into the cockpit checkout, plus declared outputs in a sibling repository such as an
|
|
65
|
+
environment template, and records every file it wrote. `setup` can clone a missing sibling from
|
|
66
|
+
its declared remote. It never rewrites Git remotes or edits undeclared files.
|
|
67
|
+
|
|
68
|
+
## Can two agents use the same machine at once?
|
|
69
|
+
|
|
70
|
+
Yes. Each checkout, a linked worktree included, leases its own port family and runs its own stack,
|
|
71
|
+
and each running `up` or `session` is a holder of it. `sleep` stops the stack only when no holder
|
|
72
|
+
remains, so one agent cannot stop another's environment. `cockpit use` points a sibling at a worktree
|
|
73
|
+
for one cockpit checkout, and `cockpit stacks prune` removes the stack a deleted worktree left behind.
|
|
74
|
+
See [Environment](environment.md#lifecycle-and-ownership).
|
|
75
|
+
|
|
76
|
+
## What happens to my secrets?
|
|
77
|
+
|
|
78
|
+
`setup` inspects declared secret-file paths without reading or copying their contents. `sync`
|
|
79
|
+
creates an ignore boundary for central secret sources before any exist, and the guards deny
|
|
80
|
+
agents editing or staging declared environment and secret files. None of this isolates secrets
|
|
81
|
+
from malicious code running as your user. See
|
|
82
|
+
[Secret sources and environment schemas](environment.md#secret-sources-and-environment-schemas).
|
|
83
|
+
|
|
84
|
+
## Does cockpit send data anywhere?
|
|
85
|
+
|
|
86
|
+
There is no telemetry. The only request cockpit makes on its own is `doctor` reading the latest
|
|
87
|
+
published version from the npm registry, skipped when `CI` or `NO_UPDATE_NOTIFIER` is set.
|
|
88
|
+
Docker, Git and your product's own commands make whatever requests they normally make.
|
|
89
|
+
|
|
90
|
+
## Why is the configuration so long?
|
|
91
|
+
|
|
92
|
+
Because every value says where it came from: probes, operations and decisions carry a `provenance`
|
|
93
|
+
table with the source file, the date it was observed, and whether it was declared or inferred.
|
|
94
|
+
The structure underneath is small; the [tutorial](tutorial.md#read-the-configuration) walks
|
|
95
|
+
through it.
|
|
96
|
+
|
|
97
|
+
## Can I add my own rules and skills?
|
|
98
|
+
|
|
99
|
+
Yes, through [overlays](concepts.md#cockpit-surface-overlay) under `[surfaces].overlays`.
|
|
100
|
+
Replacing a built-in item requires naming it and its SHA-256, so an upstream change to it is
|
|
101
|
+
reported before you accept new output. See
|
|
102
|
+
[Harness surfaces](harness-surfaces.md#ownership-and-extension).
|
|
103
|
+
|
|
104
|
+
## A command failed with a diagnostic code. What now?
|
|
105
|
+
|
|
106
|
+
Every refusal prints a code, the target it applies to and, where one exists, a fix. Look the code
|
|
107
|
+
up in [Troubleshooting](troubleshooting.md), and after a repair run
|
|
108
|
+
`cockpit doctor --config ./cockpit.toml --json` to see the current state.
|
|
109
|
+
|
|
110
|
+
## Can my AI agent contribute to cockpit itself?
|
|
111
|
+
|
|
112
|
+
Yes. Point it at AGENTS.md in the repository root, the working guide for agents, and at
|
|
113
|
+
[CONTRIBUTING.md](https://github.com/b0dea/cockpit/blob/main/CONTRIBUTING.md#verification) for the verification gates.
|