Sinks
Explicit managed deployment surfaces for crabenv variables
Sinks are optional deployment/build files that need crabenv variables.
crabenv only manages explicit marker blocks:
# crabenv:start format=<format> scope=<scope> owner=<owner>
# crabenv:endEverything outside the markers is yours. Inside the markers, crabenv controls the variable list, ordering, and output shape for the selected format.
Supported formats
Request here if you think a new format is necessary.
Marker fields
Sync
crabenv doctor # report sink drift
crabenv doctor --fix # preview fix plan
crabenv doctor --fix --yes # rewrite managed sink blockscrabenv format / crabenv fmt does not rewrite sinks.
Rules
- Sinks are opt-in. crabenv never infers variables from arbitrary deployment files.
format,scope, andownerare required.- Unknown options fail closed.
- Supported GitHub Actions sinks scan
.github/workflows/*.ymland.github/workflows/*.yaml. - Generated names come from schema variables for the selected owner/scope.
- Entries are sorted with crabenv's deterministic env ordering.
- If an existing generated line uses
${{ vars.NAME }}or${{ secrets.NAME }}, crabenv preserves that GitHub namespace choice for that variable.