-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
STE-Linter requires Python 3.9 or later and has zero runtime dependencies.
The package name on PyPI is ste100-linter; the command it installs is
ste100. Nothing compiles, and nothing downloads at install time beyond the
package itself.
pipx installs the package into its own
isolated environment and puts the ste100 command on your PATH.
pipx install ste100-linteruv tool install ste100-linteruv tool install gives the same result as pipx: an isolated environment,
ste100 on PATH.
pip install ste100-linterA plain pip install works, but it installs into whichever environment
pip points at. Use a virtual environment unless you have a specific
reason not to:
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install ste100-linterEvery command in this wiki that starts with ste100 also works as
python ste_lint.py from a clone of the repository. ste_lint.py is a
compatibility shim: it puts src/ on sys.path and calls the same entry
point the installed console script calls.
git clone https://github.com/Firelight-Innovations/STE-Linter.git
cd STE-Linter
python ste_lint.py --helpThis is the fastest way to test the linter, review a pull request, or run it in CI without adding an install step to the pipeline.
If the package is installed (by any of the methods above, or with
pip install -e . from a checkout) and you want to invoke it as a module
instead of relying on the console script being on PATH, use:
python -m ste100 --helpThis calls the same entry point as the ste100 command and ste_lint.py.
Use it when two or more Python versions are installed side by side and you
need to name which interpreter runs the linter.
The linter is pure Python and behaves the same way on Windows, macOS, and Linux. Two points are worth stating for Windows:
-
Output encoding is handled for you. The rule tables contain non-ASCII characters -- a typographic ellipsis in the
and/orsuggestion, curly apostrophes in contraction fixes -- and Windows consoles do not default to UTF-8. The CLI reconfiguressys.stdoutandsys.stderrto UTF-8 at startup (_force_utf8_output()insrc/ste100/cli.py).ste100output renders correctly in PowerShell andcmdwith no-X utf8flag and nochcp 65001step. Verified by running--fixon a file withand/orand a contraction: both non-ASCII substitutions rendered correctly in a plain PowerShell/Git Bash console. -
Path separators in findings use
/, not\. Reported paths are POSIX-style (docs/guide.md, notdocs\guide.md) on every host OS. Output stays consistent between a Windows dev machine and a Linux CI runner.
ste100 --versionThis prints the installed version (ste100 0.1.0 at the time of writing) and
exits 0. If that works, run it against one file to confirm the rule
tables load:
ste100 --stats path/to/one/file.mdpip install --user ste100-linter installs the console script into your
per-user script directory. Windows and macOS/Linux ship different defaults
for whether that directory is on PATH:
-
Windows:
%APPDATA%\Python\Python3XX\Scripts -
macOS / Linux:
~/.local/bin
If ste100 is not found after installing, either:
-
Add that directory to
PATH, or -
Fall back to the module form, which does not depend on
PATHat all:python -m ste100 --version
-
Or switch to
pipx install ste100-linter/uv tool install ste100-linter, both of which manage the PATH entry for you.
python -m site --user-base prints your user base directory if you need to
locate the script directory for your platform and Python version.
- CLI Reference -- every flag, exit codes, and how to read the output.
- Configuration -- presets, profiles, and project config files.
- Simplified Technical English -- what the linter is checking for and why.
- How the Linter Works -- the six-test analysis under the hood.
- Agent Skill -- using the linter from an AI coding agent.
- Contributing -- building from source, running the test suite.
STE-Linter — Apache-2.0, Firelight Innovations. Not a licensed or certified implementation of ASD-STE100. See Simplified Technical English.
Start here
The standard
Using it
Contributing