40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
# create-glstack
|
|
|
|
Scaffold a fullstack application with a Go backend, SvelteKit frontend, and PostgreSQL database, connected via Connect RPC.
|
|
|
|
> **Work in progress** -- additional frontend frameworks and features are planned for future releases.
|
|
|
|
## Usage
|
|
|
|
```sh
|
|
bun create glstack
|
|
```
|
|
|
|
## What you get
|
|
|
|
A monorepo with the following structure:
|
|
|
|
- **`services/api`** -- Go backend using [Cobra](https://github.com/spf13/cobra) for CLI, [pgx](https://github.com/jackc/pgx) for Postgres, and [Connect RPC](https://connectrpc.com/) for the API layer
|
|
- **`apps/web`** -- SvelteKit frontend with [shadcn-svelte](https://shadcn-svelte.com/), TailwindCSS, [TanStack Query](https://tanstack.com/query), and [Paraglide](https://inlang.com/m/gerre34r/library-inlang-paraglideJs) for i18n
|
|
- **`packages/proto`** -- Protobuf service definitions with [Buf](https://buf.build/) for codegen (Go + TypeScript)
|
|
- **`packages/rpc`** -- Generated TypeScript Connect RPC client shared across frontend apps
|
|
|
|
### Dev environment
|
|
|
|
The template includes a [devenv.nix](https://devenv.sh/) configuration that sets up:
|
|
|
|
- Go, TypeScript, Bun
|
|
- PostgreSQL with an auto-provisioned database
|
|
- File watchers for protobuf, SQL, and frontend hot reload
|
|
- [Air](https://github.com/air-verse/air) for Go live reload
|
|
- [sqlc](https://sqlc.dev/) for type-safe SQL
|
|
- [dbmate](https://github.com/amacneil/dbmate) for database migrations
|
|
|
|
### Starter example
|
|
|
|
The generated project includes a working Todo CRUD example wired end-to-end: protobuf schema, Go service implementation, SQL queries, and a SvelteKit UI.
|
|
|
|
## License
|
|
|
|
MIT
|