| name | scitex-dev-linter |
| description | [WHAT] AST-based linter for reproducible-research Python — 47 built-in
rules across 7 categories: STX-I (imports), STX-IO (forbid raw
pd.read_csv / np.load / pickle / fig.savefig — use scitex.io.save /
scitex.io.load instead), STX-P (path handling — resolve via
scitex.path, no hardcoded `/home/...`), STX-PA (plot/axes), and more.
[WHEN] User asks to lint scitex code, check scitex conventions, list
linter rules, show STX-IO001 meaning, or enforce reproducible-research
style; mentions STX-*, scitex-dev linter, scitex conventions, reproducibility
lint.
[HOW] `scitex-dev linter check <path>` (CLI) or `scitex_dev.linter.check(path)`
(Python). Hook integration auto-runs on PreToolUse for Edit/Write.
|
| tags | ["scitex-dev-linter"] |
| allowed-tools | mcp__scitex__linter_* |
| primary_interface | hook |
| interfaces | {"python":1,"cli":2,"mcp":1,"skills":2,"http":0} |
scitex-dev linter
Interfaces: Python ⭐ · CLI ⭐⭐ · MCP ⭐ · Skills ⭐⭐ · Hook ⭐⭐⭐ (primary) · HTTP —
Code convention checker for SciTeX ecosystem packages.
Installation & import (two equivalent paths)
The same module is reachable via two install paths. Both forms work at
runtime; which one a user has depends on their install choice.
from scitex_dev import linter
scitex_dev.linter.list_rules(...)
import scitex.linter
scitex.linter.list_rules(...)
pip install scitex-dev alone does NOT expose the scitex namespace;
import scitex.linter raises ModuleNotFoundError. To use the
scitex.linter form, also pip install scitex.
See [../../general/02_interface-python-api.md] for the ecosystem-wide
rule and empirical verification table.
Sub-skills
Mandatory leaves
Core
Workflows
CLI
scitex-dev linter check [path]
scitex-dev linter list-rules
MCP Tools
| Tool | Description |
|---|
linter_check | Check files for convention violations |
linter_check_source | Check source code string |
linter_list_rules | List available rules |
Environment
- 20_env-vars.md — SCITEX_* env vars read by scitex-dev linter at runtime