tooling

Enforce linting, formatting, typechecking, and commit-message rules via lefthook and commitlint.

Updated May 7, 2026
One-click install
npx skills add https://github.com/johinsDev/loyalty-app --skill tooling-johinsdev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tooling
Source: https://github.com/johinsDev/loyalty-app/tree/main/.claude/skills/tooling
Command: npx skills add https://github.com/johinsDev/loyalty-app --skill tooling-johinsdev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents blocked commits and inconsistent formatting by explaining the exact lint, format, and commit-message rules enforced by the monorepo’s tooling.

Core Features & Use Cases

  • Leverages lefthook for deterministic pre-commit checks: Runs oxlint linting, applies Oxformat-style fixes via oxlint --fix, and performs repo-wide typecheck before changes land.
  • Enforces Conventional Commits with commitlint: Validates commit message type and a constrained scope enum aligned to the monorepo layout.
  • Provides troubleshooting paths for common failures: Explains how to resolve oxlint rule errors, formatter drift, typecheck failures, and commitlint scope/type violations during onboarding or while debugging.

Quick Start

Use this skill when a git commit fails and re-run the checks by fixing lint and formatting issues, then retry the commit with an allowed conventional-commit scope.

Frequently Asked Questions about tooling

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

FAQPage Schema
How do I fix a git commit failing pre-commit checks in a monorepo?

To fix a failing git commit, resolve reported oxlint errors and apply Oxformat styling via oxlint --fix, then retry the commit using a valid conventional-commit scope from commitlint.config.ts.

What is a valid conventional commit scope for monorepo changes?

A valid conventional commit scope must match the constrained scope enum aligned to your monorepo layout in commitlint.config.ts, ensuring commitlint message validation passes for changes in apps and packages.

How does lefthook enforce code quality before changes land?

Lefthook enforces deterministic pre-commit checks by running oxlint linting, applying Oxformat-style fixes via oxlint --fix, and executing turbo-based typecheck across apps and packages.

Does commitlint work with lefthook for staged-code quality enforcement?

Yes, commitlint validates commit messages while lefthook runs oxlint and typecheck, together standardizing staged-code quality enforcement across the monorepo.

Why does oxlint formatting drift cause blocked commits?

Oxlint formatting drift blocks commits because lefthook detects unformatted staged code, requiring you to apply Oxformat-driven fixes via oxlint --fix before retrying.