Tired of wrestling with cryptic Docker commands and messy container logs?
Stop digging throughdocker psand meet DevMate—the CLI superpower that turns your local development into a clean, automated, and high-speed experience.
Your friendly local development companion.
DevMate (invoked as mate) is a powerful, developer-first CLI tool designed to simplify and orchestrate your local development environments. It provides a clean abstraction layer over Docker and Docker Compose, offering beautiful status reports, automated health checks, and streamlined container management.
Prefer a pre-built binary? Grab the latest version for your OS directly from our releases!
- 🛡️ Smart Health Checks: Automatically performs TCP and HTTP health checks for your local services.
- 📊 Beautiful Status Table: Get a clean, Rich-powered overview of all your running containers.
- 🐳 Multi-Config Support: Works seamlessly with both
docker-compose.yamland standaloneDockerfilesetups. - 🔄 Git Integration: Effortlessly clone and deploy repositories to your local environment in one go.
- 🛠️ Developer-Centric: Built by developers, for developers, with a focus on speed and clarity.
IMPORTANT
DevMate is specifically designed as a local development companion. It is not intended for production usage.
For production environments, please use industry-standard orchestrators like Kubernetes, Docker Swarm, or managed cloud services.
Since DevMate is not yet published to PyPI, you can install it locally for development:
-
Clone the repository:
git clone https://github.com/YashashavGoyal/devmate.git cd devmate -
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies and the package in editable mode:
pip install -e .
Now you can use the mate command globally in your terminal!
Initialize your environment and check if you have the essential tools:
mate initStart your services (from a directory with a compose.yaml or Dockerfile):
mate upCheck the status of your containers:
mate status| Command | Alias | Description |
|---|---|---|
init |
doctor |
Checks if essential tools (Docker, Git) are installed. |
up |
run |
Starts services and performs health checks. |
down |
stop |
Stops and removes containers. |
status |
ps, info |
Displays a beautiful table of running containers. |
health |
- | Verifies if the local application is responding. |
clone |
- | Clones a git repository to your local system. |
deploy |
dep |
Clones a repository and starts it immediately. |
logs |
log |
Tails the logs of your application services. |
shell |
sh |
Opens an interactive shell inside a container. |
version |
- | Shows the current version of mate. |
about |
- | Displays information about the project. |
devmate/
├── app/ # Core application logic
│ ├── commands/ # CLI command implementations
│ ├── services/ # Business logic (Docker, Git, Health)
│ └── utils/ # Formatting and display utilities
├── pyproject.toml # Project metadata and dependencies
└── requirements.txt # Dependency list
We welcome contributions! Please feel free to open issues or submit pull requests to improve devmate.
Author: Yashashav Goyal