CLI
Input file as positional argument across all commands
req~jabkit.cli.input-flag~2
All jabkit commands that need a file input must accept it as a positional FILE argument. For backward compatibility, the --input option is also accepted as an alias. Exactly one of the two forms must be supplied. See ADR 57 for more details.
Needs: impl
Banner shown only at --help
req~jabkit.cli.banner-shown~1
The banner for the CLI (“JabKit”) is only shown if the help is output. Meaning: If there is no command given (falling back to help) or explicitly --help requested.
This increases the accessibility. Source: Accessibility of Command Line Interfaces
Needs: impl
Machine-readable output of the check commands
req~jabkit.cli.check-errorformat-output~1
The jabkit check subcommands emit their findings in a line-oriented file:line:column:citationKey[:field]: message format, suitable for editors and CI tooling.
Entry-level findings (for example, on the citation key itself) carry only the citation key. Field-level findings additionally carry the affected field name.
Needs: impl
GitHub Actions output of the check commands
req~jabkit.cli.check-github-actions-output~1
The jabkit check subcommands support an additional github-actions output format that emits each finding as a GitHub Actions workflow command of the shape ::error file=<file>,line=<line>,col=<col>,title=<title>::<message>.
The file, line, col, and title property values are URL-encoded so that Windows-style paths (containing :) and titles (containing : between citation key and field name) are parsed correctly by the GitHub Actions runner.
Needs: impl