Skip to main content

lint

Runs linter+typechecker with auto-detected toolchain (ruff/mypy, eslint/tsc, phpstan, golangci-lint, clippy). Triggers: lint, typecheck, static analysis.

Quellinformationen

Repository
softspark/ai-toolkit
Letzte Quellaktivität
27. Juli 2026 um 11:06
Erkannte Sprache von SKILL.md
Englisch
Sterne
179
Forks
21

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
lint
description
Runs linter+typechecker with auto-detected toolchain (ruff/mypy, eslint/tsc, phpstan, golangci-lint, clippy). Triggers: lint, typecheck, static analysis.
effort
low
disable-model-invocation
true
argument-hint
[path]
allowed-tools
Bash, Read
# Lint Runner $ARGUMENTS Run linting and type checking based on detected project type. ## Project context - Project files: !`ls pyproject.toml package.json composer.json pubspec.yaml go.mod 2>/dev/null` ## Auto-Detection Run the bundled script to detect available linters: ```bash python3 ${CLAUDE_SKILL_DIR}/scripts/detect-linters.py . ``` ## Usage ``` /lint [path] ``` ## Commands by Project Type | Project Type | Lint Command | Type Check | |--------------|--------------|------------| | **Python** | `ruff check .` | `mypy .` | | **TypeScript/Node** | `npx eslint .` | `npx tsc --noEmit` | | **PHP** | `./vendor/bin/phpstan analyse` | - | | **Go** | `golangci-lint run` | - | | **Rust** | `cargo clippy` | - | | **Flutter/Dart** | `dart analyze` | - | ## Python Projects ```bash # Linting ruff check . # Type checking mypy . # Auto-fix ruff check --fix . ruff format . ``` ## TypeScript/Node Projects ```bash # Linting npx eslint . # Type checking npx tsc --noEmit # Auto-fix npx eslint --fix . ``` ## PHP Projects ```bash # Static analysis ./vendor/bin/phpstan analyse # Code style ./vendor/bin/phpcs ./vendor/bin/phpcbf # auto-fix ``` ## Docker Execution (if applicable) ```bash # Generic pattern - replace {container} with your app container docker exec {container} make lint docker exec {container} make typecheck ``` ## Quality Gates - Linting: 0 errors - Type checking: 0 errors (for new code) ## Common Issues | Error | Fix | |-------|-----| | Missing type hints | Add type annotations | | Unused imports | Remove or use `# noqa: F401` | | Line too long | Break line or disable for that line | | Import order | Let linter fix with `--fix` | ## Rules - **MUST** auto-detect the linter from project config (`pyproject.toml`, `package.json`, `.eslintrc.*`, `composer.json`, `go.mod`, `Cargo.toml`, `pubspec.yaml`) — do not assume - **MUST** show the diff before applying any `--fix` run; the user owns the decision to accept auto-fixes - **NEVER** suppress lint errors with blanket `# noqa` or `eslint-disable-next-line` without naming the specific rule and a reason - **NEVER** run the formatter (ruff format, prettier, dprint) inside a lint pass unless the project has that wired explicitly — formatting and linting are separate concerns - **CRITICAL**: report the error count **before and after** any auto-fix — delta visibility is what makes the run trustworthy - **MANDATORY**: respect the project's lint config (`.ruff.toml`, `eslint.config.js`, `phpstan.neon`) — overriding project rules on the fly produces arguments during code review ## Gotchas - `ruff check .` and `ruff format .` are **separate** commands in modern ruff (>0.1.0). Running only `ruff check` misses formatting drift; some repos expect both as part of "lint". - `mypy` without `--strict` has a permissive default: missing annotations count as `Any`, so the type checker silently accepts untyped functions. Check whether the project pins `strict = true` in `pyproject.toml` before declaring "0 type errors". - `eslint` follows `eslint.config.js` (flat config, ESLint 9+) OR `.eslintrc.*` (legacy). Mixing produces mysterious "no rules applied" errors. Check ESLint version first (`npx eslint --version`). - `phpstan` levels (0-10) silently affect which rules apply. A repo at level 5 has different expectations than level 9; report the level alongside the error count. - `golangci-lint` composes many linters; disabling one at the project level may still show its warnings if invoked with `--enable-all` flag. Check `.golangci.yml` before treating a warning as a new regression. - Dart analyze reports on **all** files including generated `*.g.dart`. Some projects expect generated files to be excluded via `analysis_options.yaml`; without it, lint noise dominates real issues. ## When NOT to Use - To **fix** the errors — use `/fix` after this skill surfaces them - To run tests — use `/test` - For code review of logic and design — use `/review` - For security-specific static analysis (SAST) — use `/cve-scan` or `/security-patterns` - For project-specific rule authoring — edit the linter's config directly
Auf GitHub ansehen