0xjuanma
anvil
Go

CLI to streamline config management and tool installation. Install your full dev tool-chain in one command and sync configurations across machines seamlessly, leverages homebrew and private repos.

Last updated Jul 6, 2026
115
Stars
3
Forks
7
Issues
0
Stars/day
Attention Score
51
Language breakdown
No language data available.
โ–ธ Files click to expand
README

Anvil Logo

Anvil CLI

Go Version License Go Report Card GitHub Release Platform Build Status

Save hours in your process โ€” install the tools you need, sync your configs, and keep your environment consistent with a single command-line tool.

Anvil Demo

What Anvil Does

  • Batch App Installation: Install development tools in groups or individually via Homebrew
  • Configuration Sync: Sync dotfiles across machines using simple commands and private GitHub repositories
  • Health Checks: Auto-diagnose and fix common setup issues

Why Choose Anvil?

  • Fast Setup: Get coding in minutes, not hours
  • Consistency: Same configs and tools across all machines
  • Built-in Safety: Dry-run mode, private repo enforcement and automatic backups

Quick Start

Installation

Via install script (Recommended for fresh machines):

curl -sSL https://github.com/0xjuanma/anvil/releases/latest/download/install.sh | bash
Note: Ideal for new machines without Homebrew - Anvil will install it during the anvil init step.

Via Homebrew (If you already have Homebrew installed):

brew install 0xjuanma/tap/anvil

Update existing installation:

anvil update

Available Commands

| Command | Description | |---------|-------------| | anvil init [--discover] | Initialize your Anvil environment, dependencies & optionally discovers apps in your system| | anvil doctor | Check system health | | anvil install [group-name] | Install tools by groups| | anvil config show [app-name] | Show your anvil settings or app settings | | anvil config push [app-name] | Push your app configurations to GitHub | | anvil config pull [app-name] | Pull your app configurations from GitHub | | anvil config sync [app-name] | Sync your pulled app configurations to your local machine | | anvil clean | Clean your anvil environment | | anvil update | Update your anvil installation | | anvil --version/-v | Show the version of anvil |

Try It Out

# Initialize Anvil (optionally discover existing apps)
anvil init --discover

Check environment health

anvil doctor

Install development tools

anvil install essentials # sample essentials group anvil install terraform # Individual apps

Import tool groups from shared configs

anvil config import https://example.com/team-groups.yaml

Or start with example configurations

anvil config import https://raw.githubusercontent.com/0xjuanma/anvil/master/docs/import-examples/juanma-essentials.yaml

Sync configurations (after setting up GitHub repo)

anvil config push neovim anvil config pull neovim anvil config sync neovim

Features

  • Smart Installation: Install individual apps or user-defined groups (dev, essentials, etc) holding many apps
  • Group Import: Import groups from local files or URLs with validation and conflict detection
  • Auto-tracking: Automatically tracks installed apps and prevents duplicates
  • Secure Config Sync: Uses private GitHub repositories with automatic backups
  • Health Diagnostics: anvil doctor detects and auto-fixes common issues
  • Zero Configuration: Works out of the box with sensible defaults

Documentation

| Guide | Description | |-------|-------------| | Configuration Management | Config sync setup and workflows | | Install Command | Installation command guide; leverages Homebrew for formulae/cask, and supports custom urls/installations scripts via sources | | Import Groups | Import Anvil groups from files/URLs | | Doctor Command | Health checks and validation | | Clean command | Cleans Anvil non-critical dependencies |

View All Documentation โ†’


One CLI to rule them all.

Author: @0xjuanma Star this project

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท 0xjuanma/anvil ยท Updated daily from GitHub