Skip to main content

A zero-dependency CI tool replacing multiple CI services.

Project description

ciforge

Sponsor PyPI License: AGPL v3

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.
  • Multi-Model AI Review: Integrates with OpenAI, Anthropic, or Ollama to 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.
  • Auto-Changelog Generator: Generate CHANGELOG.md from git log using conventional commits.
  • Dead Code Detector: Find unreferenced functions and classes.
  • Deployment Health Check: Verify production deployments after CI runs.
  • Config Drift Detection: Detect out-of-sync environment files (e.g. .env.production vs .env.staging).
  • Architecture Diagram Generator: Auto-generate Mermaid dependency diagrams.
  • Auto PR Descriptions: Generate rich markdown PR descriptions from git diffs.
  • Mobile Config Linter: Catch errors in pubspec.yaml, build.gradle, and Podfile.

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

Generate a CHANGELOG.md:

ciforge --repo . --changelog

Check for config drift:

ciforge --repo . --drift

Run deployment health check:

ciforge --repo . --deploy-check https://your-production-url.com

Generate architecture diagram:

ciforge --repo . --arch-diagram

Auto-generate PR description:

ciforge --repo . --pr-describe

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@v2.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

❤️ Sponsorship & Commercial Licenses

ciforge is licensed under the strict GNU AGPLv3 license. It is 100% free and open source for individual developers and open-source projects.

Commercial Dual License

If your company wants to use ciforge in a proprietary or closed-source commercial product without being bound by the AGPLv3 restrictions (the "cloud loophole"), you must purchase a Commercial License by sponsoring the project.

Sponsor ciforge

Every commercial sponsor helps fund:

  • 🚀 New features and integrations
  • 🐛 Bug fixes and maintenance
  • 📖 Documentation and examples
  • 🔒 Security research and improvements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ciforge_cli-2.0.1.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ciforge_cli-2.0.1-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file ciforge_cli-2.0.1.tar.gz.

File metadata

  • Download URL: ciforge_cli-2.0.1.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ciforge_cli-2.0.1.tar.gz
Algorithm Hash digest
SHA256 7b51471adfa0e708d02d1190b9686d10c7826237eb0dd5ed40b55c9383411112
MD5 5f4518e00a6d1916b7626fe18d489ac6
BLAKE2b-256 2cdd1816ced2e9b5f21d94acaab18f25d3cab65f3bfcda1d55c56921e15b7972

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciforge_cli-2.0.1.tar.gz:

Publisher: publish.yml on Tahiram32/ciforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ciforge_cli-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: ciforge_cli-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ciforge_cli-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 212bc885f12173a692f0f76f6dd5f1ad5f1bb09e1c8f709ccd8e3edac7b7050e
MD5 e78e70e27b7e8f9c71b43d88f0973ffa
BLAKE2b-256 71ff1099d97908dca90950307e575b9854b3c6376f102a15f5dced90f689839e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciforge_cli-2.0.1-py3-none-any.whl:

Publisher: publish.yml on Tahiram32/ciforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page