From co-dev
Run linters, lint the code, check code style, or fix linting issues. Use when the user wants to lint, run linters, check code quality, verify code style, fix linting errors, or run code checks after completing code modifications.
npx claudepluginhub cloud-officer/claude-code-plugin-dev --plugin co-devThis skill is limited to using the following tools:
Execute linters after code changes are complete to ensure code quality and consistency.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Execute linters after code changes are complete to ensure code quality and consistency.
Execute the linters command which auto-detects active linters in the current repository and runs them with proper configurations:
linters
For each issue reported:
linters to verify the fixRepeat until all issues are resolved.
// eslint-disable, # noqa, // nolint) to bypass issuesThe following configuration files must NEVER be edited to work around linting issues:
JavaScript/TypeScript:
.eslintrc, .eslintrc.js, .eslintrc.json, .eslintrc.yml.prettierrc, .prettierrc.js, .prettierrc.jsoneslint.config.js, eslint.config.mjstsconfig.json (for strict mode or type checking options)Python:
.flake8, setup.cfg (flake8 section)pyproject.toml (tool.flake8, tool.pylint, tool.ruff sections).pylintrc, pylintrcruff.toml, .ruff.tomlmypy.ini, .mypy.iniRuby:
.rubocop.yml, .rubocop_todo.ymlGo:
.golangci.yml, .golangci.yamlRust:
clippy.toml, .clippy.tomlrustfmt.toml, .rustfmt.tomlMarkdown:
.markdownlint.json, .markdownlint.yaml, .markdownlint.yml.markdownlintrcGeneral:
.editorconfigDo NOT add these patterns to bypass linting:
# JavaScript/TypeScript
/* eslint-disable */
// eslint-disable-line
// eslint-disable-next-line
/* prettier-ignore */
// @ts-ignore
// @ts-nocheck
# Python
# noqa
# type: ignore
# pylint: disable
# ruff: noqa
# Go
//nolint
//nolint:all
# Ruby
# rubocop:disable
# Rust
#[allow(...)]
#![allow(...)]
If you encounter an issue that seems unfixable, explain the problem to the user and ask how they want to proceed.
When fixing shell script lint errors (e.g., from shellcheck or custom shell linters), apply these rules:
Always wrap shell variables in ${} braces. This prevents ambiguity and word-splitting bugs.
# Bad
echo "$HOME/.local/bin:$PATH"
if [ "$CURRENT_BRANCH" != "$MASTER_BRANCH" ]; then
# Good
echo "${HOME}/.local/bin:${PATH}"
if [ "${CURRENT_BRANCH}" != "${MASTER_BRANCH}" ]; then
== instead of = for string comparisonIn [ and [[ test expressions, use == for string equality, not =.
# Bad
if [ "${CONFIGURATION}" = "Debug" ]; then
# Good
if [ "${CONFIGURATION}" == "Debug" ]; then
"${VAR}" not $VAR[[ over [ when possible — safer, supports &&, ||, pattern matching$(command) over backticks — `command` is deprecated