Malt

The essential ingredient for your development environment

JSON-driven Homebrew Dev Services with zero configuration

Why Choose Malt?

⚡️

Lightning Fast

Native performance without the overhead of containers or VMs. Start your services instantly.

🎛️

One-Stop Access

malt/ centralizes configs and logs, shareable with your team.

🛠️

Zero Configuration

PHP, MySQL, Redis, Nginx, and more - all configured automatically from your JSON definition.

📦

Homebrew Powered

Zero dependencies. Works on macOS, Linux, and Windows (WSL). Powered by Homebrew.

🔧

Flexible & Extensible

Easily customize configurations for any service with template-based generation.

📂

Direct File Access

Native file system performance and direct access to logs, data, and configuration files.

How Malt Works

1

Install Malt

Install Malt with Homebrew in seconds:

brew tap shivammathur/php
brew tap shivammathur/extensions
brew tap koriym/malt
brew install malt
2

Define Your Environment

Create a malt.json file in your project directory. It defines your entire development stack:

cd your-project
malt init
{
  "project_name": "myapp",
  "public_dir": "public",
  "dependencies": [
    "php@8.4",
    "redis",
    "nginx",
    "mysql@8.0"
  ],
  "ports": {
    "php": [9000],
    "redis": [6379],
    "nginx": [80, 443],
    "mysql": [3306]
  },
  "php_extensions": [
    "xdebug",
    "redis"
  ]
}
3

Set Up Your Environment

Malt handles everything from installation to configuration:

malt install # Install all dependencies
malt create # Create configuration files
malt start # Start all services
4

Start Developing

Get convenient access to your services with environment variables and aliased commands:

source <(malt env) # Set up environment

# Now you can use aliased commands:
mysql@3306 # Connect to MySQL
redis-cli@6379 # Connect to Redis
5

Brew Infrastructure Code

Use our Malt Prompt Brewery to convert your malt.json to various infrastructure formats:

Supports Docker, Kubernetes, Terraform, Ansible and more!

Resource Usage Comparison

Comparison of developer environments based on resource efficiency

Solution Memory Usage Disk Space Startup Time File I/O
Malt
Low
Low
Instant
Native
Docker
Medium-High
Medium
Seconds
Critical on macOS
VM
High
High
Minutes
Low Performance

Note: On macOS (M1/ARM architecture), Docker must either run arm64 images natively or emulate x86 images. The file system performance in Docker on macOS is particularly impacted due to the virtualization layer.

Brew Better Environments with Malt: Native Performance, Simple Setup, Team Sharing