name: ort-lint description: Lint and format ONNX Runtime code. Use this skill when asked to lint, format, or check code style for C++ or Python files in ONNX Runtime.
Linting and Formatting ONNX Runtime Code
ONNX Runtime uses lintrunner for both C++ (clang-format) and Python (ruff).
Setup (one-time)
pip install -r requirements-lintrunner.txt
lintrunner init
Commands
lintrunner -a # auto-fix changed files
lintrunner -a --all-files # auto-fix all files
lintrunner -a path/to/file.py path/to/other_file.cc # auto-fix specific files
lintrunner f --all-files # format Python files only
lintrunner # check without fixing (dry run)
Style rules
C++
- Google C++ Style with modifications (see
docs/Coding_Conventions_and_Standards.mdfor full details) - Max line length: 120 characters, but aim for 80 when possible
- Configured in
.clang-formatand.clang-tidy
Python
- Google Python Style Guide (extension of PEP 8)
- Max line length: 120 characters
- Configured in
pyproject.toml
Agent tips
- Activate a Python virtual environment before installing dependencies. See "Python > Virtual environment" in
AGENTS.md. - If lintrunner is not yet set up, install and initialize first (see Setup).
- Prefer
lintrunner -a(changed files only) over--all-filesunless the user asks for a full sweep.