Skip to content

kusold/gotchi

Repository files navigation

gotchi

gotchi is a reusable backend core for Go services with an opinionated stack:

  • chi
  • pgx + goose
  • scs sessions (pgxstore)
  • OIDC auth with multi-tenant membership enforcement
  • Postgres RLS tenancy helpers
  • OpenAPI validation + oapi-codegen mounting

Module

module github.com/kusold/gotchi

Bootstrap

Use app.New(...) to construct and run an application with minimal wiring.

CLI

  • gotchi init <app-name>
  • gotchi add feature <name>
  • gotchi doctor

Migration regression check

Run this against a disposable Postgres database:

DATABASE_URL='postgres://postgres:postgres@localhost:5432/gotchi_regression?sslmode=disable' ./scripts/migration-regression.sh

Git hooks

This repo uses prek for commit hooks and enforces Conventional Commit messages via a commit-msg hook.

Install and set up hooks:

brew install prek
prek install --install-hooks --hook-type commit-msg

Nix dev shell

This repo includes a cross-system flake-parts dev shell with Go tooling and prek.

Enable automatic shell loading with direnv:

direnv allow

Or enter it manually:

nix develop

Consumers in this workspace

  • /Users/mike/code/repos/kusold/freezer-catalog
  • /Users/mike/code/repos/kusold/gotchi/examples/reference-app

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages