Receber por email
← Voltar para o catálogo

precommit-fast

Quick pre-commit checks — lint:fix -> test

172estrelas
Atualizado há 5 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add sd0xdev/sd0x-dev-flow

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/precommit-fast/svg)](https://www.skillteca.com.br/skills/precommit-fast)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Pre-Commit Checks (Fast)

Trigger

  • Keywords: precommit fast, quick precommit, lint and test, precommit-fast

When NOT to Use

  • Full precommit with build step (use /precommit)
  • Verification loop (use /verify)
  • Just running tests (run directly)

Workflow Steps

| Step | Goal | Safety | Skip if Missing | |------|------|--------|----------------| | lint-fix | Auto-fix code style issues | read-write | yes | | test-unit | Run fast test suite | read-only | yes |

Failure behavior: continue-all (run all steps, report all results)

Task

Run quick pre-commit checks: lint:fix -> test (no build step)

Step 1: Check for runner script

Use Glob to check if .claude/scripts/precommit-runner.js exists in the project root.

  • Found → run: node .claude/scripts/precommit-runner.js --mode fast --tail 60
  • If runner succeeds, use its output and skip to the Output section.
  • If runner fails, treat as a real precommit failure (do not silently fallback).
  • NOT found → Auto-install attempt:
  • Node.js gate: Use Glob to check if package.json exists. If no package.json → skip, fall through to Step 2.
  • Locate plugin scripts: 3-level Glob fallback (short-circuit on first match):
  • Glob: ~/.claude/plugins/**/sd0x-dev-flow/scripts/precommit-runner.js
  • Glob: ${REPO_ROOT}/node_modules/sd0x-dev-flow/scripts/precommit-runner.js
  • Plugin-relative: try reading @scripts/precommit-runner.js
  • Plugin not found → fall through to Step 2.
  • Plugin found → copy runner + lib/utils.js (skip on conflict) → run.

Step 2: Fallback (no runner script)

Detect the project ecosystem to run steps manually.

| Manifest | Ecosystem | Lint-fix | Test | |----------|-----------|----------|------| | package.json | Node.js | {pm} lint:fix | {pm} test:fast / test:unit / test | | pyproject.toml | Python | ruff check --fix . | pytest tests/unit/ | | Cargo.toml | Rust | cargo clippy --fix | cargo test | | go.mod | Go | golangci-lint run --fix | go test ./... | | build.gradle | Java | ./gradlew spotlessApply | ./gradlew test | | pom.xml | Java (Maven) | mvn spotless:apply | mvn test | | Gemfile | Ruby | bundle exec rubocop -a | bundle exec rspec |

After lint:fix completes, run git diff --name-only to capture auto-fixed files.

Output

## Precommit (fast)

## Results

| Step | Status | Notes |
|------|--------|-------|
| lint:fix | ✅/❌/⏭️ | skipped if no script |
| test | ✅/❌/⏭️ | skipped if no script |

## Changed Files (after lint:fix)

- <files or "(none)">

## Overall: ✅ PASS / ❌ FAIL

## Checklist

- [ ] All available checks pass
- [ ] git status reviewed
Compartilhar X LinkedIn