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.
- 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
- 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
# With Cargo
cargo install forge-cli
# Or from source
git clone https://github.com/0xReLogic/Forge.git
cd forge
cargo build --releasePrerequisites: Rust (1.70+) and Docker (20.10+)
For detailed installation instructions, see docs/installation.md.
# Initialize a project
forge-cli init
# Validate configuration
forge-cli validate
# Run the pipeline
forge-cli runFor more commands and options, see docs/usage.md.
- Installation Guide - Detailed installation instructions for all platforms
- Usage Guide - Complete command reference and workflows
- Configuration Reference - YAML format and all configuration options
- Examples - Real-world examples for different tech stacks
- Architecture - System design and component details
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_modulesMore examples in docs/examples.md and examples/ directory.
Thank you for your great contributions!
Good First Issues: Check out our good first issue label for beginner-friendly tasks.
How to Contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Read CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License.
Inspired by GitHub Actions, GitLab CI, and Jenkins.