code-quality-tooling-edho-ferdian

Configure linter, formatter, and Git hook enforcement for JavaScript, TypeScript, Python, Go, and Rust projects.

2|Updated Sep 6, 2026
One-click install
npx skills add https://github.com/edhoferdian/EEF --skill code-quality-tooling-edho-ferdian-edhoferdian
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: code-quality-tooling-edho-ferdian
Source: https://github.com/edhoferdian/EEF/tree/main/.agents/skills/code-quality-tooling-edho-ferdian
Command: npx skills add https://github.com/edhoferdian/EEF --skill code-quality-tooling-edho-ferdian-edhoferdian

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Projects without an automated code-quality gate let style violations and lint errors slip into commits, and teams struggle to wire up ESLint, Prettier, Biome, Husky, and lint-staged without config conflicts or hooks that only work on one machine. ## Core Features & Use Cases - JS/TS Gate Setup: Default Biome path or ESLint flat-config + Prettier path, with the decision criteria for choosing between them and the exact config files for each. - Git Hook Enforcement: Husky v9 setup with lint-staged so hooks are versioned in the repo and install automatically for every contributor on npm install. - Cross-Stack Coverage: Equivalent tooling for Python (Ruff + pre-commit framework), Go (golangci-lint + lefthook), and Rust (cargo fmt + clippy), plus guidance on picking one hook runner for polyglot monorepos. - Use Case: A new TypeScript project has no linting at all. Use this Skill to install Biome, wire a Husky pre-commit hook running lint-staged on staged files only, and add a pre-push hook running the type-checker and tests. ## Quick Start Set up Biome with a Husky pre-commit hook and lint-staged for this project so lint and format checks run automatically before every commit.

Frequently Asked Questions about code-quality-tooling-edho-ferdian

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up ESLint and Prettier with Husky pre-commit hooks?

Install ESLint with a flat config (eslint.config.js), add Prettier with eslint-config-prettier placed last in the config array, then run npx husky init and configure lint-staged to run eslint --fix and prettier --write on staged files in the pre-commit hook.

Biome vs ESLint and Prettier, which should I use for a new project?

Biome is the recommended default for new projects because one Rust-based tool handles both linting and formatting with no config conflicts. Choose ESLint plus Prettier only when you need plugin coverage Biome lacks, such as eslint-plugin-jsx-a11y, or have a large existing ESLint config.

What should run in pre-commit vs pre-push vs CI?

Pre-commit should run lint and format on staged files only via lint-staged, finishing in under a second. Pre-push should run the type-checker and a fast test subset. CI runs the full test suite and build as the authoritative gate, since local hooks can always be bypassed.

Why does my Husky hook not run for other contributors?

The prepare script added by husky init was not committed, or someone installed with npm install --ignore-scripts. Verify package.json contains "prepare": "husky" and that it is committed so hooks install automatically on every npm install.

How do I set up pre-commit hooks for Python or Go projects?

For Python, use Ruff for linting and formatting with the pre-commit framework as the hook runner. For Go, use golangci-lint with either the pre-commit framework or lefthook. For polyglot monorepos, lefthook is the recommended single hook runner.

Why do ESLint and Prettier conflict on the same line?

Conflicts over quote style or trailing commas mean eslint-config-prettier is missing or not positioned last in the flat config array. Fix the config ordering rather than disabling individual rules, or switch to Biome where this conflict class cannot occur.