vandor.

Vandor Documentation

Build production-ready Go backends with DDD principles and on-demand infrastructure

What is Vandor?

Vandor is a core-first Go backend framework built around Domain-Driven Design principles. Instead of dumping a mountain of boilerplate on you upfront, Vandor starts with the thing that matters most -- your business logic -- and lets you add infrastructure as you need it.

Your project begins with a clean domain layer. When you need HTTP routing, you add it. When you need a database, you add it. When you need background workers, you add them. Your codebase grows with your requirements, not ahead of them.

How It Works

Everything flows through the Vandor CLI. Here is what the workflow looks like:

# Create a new project
vandor new --module github.com/acme/myapp --tidy auto

# Define your business boundaries
vandor add context catalog identity

# Add business logic
vandor add usecase catalog create_product list_products
vandor add service identity auth_service

# Install infrastructure when you need it
vandor vpkg add @official/http-humachi
vandor vpkg add @official/entgo

# Start developing
vandor dev:app

That is the entire loop. You define your domain, add the infrastructure you actually need, and start building.

Key Design Decisions

Core-first, infrastructure-later. Your project starts with only domain structures, logger, and config. HTTP servers, databases, caches, and queues arrive only when you install them through VPKG.

Non-interactive by default. Commands run without prompts or wizards. Pass your arguments directly. If you want interactive mode, add the -it flag.

Runtime independent. Once your project is built, it does not need the Vandor binary. Your Go binary runs on its own with zero Vandor dependencies at runtime.

You own the code. Like shadcn/ui, Vandor generates code directly into your project. No hidden abstractions, no framework lock-in. Modify anything you want.

Explore the Documentation