Hattori Hanzō: You must have big rats if you need Hattori Hanzo's steel. The Bride: ...Huge.
Hanzo is a CLI tool that helps you set up and manage development environments using DevPod. It provides a streamlined workflow for creating, connecting to, and managing containerized development workspaces.
- Any Docker Engine (e.g Docker Desktop, OrbStack, etc...)
- DevPod
If you like living on the bleeding edge and curlbombs don't scare you, the automatic installer is the easiest way to get started:
$ sh <(curl -L http://j.mp/hattori-hanzo)This will install Hanzo in your ~/.local/bin directory. Make sure this directory is in your PATH.
After installation, you'll need to configure Hanzo with your personal information:
$ hanzo config initThis will guide you through setting up your name, username, and email address.
In case you don't want to use the curl command above, you can clone or download this repository, using either git
or the release page. Run the following commands:
$ git clone https://github.com/palazzem/hanzo
$ cd hanzo/
$ bash bin/bootstrap.shHanzo provides several commands to manage your development environment:
$ hanzo help # Show help information
$ hanzo config # Show current configuration
$ hanzo config init # Interactive configuration setup
$ hanzo config set KEY VALUE # Set a specific configuration value
$ hanzo up # Start your development workspace
$ hanzo ssh # Connect to your workspace via SSH
$ hanzo down # Stop your workspace
$ hanzo recreate # Recreate your workspace
$ hanzo destroy # Destroy your workspace
$ hanzo status # Check workspace statusIf you don't want to use the interactive configuration, you can set the following environment variables:
HANZO_FULLNAME: your full name used in Git configurations.HANZO_USERNAME: your username for the workspace.HANZO_EMAIL: your email address used in Git configurations.
You can also set these values directly using the config command:
$ hanzo config set fullname "Your Name"
$ hanzo config set username yourusername
$ hanzo config set email [email protected]This tool is designed to streamline my personal development workflow. Because it's unlikely that you use exactly my current environment, you may use this repository as a base to create your own configuration. Indeed, I'll be glad to accept any PR that:
- Fixes bugs or issues in the current implementation
- Improves the script structure or bash best practices
- Enhances or makes me aware of different methods to manage development environments
I will not merge pull requests that add new development tools, but I will be grateful if you can discuss about it in the issue tracker.