Files
create-glstack/README.md

48 lines
1.6 KiB
Markdown

# create-glstack
Scaffold a fullstack application with a Go backend, PostgreSQL database, and your choice of web and mobile frontends, connected via Connect RPC.
Supported web frontends:
- [SvelteKit](https://kit.svelte.dev/)
- [Solid Start](https://start.solidjs.com/)
Supported mobile frontends:
- [React Native + Expo](https://expo.dev/)
## 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`** -- Web frontend app (SvelteKit or Solid Start)
- **`apps/mobile`** -- Optional [React Native + Expo](https://expo.dev/) mobile app sharing the same RPC client
- **`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, Node.js
- PostgreSQL with an auto-provisioned database
- File watchers for protobuf, SQL, and frontend hot reload with proper process dependency ordering
- [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 frontend UI.
## License
MIT