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
Decide Whether an Installed Launcher Takes the Command or the Wrapper Name #3199
Which name does an extensionless launcher for a Python tool take when it is installed onto PATH or into a system slot?
The standard agreed in #3140, now written into CODESTYLE.md "Script and Utility File Names" on #3198, carries two clauses that both reach that file and give it different names:
Installed commands: an extensionless executable on PATH or in a system slot is named as a command, lowercase-hyphenated with no extension, whatever language it is written in. That gives fetch-report.
Wrapper exemption: a thin launcher whose only job is to run a Python tool keeps that tool's stem. That gives fetch_report.
Neither clause says which wins, so a reader or the follow-up audit check (#3141) can apply either and call the other a violation. The local strict review on #3198 raised this, and the issue's own text leaves it open, so it is not the agent's to settle.
Options
Recommended: an installed extensionless command always takes the command convention, and the wrapper exemption covers only launchers that keep an extension. A name on PATH is what a person types, so it should read like every other installed Linux command, while the exemption's purpose, keeping fetch_report.py, .sh, and .ps1 grouped in the tree, is already met by the launchers that keep their extension. Effect on State the Fleet Standard for Script and Utility File Names #3198: one added sentence on the wrapper exemption, then the pull request continues its review loop.
The wrapper exemption wins: an installed launcher keeps the Python tool's snake_case stem. This keeps the tool's name identical everywhere, at the cost of an installed command that does not look like one. Effect on State the Fleet Standard for Script and Utility File Names #3198: one added sentence on the installed-commands clause.
Answered by the maintainer: option 1. An installed extensionless command always follows the command convention, and the wrapper exemption covers only launchers that keep an extension. This lands as one sentence on the wrapper exemption in CODESTYLE.md "Script and Utility File Names" on #3198.
Follow-up answer from the maintainer, raised by the local strict review on #3198: a launcher that keeps its extension but is installed onto PATH or into a system slot, such as a Windows .cmd shim, is an installed command too, so it takes the command name (fetch-report.cmd). The wrapper exemption covers only a launcher run by its path.
Activity
ptr727 commentedon Oct 18, 2026
Answered by the maintainer: option 1. An installed extensionless command always follows the command convention, and the wrapper exemption covers only launchers that keep an extension. This lands as one sentence on the wrapper exemption in
CODESTYLE.md"Script and Utility File Names" on #3198.ptr727 commentedon Oct 18, 2026
Follow-up answer from the maintainer, raised by the local strict review on #3198: a launcher that keeps its extension but is installed onto
PATHor into a system slot, such as a Windows.cmdshim, is an installed command too, so it takes the command name (fetch-report.cmd). The wrapper exemption covers only a launcher run by its path.State That an Installed Extensionless Launcher Takes the Command Name
State the Fleet Standard for Script and Utility File Names (#3198)