A CLI tool for rapidly creating and managing containerized development environments with Docker.
MyEnv streamlines the process of setting up development environments by automating Docker container creation, proxy network configuration, and project setup. Currently supports PHP projects.
- Interactive Setup - Guided project creation with language and framework selection
- Automated Container Management - Docker Compose integration with health checks
- Proxy Network Management - Automatic proxy server configuration with localhost subdomains (e.g.,
project.localhost) - VS Code Integration - Automatic project opening in development container
- Project Templates - Pre-configured development stacks
- Modular Architecture - Add additional services and modules to existing projects
brew install takashiraki/tap/myenvBefore creating your first project, run the setup command:
myenv setupThis creates the necessary configuration files in ~/.config/myenv/.
myenv initYou can also specify the language and framework using flags:
myenv init -l PHP
myenv init -l PHP -f LaravelThis will:
- Prompt for language selection (if not specified)
- Prompt for framework selection (if not specified)
- Ask for container name and proxy domain configuration
- Clone the appropriate Docker template
- Generate environment configuration files
- Build and start the containers with proxy network
- Create a new project
- Optionally open the project in VS Code
Add additional modules or services to your existing development environment:
myenv add
myenv add -m <module-name>myenv setup- Initial setup (required before first use)myenv init- Create a new development environmentmyenv init -l PHP- Create a PHP project directlymyenv init -l PHP -f Laravel- Create a Laravel project directlymyenv add- Add modules to existing environmentmyenv add -m <module>- Add specific modulemyenv --help- Show available commands and optionsmyenv --versionormyenv -v- Show version information
- Docker and Docker Compose
- Go 1.21 or later (for development)
- Git
git clone https://github.com/takashiraki/myenv.git
cd myenv
go mod tidy
go run main.go- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.