Copper
Copper is a Go toolkit complete with everything you need to build web apps. It focuses on developer productivity and makes building web apps in Go more fun with less boilerplate and out-of-the-box support for common needs.
๐
Fullstack Toolkit
Copper provides a toolkit complete with everything you need to build web apps quickly.
๐ฆ
One Binary
Build frontend apps along with your backend and ship everything in a single binary.
๐จ
Frontend Tooling
Comes with frontend tooling built-in for vanilla JS, React, Vue and other frameworks.
๐
Server-side HTML
Copper includes utilities that help build web apps with server rendered HTML pages.
๐ก
Auto Restarts
Copper detects changes and automatically restarts server to save time.
๐
Scaffolding
Skip boilerplate and scaffold code for your packages, database queries and routes.
๐
Batteries Included
Includes CLI, lint, dev server, frontend tooling, config management, and more!
๐ฉ
First-party packages
Includes packages for authentication, pub/sub, queues, emails, and websockets.
Current Status
Getting Started
Copper requires Go 1.16+, Node 12+
- Install the Copper CLI
โฏ go install github.com/gocopper/cli/cmd/copper@latest
- Install Wire CLI
โฏ go install github.com/google/wire/cmd/wire@latest
- Scaffold your project
โฏ copper init
? What's the module name for your project? xnotes
# Create Project Files
SUCCESS Create xnotes/config/local.toml (Took 1ms)
SUCCESS Create xnotes/go.mod (Took 0s)
SUCCESS Create xnotes/pkg/app/handler.go (Took 0s)
SUCCESS Create xnotes/pkg/app/wire.go (Took 0s)
SUCCESS Create xnotes/pkg/web/public/favicon.svg (Took 1ms)
SUCCESS Create xnotes/pkg/web/public/logo.svg (Took 0s)
SUCCESS Create xnotes/pkg/web/src/pages/index.html (Took 0s)
SUCCESS Create xnotes/config/prod.toml (Took 0s)
SUCCESS Create xnotes/cmd/migrate/wire.go (Took 0s)
SUCCESS Create xnotes/pkg/app/migrations.go (Took 0s)
SUCCESS Create xnotes/pkg/web/wire.go (Took 0s)
SUCCESS Create xnotes/.golangci.yaml (Took 0s)
SUCCESS Create xnotes/cmd/app/main.go (Took 1ms)
SUCCESS Create xnotes/cmd/app/wire.go (Took 0s)
SUCCESS Create xnotes/cmd/migrate/main.go (Took 0s)
SUCCESS Create xnotes/config/dev.toml (Took 0s)
SUCCESS Create xnotes/pkg/web/src/layouts/main.html (Took 0s)
SUCCESS Create xnotes/pkg/web/src/main.js (Took 0s)
SUCCESS Create xnotes/pkg/web/vite.config.js (Took 0s)
SUCCESS Create xnotes/.gitignore (Took 0s)
SUCCESS Create xnotes/pkg/web/package.json (Took 0s)
SUCCESS Create xnotes/pkg/web/router.go (Took 0s)
SUCCESS Create xnotes/pkg/web/src/styles.css (Took 0s)
SUCCESS Create xnotes/config/base.toml (Took 0s)
# First Commands
โโโโโโโโโโโโโโโโ
| cd xnotes |
| copper build |
| copper watch |
โโโโโโโโโโโโโโโโ
- Start Project
โฏ cd xnotes
โฏ copper build
โฏ copper watch
- Open http://localhost:5901 in your browser
License
MIT