Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tally.wharflab.com/llms.txt

Use this file to discover all available pages before exploring further.

tally reads .editorconfig for formatting rules that need repository style preferences. Use .editorconfig for shared whitespace and indentation settings, and use .tally.toml for enabling, disabling, or changing the severity of lint rules. This page will collect tally features that integrate with EditorConfig as they are added. Add this section to your repository’s .editorconfig to keep Dockerfiles and Containerfiles consistent:
[{Containerfile,Containerfile.,Dockerfile,Dockerfile.}*]
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
The pattern matches Dockerfile, Dockerfile.*, Containerfile, and Containerfile.*.

Rules that use EditorConfig

For heredoc payloads, tally resolves EditorConfig settings using a virtual filename next to the Dockerfile and the heredoc destination basename. For example, a heredoc in services/api/Dockerfile targeting /etc/app/config.yaml is resolved as services/api/config.yaml, so *.yaml and config.yaml sections apply.

Supported Properties

The heredoc formatter currently reads these EditorConfig properties:
PropertyBehavior
indent_styleUses tabs when set to tab; otherwise uses spaces.
indent_sizeSets the number of spaces per indent level when it is a positive integer.
tab_widthUsed as the fallback indent width when indent_size is not a positive integer.
max_line_lengthYAML heredocs only. When set to a positive integer, uses that value as the preferred YAML scalar wrapping width. off, unset, and invalid values do not override the YAML serializer default. This is a formatting preference, not a hard maximum.
Other EditorConfig properties are intentionally not interpreted by the heredoc formatter today:
PropertyReason
insert_final_newlineHeredoc bodies always need a newline before the terminator, so formatted payloads always end with exactly one newline regardless of this setting.
end_of_lineHeredoc payloads are embedded in the Dockerfile and should follow the parent Dockerfile’s line-ending convention rather than a separate virtual target setting.
charsettally already reads Dockerfiles as text and does not transcode heredoc payloads during formatting.
trim_trailing_whitespaceFormatted output for the currently supported structured formats does not emit incidental trailing whitespace. tally does not read this property or run a separate trimming pass, because whitespace may be payload data in some formats.