agentsclimarketplace

Validating pre commit

Skill saleor/configurator/.claude/skills/validating-pre-commit

Runs quality gate checks before commit or push. Use when preparing to commit, reproducing CI failures locally, or validating changes pass all checks.From its SKILL.md

Install
npx -y skills add saleor/configurator --skill validating-pre-commit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

4.4 KB, as published. Nobody here has run it

Pre-Commit Quality Gate

Overview

Ensure all code quality standards are met before committing or pushing changes. Runs the mandatory quality checklist and reports failures with actionable fixes.

When to Use

  • Before creating a commit or pushing to remote
  • After making significant changes
  • When CI is failing and you need to reproduce locally

Quick Reference

CheckCommandPurpose
Auto-fixpnpm check:fixFix lint/format issues
Buildpnpm buildCompile TypeScript
Testpnpm testRun all tests
Type checknpx tsc --noEmitStrict TS validation
CI checkpnpm check:ciFull CI validation
Lint onlypnpm lintCheck linting
Format onlypnpm formatCheck formatting
All at oncepnpm check:fix && pnpm build && pnpm test && pnpm check:ciFull pipeline

Mandatory Quality Checklist

Execute these steps in order. All must pass before committing.

Step 1: Auto-Fix Linting and Formatting

pnpm check:fix

Auto-fixes Biome issues (imports, commas, quotes, indentation). If issues remain, manually fix complexity warnings, unused variables, or type errors.

Step 2: Verify TypeScript Compilation

pnpm build

Ensures the project compiles. Check recent changes for type mismatches, missing exports, or import resolution errors.

Step 3: Run All Tests

pnpm test

If tests fail: read the failure message, check if expectations match new behavior, update test or fix implementation, re-run with pnpm test -- --filter=<test-file>.

Step 4: Strict TypeScript Check

npx tsc --noEmit

Catches more than build: implicit any, unused imports/variables, stricter null checking.

Step 5: Final CI Validation

pnpm check:ci

Runs the same checks CI will run (linting without auto-fix, format checking, TypeScript compilation).

E2E CLI Testing Protocol

When to Run: Before pushing changes that affect core CLI functionality (commands, services, repositories).

# Credentials from .env.local (see .env.example for template)
# source .env.local

# 1. Clean slate
rm -rf config.yml

# 2. Fresh introspection
pnpm dev introspect --url=$SALEOR_URL --token=$SALEOR_TOKEN

# 3. Deploy changes
pnpm dev deploy --url=$SALEOR_URL --token=$SALEOR_TOKEN

# 4. Test idempotency (deploy again - should have no changes)
pnpm dev deploy --url=$SALEOR_URL --token=$SALEOR_TOKEN

# 5. Clean and re-introspect
rm config.yml
pnpm dev introspect --url=<URL> --token=<TOKEN>

# 6. Verify no drift
pnpm dev diff --url=<URL> --token=<TOKEN>

Success Criteria: Step 4 shows no changes (idempotency). Step 6 shows no diff (round-trip consistency).

Common Mistakes

MistakeFix
any type in production codeUse proper type or unknown + type guard
Unused import left behindRemove it or use it (Biome auto-fix handles this)
Object possibly undefinedUse optional chaining (?.) or early return guard
Type not assignableCheck type definitions and ensure compatibility
Mock not returning expected valuevi.mocked(service.method).mockResolvedValue(expected)
Skipping check:ci after check:fixAlways run both; check:ci catches non-auto-fixable issues
Forgetting E2E test for core changesRun full E2E protocol above for any CLI command changes

Automated Checks

The project has Husky pre-push hooks (.husky/pre-push) that auto-generate schema documentation. These run automatically.

References

  • scripts/validate-all.sh - One-command validation script
  • docs/TESTING_PROTOCOLS.md - E2E testing details
  • biome.json - Linting configuration

Related Skills

  • Code standards: See reviewing-typescript-code for quality criteria
  • CI integration: See managing-github-ci for workflow troubleshooting
  • Test failures: See analyzing-test-coverage for test debugging

Quick Reference Rule

For a condensed quick reference, see .claude/rules/deployment-safety.md (always loaded - applies to all files).

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.