You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Carry an Indent Setting With lib/sh So Tab-Indented Carriers Pass shfmt #3576
The lib/sh tree carried to lib/fleet/sh for the host-secrets type indents with four spaces, from the hub's [*] default. A carrier whose .editorconfig sets [*.sh] indent_style = tab then fails shfmt -d on the carried copy, and it cannot reformat the copy, since verbatim-tree fidelity byte-locks it. Nothing in spec/files.json, spec/project-types.json (host-secrets), STANDUP.md, or RESYNC.md tells a carrier this, so each one finds out when its shell format gate fails.
A path-scoped section after [*.sh], which shfmt honors:
[lib/fleet/**.sh]indent_style = space
indent_size = 4
Ask
Choose where the hub states this, for example one of these:
A host-secrets carry note in STANDUP.md and RESYNC.md, and an AUDIT.md intent check.
An .editorconfig carried inside lib/sh itself, holding [*.sh] with indent_style = space and indent_size = 4. In the scratch repository above, adding that file at lib/fleet/sh/.editorconfig turns shfmt -d from exit 1 to exit 0. The manifest entry's **/* include matches every path in carry.py's included(), so the file would ride the verbatim-tree carry and no carrier needs a section of its own.
The second removes the step for every carrier, so it is the recommendation.
Found while carrying lib/fleet/sh into ptr727/Blog (ptr727/Blog#561).
Activity
Carry an EditorConfig With lib/sh So Carriers' shfmt Settings Cannot …