M
mcore-linting-and-formatting
About mcore-linting-and-formatting
mcore-linting-and-formatting is a skill documenting linting and formatting procedures for the mcore project. It covers the project's formatter script, Python import ordering, linting setup, and style conventions.
Key features
- 01Run formatter in check or fix mode
- 02Apply isort to edited Python imports
- 03Install the linting tool group
- 04Follow public API and docstring rules
- 05Observe Python naming and exception rules
Use cases
- 01Check formatting before opening a PR
- 02Format files and sort Python imports
- 03Set up linting tools in a container
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill mcore-linting-and-formattingAfter installing, type/mcore-linting-and-formattingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonDetails
From the project READMELinting and Formatting
Running the Formatter
Run before opening a PR:
# Check mode (no changes applied)
BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh
# Fix mode
BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh
Tools invoked: black, isort, pylint, ruff, mypy.
Import Ordering
After editing imports in any Python files, always run uv run isort on those
files before committing:
uv run isort <file1>.py <file2>.py
Setting Up the Linting Group
Inside the container:
uv sync --locked --only-group linting
This installs ruff, black, isort, pylint — the same tools used by
tools/autoformat.sh and CI's linting job.
Code Style Rules
- Type hints: required on all public API functions. Use
X | None, notOptional[X]. - Docstrings: Google-style on all public classes and functions.
- Naming: follow Python conventions —
snake_casefor functions and variables,PascalCasefor classes. - Line length: 119 characters (configured in
pyproject.toml). - No bare
except: always catch specific exception types.
Comments
Markdown supported