Skip to content
Development
Command

/husky

Run comprehensive CI checks and fix issues until repository is in working state

From plugin
claude-code-templates
33k200 skills200 agents200 commands32 MCP
$ npx -y skills add davila7/claude-code-templates --agent claude-code

Command definition

husky.md
allowed-tools: Bash, Read
argument-hint: "[--skip-install] | [--only-lint] | [--skip-tests]"
description: Run comprehensive CI checks and fix issues until repository is in working state

Husky CI Pre-commit Checks

Run comprehensive CI checks and fix issues: $ARGUMENTS

Current Repository State

  • Git status: !`git status --porcelain`
  • Package manager: !`which pnpm npm yarn | head -1`
  • Current branch: !`git branch --show-current`
  • Package.json: @package.json
  • Environment file: @.env (if exists)

Task

Verify repository is in working state and fix issues. All commands run from repo root.

CI Check Protocol

Step 0: Environment Setup

  • Update dependencies: `pnpm i` (unless --skip-install)
  • Source environment: `.env` file if exists

Step 1: Linting

  • Check linter passes: `pnpm lint`
  • Fix formatting issues automatically when possible

Step 2: TypeScript & Build

  • Run comprehensive build checks:
  pnpm nx run-many --targets=build:types,build:dist,build:app,generate:docs,dev:run,typecheck
  • If specific command fails, debug that command individually
  • Fix TypeScript errors and build issues

Step 3: Test Coverage

  • Source `.env` file first if exists
  • Run test coverage: `pnpm nx run-many --target=test:coverage`
  • **NEVER** run normal test command (times out)
  • Run individual packages one by one for easier debugging
  • For snapshot test failures: explain thesis before updating snapshots

Step 4: Package Validation

  • Sort package.json: `pnpm run sort-package-json`
  • Lint packages: `pnpm nx run-many --targets=lint:package,lint:deps`

Step 5: Double Check

  • If fixes made in any step, re-run all preceding checks
  • Ensure no regression introduced

Step 6: Staging

  • Check status: `git status`
  • Add files: `git add`
  • **EXCLUDE**: Git submodules in `lib/*` folders
  • **DO NOT COMMIT**: Only stage files

Error Handling Protocol

1. Diagnosis

  • Explain why command broke with complete analysis
  • Cite source code and logs supporting thesis
  • Add console logs if needed for confirmation
  • Ask for help if insufficient context

2. Fix Implementation

  • Propose specific fix with full explanation
  • Explain why fix will work
  • If fix fails, return to Step 1

3. Impact Analysis

  • Consider if same bug exists elsewhere
  • Search codebase for similar patterns
  • Fix related issues proactively

4. Cleanup

  • Remove all added console.logs after fixing
  • Run `pnpm run lint` to format files
  • Ask user before staging changes
  • Suggest commit message (don't commit)

Development Notes

File Organization

  • Functions/types like `createTevmNode` are in:
  • Implementation: `createTevmNode.js`
  • Types: `TevmNode.ts`
  • Tests: `createTevmNode.spec.ts`

Tool-Specific Tips

pnpm i

  • If fails, abort unless simple syntax error (missing comma)

pnpm lint (Biome)

  • Lints entire codebase
  • Auto-fixes most formatting issues

TypeScript Builds

  • Look for types in node_modules if not obvious
  • For tevm packages, check monorepo structure
  • Consult documentation if multiple failures

Test Execution

  • Use Vite test runner
  • Run packages individually for debugging
  • Add console logs to test assumptions
  • Explain snapshot changes before updating

Success Criteria

Print checklist at end with ✅ for passed steps:

  • ✅ Dependencies updated
  • ✅ Linting passed
  • ✅ TypeScript/Build passed
  • ✅ Tests passed
  • ✅ Package validation passed
  • ✅ Files staged (no commits made)

Safety Guidelines

  • **Fix errors proactively** - TypeScript/tests will catch regressions
  • **Never commit** - Only stage changes
  • **One step at a time** - Don't proceed until current step passes
  • **Ask permission** before staging if fixes were made
Read more
@davila7
Ships withclaude-code-templates

Ready-to-use configurations for Anthropic's Claude Code. A comprehensive collection of AI agents, custom commands, settings, hooks, external integrations (MCPs), and project templates to enhance your development workflow.

33k200 skills200 agents32 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
33.0k
Star history of davila7/claude-code-templates on GitHub, a chart by star-history.com

Other commands on claude-code-templates.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command