A zero-dependency CI tool replacing multiple CI services.
Project description
ciforge
ciforge is a zero-dependency CLI and GitHub Action that replaces 20 CI services with one robust tool. Run your complete CI pipeline 100% locally or natively within your actions, faster and with zero external dependencies.
Features
- Code Quality: Intelligent linting and AST-based complexity analysis (cyclomatic complexity, long functions).
- Test Coverage Analysis: Deep inspection of test coverage gaps.
- Secret Detection: Catch hardcoded credentials before they reach your repository.
- Config Validation: Native parsing and validation for JSON, YAML, ENV, TOML, and XML files.
- PR Metrics & Velocity Tracking: Analyze pull request size, churn, and time span metrics.
- AI Reviewer: Integrates with OpenAI to automatically find logic flaws and missing edge cases.
- Localization Sync: Finds missing translation keys by comparing localization files against a base en.json.
- Git Hooks Installer: Easily install pre-commit hooks to run ciforge before committing.
- Auto-Generated Badges: Generate dynamic SVG badges reflecting repository health.
- HTML Reports: Export beautiful standalone HTML reports.
- Contributor Welcome Module: Automatically greet first-time contributors.
- Auto-Fixer (
--fix): Automatically resolves low-hanging issues like debug statements and bad formatting. - Custom Ignore Rules: Whitelist files and dummy secrets via
.ciforge-ignore.
Installation
pip install ciforge-cli
Usage
Run locally and print to terminal:
ciforge --repo . --base-ref origin/main --format markdown --fail-on high
Generate a beautiful HTML dashboard:
ciforge --repo . --format html --badge
Run the auto-fixer:
ciforge --repo . --fix
Install local pre-commit hook (blocks bad commits):
ciforge --install-hook
GitHub Action Usage
Use ciforge directly in your workflows to comment on PRs and enforce standards:
steps:
- uses: actions/checkout@v4
- name: Run CI Forge
uses: Tahiram32/ciforge@v1.0.0
with:
repo: '.'
base-ref: 'origin/main'
format: 'markdown'
fail-on: 'high'
post-comment: 'true'
badge: 'true'
openai-key: ${{ secrets.OPENAI_API_KEY }} # Optional: enables AI Reviewer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ciforge_cli-1.0.2.tar.gz.
File metadata
- Download URL: ciforge_cli-1.0.2.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e154872908248bd5291d13f47c4751ddeb3e098a5e05c65c57729beb2c4dd81
|
|
| MD5 |
1d51a85aedbe0f29b8543c8c364fecef
|
|
| BLAKE2b-256 |
7dccc3301d34e095a55cb6de889601287f7f57ab40146fb39143e7b356231cd5
|
Provenance
The following attestation bundles were made for ciforge_cli-1.0.2.tar.gz:
Publisher:
publish.yml on Tahiram32/ciforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciforge_cli-1.0.2.tar.gz -
Subject digest:
3e154872908248bd5291d13f47c4751ddeb3e098a5e05c65c57729beb2c4dd81 - Sigstore transparency entry: 2124020814
- Sigstore integration time:
-
Permalink:
Tahiram32/ciforge@96479abaa5d24e844f3665a5058b8cb8974a9321 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/Tahiram32
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@96479abaa5d24e844f3665a5058b8cb8974a9321 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ciforge_cli-1.0.2-py3-none-any.whl.
File metadata
- Download URL: ciforge_cli-1.0.2-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04f1c62d918faf0f9a8d0b1f9d8e8742aa9f823e8e7c33a22180a0df259fdca9
|
|
| MD5 |
209317342dbe6dd9dd6e62d2fff75ff8
|
|
| BLAKE2b-256 |
f09c041880d8785df93db955575047e2b0fe952d8943a1c3d2019a934c0aab8d
|
Provenance
The following attestation bundles were made for ciforge_cli-1.0.2-py3-none-any.whl:
Publisher:
publish.yml on Tahiram32/ciforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciforge_cli-1.0.2-py3-none-any.whl -
Subject digest:
04f1c62d918faf0f9a8d0b1f9d8e8742aa9f823e8e7c33a22180a0df259fdca9 - Sigstore transparency entry: 2124020837
- Sigstore integration time:
-
Permalink:
Tahiram32/ciforge@96479abaa5d24e844f3665a5058b8cb8974a9321 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/Tahiram32
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@96479abaa5d24e844f3665a5058b8cb8974a9321 -
Trigger Event:
release
-
Statement type: