Skip to content

ChinmayyK/DevForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚒️ DevForge

Elite Development Environment Automation CLI

Go Version Platform License


What is DevForge?

DevForge is a standalone, heavy-duty CLI tool built for modern developers who value speed, consistency, and safety. It automates your environment scaffolding so you never have to manually install toolchains or configure boilerplate again.

Not a toy script. DevForge provides enterprise-level reliability:

  • Smart dependency detection and version pinning
  • Parallel installations with robust fail-fast limits
  • LIFO undo rollback engine (if it fails, it cleans up)
  • Safe execution array wrappers (no sh -c injections)
  • 24-hour template registry caching for immediate response
  • Beautiful, intuitive CLI/UX

Installation

Homebrew (Recommended)

brew install ChinmayyK/devforge/devforge

This installs the pre-built binary and sets up shell completions automatically.

From Source

git clone https://github.com/ChinmayyK/DevForge.git
cd DevForge
make build          # builds the devforge binary
make build-all      # cross-compiles for macOS/Linux/Windows

Quick Start

Initialize a project using a configuration file:

devforge init my-awesome-app

Safety checks included: DevForge will not overwrite my-awesome-app without the --force flag.

Check System Health

Check if your local machine has the tools it needs:

$ devforge doctor

DevForge Doctor — System Check
--------------------------------------------------
OS: macOS/arm64
Package Manager: brew

node       : ✔ installed (v25.3.0)
git        : ✔ installed (git version 2.50.1 (Apple Git-155))
docker     : ✖ missing
--------------------------------------------------
Status: PARTIALLY READY

Dry-Run Mode

Test what DevForge would do without modifying your system:

devforge init test-app --dry-run --verbose

Core Commands

Command Description
init <name> Scaffold a project — launches interactive wizard if no config found
doctor Check installed dependencies against your config
templates list Browse available starter templates from the remote registry
templates search Search the registry by keyword
plugin list Discover available local plugins
plugin run Execute a plugin with JSON stdin/stdout integration
update Auto-update DevForge to the latest GitHub release
completion Generate shell completions (bash/zsh/fish/powershell)
version Display the binary version, OS context, and Go version

UX and Error Philosophy

DevForge never panics. All errors are structured to be actionable.

[ERR_PATH_EXISTS] directory "my-app" already exists
Hint: use the --force flag to overwrite

The system output is quiet when it works and descriptive when it fails, utilizing standard ANSI colors ( and ) without noisy stack traces.


Performance & Caching

DevForge is built for speed:

  • Parallel processing: Installs node, git, docker, etc. concurrently.
  • 24-hour Cache: The template registry lists are cached locally (~/.devforge/cache/templates.json) out-of-the-box. Use --refresh to bypass.
  • Semantic Versioning Constraints: Smart version checks quickly determine if node@18 is already available or needs to be downloaded.

Configuration (default.yaml)

dependencies:
  - name: node
    version: "20"
  - name: git
  - name: docker

template: https://github.com/ChinmayyK/some-template.git

linting: true
gitHooks: true
envFile: true

License

MIT License. Designed for professional engineers.

About

Production-grade development environment automation CLI built with Go for fast, reproducible project scaffolding and toolchain setup. DevForge streamlines developer onboarding with parallel dependency installation, rollback-safe execution, template orchestration, intelligent version detection, and cross-platform automation for macOS, Linux, and Win

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors