Skip to main content
You may create a new Copper project using the copper create command, passing your Go module path:
This scaffolds a complete application into ./rocketlog on the GRIP stack: a Golang server and React frontend, connected by Inertia and backed by Postgres with migrations. GRIP is the stack Copper is optimized for, and every piece can be swapped using the flags below. Once the project is created, you can start it in watch mode:
Your application is now accessible in your browser at http://localhost:5901. Copper rebuilds and restarts it whenever you save a Go file under pkg/, and the Vite dev server runs alongside on port 3000 so that frontend changes hot-reload as well.

Choosing a Frontend

The -frontend flag controls the frontend stack:
Copper uses bun to install and run the frontend if you have it, and falls back to npm otherwise.

Choosing Storage

The -storage flag controls the database:
Every storage option (except none) includes a migrations/ directory and a migrate binary, and copper run applies pending migrations on startup.

Next Steps

Now that you have created your application, you may want to follow the tutorial to build your first feature, or take a tour of the directory structure.