MCPcopy Index your code
hub / github.com/TomDoesTech/GOTTH

github.com/TomDoesTech/GOTTH @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
294 symbols 1,002 edges 31 files 3 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GoTTH

A simple, modern stack for building fast web applications.

Watch walk-through video:

GoTTH stack walkthrough

  • Go - Backend
  • Tailwind - CSS
  • Templ - Templating
  • HTMX - Interactivity

Technologies

Tailwind

To generate the Tailwind style sheet, we use the Tailwind binary. To get started with TailWind CSS, make sure you have the correct binary in the root directory. follow the instructions in this guide. Make sure you download the correct binary for your operating system. https://tailwindcss.com/blog/standalone-cli

Templ

https://templ.guide/

Air

Air is required for hot reloading used in make dev https://github.com/cosmtrek/air

Makefile

This Makefile is designed to simplify common development tasks for your project. It includes targets for building your Go application, watching and building Tailwind CSS, generating templates, and running your development server using Air.

Development

make docker-dev will start everything in watch mode inside a Docker container.

Targets:

make tailwind-watch

This target watches the ./static/css/input.css file and automatically rebuilds the Tailwind CSS styles whenever changes are detected.

make tailwind-build

This target minifies the Tailwind CSS styles by running the tailwindcss command.

make templ-watch

This target watches for changes to *.templ files and automatically generates them.

make templ-generate

This target generates templates using the templ command.

make dev

This target runs the development server using Air, which helps in hot-reloading your Go application during development.

make build

This target orchestrates the building process by executing the tailwind-build, templ-generate, and go build commands sequentially. It creates the binary output in the ./bin/ directory.

Extension points exported contracts — how you extend this code

UserStore (Interface)
(no doc) [2 implementers]
internal/store/store.go
PasswordHash (Interface)
(no doc) [2 implementers]
internal/hash/hash.go
SessionStore (Interface)
(no doc) [2 implementers]
internal/store/store.go

Core symbols most depended-on inside this repo

ServeHTTP
called by 9
internal/handlers/gethome.go
Layout
called by 6
internal/templates/layout_templ.go
GetNonces
called by 4
internal/middleware/middleware.go
handleErrorFlag
called by 3
static/script/response-targets.js
generateRandomString
called by 3
internal/middleware/middleware.go
startsWith
called by 2
static/script/response-targets.js
GetHtmxNonce
called by 2
internal/middleware/middleware.go
GetResponseTargetsNonce
called by 2
internal/middleware/middleware.go

Shape

Function 236
Method 28
Struct 25
Interface 3
TypeAlias 2

Languages

TypeScript65%
Go35%

Modules by API surface

static/script/htmx.min.js189 symbols
internal/middleware/middleware.go14 symbols
internal/store/store.go8 symbols
internal/hash/passwordhash/passwordhash.go7 symbols
internal/store/mock/mock.go6 symbols
internal/store/dbstore/user.go5 symbols
internal/store/dbstore/session.go5 symbols
internal/templates/layout_templ.go4 symbols
internal/handlers/postregister.go4 symbols
internal/handlers/postlogout.go4 symbols
internal/handlers/postlogin.go4 symbols
static/script/response-targets.js3 symbols

For agents

$ claude mcp add GOTTH \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact