# đ Pipecheck
[](https://github.com/Ayyankhan101/PipeCheck/actions)
[](https://crates.io/crates/pipecheck)
[](https://www.npmjs.com/package/pipecheck)
[](LICENSE-MIT)
**A blazingly fast CI/CD pipeline auditor that catches errors before you push.**
Stop wasting time debugging CI failures. Pipecheck validates your GitHub Actions, GitLab CI, and CircleCI configurations locally, catching syntax errors, circular dependencies, and security issues instantly.
## đ Quick Start
### Install via npm (recommended)
```bash
npm install -g pipecheck
```
### Install via Cargo
```bash
cargo install pipecheck
```
### Run
```bash
pipecheck .github/workflows/ci.yml
```
## ⨠Features
- â
**Syntax Validation** - Parse and validate GitHub Actions, GitLab CI, and CircleCI configs
- đ **Dependency Analysis** - Detect circular dependencies in job workflows
- đ **Secrets Auditing** - Identify hardcoded secrets and environment variable issues
- đŗ **Docker Validation** - Check Docker image references and tags
- đ **Multiple Output Formats** - Text and JSON output for CI integration
- ⥠**Fast** - Written in Rust for maximum performance
- đ¯ **Zero Config** - Works out of the box
## đĄ Why Pipecheck?
**Before Pipecheck:**
```
git push
â Wait 5 minutes
â CI fails: "Circular dependency detected"
â Fix locally
â git push again
â Wait 5 minutes...
```
**With Pipecheck:**
```
pipecheck .github/workflows/ci.yml
â â ERROR: Circular dependency detected: job-a -> job-c -> job-b
â Fix immediately
â git push with confidence â
```
## đ Usage
### Quick Start
```bash
# Auto-detect and check workflow
pipecheck
# Check specific file
pipecheck .github/workflows/ci.yml
# Check all workflows
pipecheck --all
# Interactive TUI mode
pipecheck --tui
```
### All Options
```
CI/CD Pipeline Auditor - Catch errors before you push
Usage: pipecheck [OPTIONS] [FILE]
Arguments:
[FILE] Path to pipeline configuration file (auto-detects if not provided)
Options:
-a, --all Check all workflow files in directory
--install-hook Install pre-commit hook
-w, --watch Watch for file changes and re-check
--fix Automatically fix issues where possible
--tui Interactive terminal UI mode
-f, --format <FORMAT> Output format (text, json) [default: text]
--no-docker Skip Docker image checks
-s, --strict Enable strict mode (warnings as errors)
-h, --help Print help
-V, --version Print version
```
### Interactive Features
```bash
# Install pre-commit hook
pipecheck --install-hook
# Watch mode - auto-recheck on file changes
pipecheck --watch
# Interactive TUI mode
pipecheck --tui
# Auto-fix issues (Coming soon!)
pipecheck --fix
```
### Configuration File
Create `.pipecheckrc.yml` in your project root:
```yaml
ignore:
- .github/workflows/old-*.yml
rules:
circular_dependencies: true
missing_secrets: true
docker_latest_tag: true
```
### Output Formats
```bash
# Text output (default)
pipecheck .github/workflows/ci.yml
# JSON output for CI integration
pipecheck .github/workflows/ci.yml --format json
# Strict mode (warnings as errors)
pipecheck .github/workflows/ci.yml --strict
# Skip Docker checks
pipecheck .github/workflows/ci.yml --no-docker
```
## đ Example Output
```
Provider: GitHubActions
1 errors, 0 warnings
â ERROR: Circular dependency detected: job-a -> job-c -> job-b
đĄ Remove one of the dependencies to break the cycle
âšī¸ INFO: Job 'build' uses secret: API_KEY
đĄ Ensure this secret is configured in repository settings
```
## đ§ Supported Platforms
| **GitHub Actions** | â
Full Support | `.github/workflows/*.yml` |
| **GitLab CI** | â
Full Support | `.gitlab-ci.yml` |
| **CircleCI** | â
Full Support | `.circleci/config.yml` |
## đī¸ Use in CI/CD
### GitHub Actions
```yaml
- name: Validate workflows
run: |
npm install -g pipecheck
pipecheck .github/workflows/*.yml --strict
```
### GitLab CI
```yaml
validate:
script:
- cargo install pipecheck
- pipecheck .gitlab-ci.yml --strict
```
### Pre-commit Hook
```bash
pipecheck .github/workflows/*.yml --strict || exit 1
```
## đ¤ Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## đ License
Licensed under either of:
- MIT License ([LICENSE-MIT](LICENSE-MIT))
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))
at your option.
## đ Show Your Support
If Pipecheck saves you time, give it a â on GitHub!