anvil

command module
v1.5.2-0...-4d0c20d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

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 across all machines
  • Built-in Safety - Dry-run mode and automatic backups
  • Secure Collaboration - Private GitHub repository sync

Quick Start

Installation

New installations:

curl -sSL https://github.com/0xjuanma/anvil/releases/latest/download/install.sh | bash

Update existing installation:

anvil update

Note: The anvil update command was introduced in v1.2.0. If you have an older version, use the curl command above.

Try It Out

# Initialize Anvil
anvil init

# Install development tools
anvil install dev        # git, zsh, iterm2, visual-studio-code
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

# Check environment health
anvil doctor

# Sync configurations (after setting up GitHub repo)
anvil config push neovim
anvil config pull neovim
anvil config sync neovim

Key Features

  • Smart Installation - Install individual apps or predefined 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 Tool installation guide
Import Groups Import tool groups from files/URLs
Doctor Command Health checks and validation

View All Documentation →


One CLI to rule them all.

Author: @0xjuanma
⭐ Star this project

Documentation

Overview

Copyright © 2022 Juanma Roca juanmaxroca@gmail.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
cmd
internal
github
Package github provides GitHub integration for configuration management
Package github provides GitHub integration for configuration management
installer
Package installer provides concurrent installation capabilities for the Anvil CLI.
Package installer provides concurrent installation capabilities for the Anvil CLI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL