Skip to content

FORGE is a command-line interface (CLI) tool specifically designed for developers frustrated with the sluggish feedback loop of cloud-based CI/CD. We understand how annoying it is to wait for CI/CD pipelines to complete only to discover a tiny bug

License

0xReLogic/Forge

Repository files navigation

FORGE - Local CI/CD Runner

Fast, Offline, Reliable, Go-anywhere Execution

FORGE CI License: MIT Hacktoberfest

About FORGE

FORGE is a lightweight local CI/CD tool built with Rust that allows you to run automation pipelines on your local machine. It's extremely useful for developing and testing pipelines before pushing them to larger CI/CD systems.

Why FORGE?

  • Local & Fast: Run pipelines on your local machine without waiting for CI/CD servers
  • Offline-First: Works without an internet connection (as long as Docker images are available)
  • Compatible: Syntax similar to GitHub Actions and GitLab CI
  • Lightweight: Minimal resource consumption
  • Portable: Runs on Windows, macOS, and Linux

Features

  • Run CI/CD pipelines from simple YAML files
  • Isolation using Docker containers
  • Support for various Docker images
  • Real-time log streaming with colors
  • Environment variables management
  • Intuitive command-line interface
  • Multi-stage pipelines with parallel execution
  • Caching to speed up builds
  • Secure secrets management
  • Dependencies between steps and stages

Quick Start

Installation

# With Cargo
cargo install forge-cli

# Or from source
git clone https://github.com/0xReLogic/Forge.git
cd forge
cargo build --release

Prerequisites: Rust (1.70+) and Docker (20.10+)

For detailed installation instructions, see docs/installation.md.

Usage

# Initialize a project
forge-cli init

# Validate configuration
forge-cli validate

# Run the pipeline
forge-cli run

For more commands and options, see docs/usage.md.

Documentation

Quick Example

version: "1.0"
stages:
  - name: build
    steps:
      - name: Install Dependencies
        command: npm install
        image: node:16-alpine
        working_dir: /app
  - name: test
    steps:
      - name: Run Tests
        command: npm test
        image: node:16-alpine
        working_dir: /app
    depends_on:
      - build
cache:
  enabled: true
  directories:
    - /app/node_modules

More examples in docs/examples.md and examples/ directory.

Contributing

Thank you for your great contributions!

Contributors

Good First Issues: Check out our good first issue label for beginner-friendly tasks.

How to Contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Read CONTRIBUTING.md for detailed guidelines.

License

This project is licensed under the MIT License.

Credits

Inspired by GitHub Actions, GitLab CI, and Jenkins.

About

FORGE is a command-line interface (CLI) tool specifically designed for developers frustrated with the sluggish feedback loop of cloud-based CI/CD. We understand how annoying it is to wait for CI/CD pipelines to complete only to discover a tiny bug

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages