Run your CI pipeline locally before pushing. Auto-detects your stack and runs lint, type check, tests, build, and security scans — all in one command.
curl -fsSL https://raw.githubusercontent.com/Anuar-boop/localci/main/localci.sh | bashOr:
git clone https://github.com/Anuar-boop/localci.git
alias localci="bash ~/localci/localci.sh"You push. CI fails. You fix. You push again. CI fails again. 15 minutes wasted.
localci runs the same checks locally in seconds. Push with confidence.
"A tool for prototyping CI scripts locally before committing" — HN: Most Wanted Dev Tools 2026
cd my-project
localci localci v1.0.0 — Local CI Runner
→ Lint (npm)
✓ Lint (npm) (2s)
→ Type Check (tsc)
✓ Type Check (tsc) (4s)
→ Tests (npm)
✓ Tests (npm) (8s)
→ Build (npm)
✓ Build (npm) (12s)
→ Security (npm audit)
✓ Security (npm audit) (3s)
✓ No secrets detected
All checks passed! ✓
6 passed 0 failed 0 skipped (29s)
| Stack | Lint | Types | Test | Build | Security |
|---|---|---|---|---|---|
| Node.js | npm run lint |
tsc --noEmit |
npm test |
npm run build |
npm audit |
| Python | ruff check |
mypy |
pytest |
— | — |
| Go | go vet |
— | go test |
go build |
— |
| Rust | cargo clippy |
— | cargo test |
cargo build |
— |
| Docker | — | — | — | docker build |
— |
Plus: secret scanning for all stacks (checks for hardcoded API keys, tokens, passwords).
# Old way
git push
# wait 3 minutes for CI
# it fails
# fix, push again
# wait 3 more minutes
# New way
localci && git push
# everything passes locally first
# push with confidencelocalci # Auto-detect and run all checks
localci --lint # Run only linting
localci --test # Run only tests
localci --build # Run only build
localci --security # Run only security checks
localci --help # Show helpPure bash. No Docker required. No npm install. Uses the tools already in your project.
MIT