Compile-Time Over Runtime
Schema, queries, and handler registries are build targets — not runtime reflection magic. Errors surface at compile time, not in production.
ShipQ treats your schema, queries, and handler registrations as build targets. When you change any of those inputs, re-run the relevant compile step — and ShipQ generates everything else: typed query runners, server wiring, OpenAPI specs, admin UIs, TypeScript clients, and test harnesses.
Compile-Time Over Runtime
Schema, queries, and handler registries are build targets — not runtime reflection magic. Errors surface at compile time, not in production.
Three-Compiler Chain
Schema compiler: migrations → typed schema bindings. Query compiler: PortSQL DSL → typed query runners. Handler compiler: API packages → server wiring, OpenAPI, tests, and TS clients.
Multi-Database by Construction
The same query DSL compiles to Postgres, MySQL, and SQLite — handling quoting, placeholders, JSON aggregation, and dialect differences automatically.
SQL-Shaped Data Access
You write SQL-shaped query code using a typed Go DSL (PortSQL), not ActiveRecord-like object graphs. Query boundaries are explicit and testable.
Self-Contained Projects
ShipQ embeds its runtime libraries into your repo and rewrites imports. Your generated project has zero dependency on a published ShipQ module.
Full-Stack Codegen
From a single handler compile, get an OpenAPI spec, API docs UI, admin UI, HTTP test client, integration tests, and TypeScript HTTP clients with optional React/Svelte hooks.
# Initialize a projectshipq init
# Set up your databaseshipq db setup
# Add authenticationshipq authshipq signup
# Define your schemashipq migrate new pets name:string species:string age:intshipq migrate up
# Generate CRUD endpoints + testsshipq resource pets all
# Compile everythingshipq handler compile
# Run tests and start the servergo test ./... -vgo run ./cmd/serverInstallation
Install ShipQ and build the CLI from source.
Quickstart
Follow the Quickstart guide to build a complete API in minutes.
Core Concepts
Understand the compiler chain and how ShipQ’s three compilers feed each other.
E2E Example
Walk through a full end-to-end example building a real application with auth, CRUD, and tests.