Documentation
ΒΆ
Overview ΒΆ
SCOPE:core - DO NOT REMOVE - Module root package. Package gogogofullstacktemplate is the module root.
This file exists so the module root package is never empty: some Go toolchains treat an empty root package as a hard "no Go files" error when running `go test ./...`, which aborts the whole test gate. With this file present the root reports "[no test files]" instead.
The package name intentionally has no underscore: golangci-lint's revive linter rejects underscore-separated package names, and the module import path (github.com/calionauta/gogogo) is independent of the package name, so renaming is safe.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
check-flatdeps
command
SCOPE:core β Flat-stack dependency guard (framework-free, one SQLite driver, no cross-feature domain imports, owned sql.Open sites)
|
SCOPE:core β Flat-stack dependency guard (framework-free, one SQLite driver, no cross-feature domain imports, owned sql.Open sites) |
|
check-scope
command
SCOPE:core - DO NOT REMOVE - SCOPE annotation linter (pre-commit gate).
|
SCOPE:core - DO NOT REMOVE - SCOPE annotation linter (pre-commit gate). |
|
check-secrets-env
command
SCOPE:core β Secrets-env site guard (secret env reads stay on the rails)
|
SCOPE:core β Secrets-env site guard (secret env reads stay on the rails) |
|
check-skill-frontmatter
command
SCOPE:core β SKILL.md frontmatter linter (pre-commit + CI gate).
|
SCOPE:core β SKILL.md frontmatter linter (pre-commit + CI gate). |
|
desktop
command
Command desktop builds the Wails v3 native app shell around the exact same Go backend the web app uses (goqite queue + handlers + the flat chi router).
|
Command desktop builds the Wails v3 native app shell around the exact same Go backend the web app uses (goqite queue + handlers + the flat chi router). |
|
gogogo
command
Command gogogo scaffolds a new project from gogogo.
|
Command gogogo scaffolds a new project from gogogo. |
|
gui
command
SCOPE:feature β gogpu/ui native window over the existing backend
|
SCOPE:feature β gogpu/ui native window over the existing backend |
|
web
command
SCOPE:plugin β GoAkt lifecycle (room actor system)
|
SCOPE:plugin β GoAkt lifecycle (room actor system) |
|
Single source of truth for the optional Ask-AI decision router (JEV_ROUTER_* env).
|
Single source of truth for the optional Ask-AI decision router (JEV_ROUTER_* env). |
|
features
|
|
|
app
SCOPE:core β AppContext (cross-cutting deps bundle) Package app provides the cross-cutting "application core" pattern for projects built on top of gogogo.
|
SCOPE:core β AppContext (cross-cutting deps bundle) Package app provides the cross-cutting "application core" pattern for projects built on top of gogogo. |
|
authviews
templ: version: v0.3.1020
|
templ: version: v0.3.1020 |
|
chat/components
SCOPE:feature β chat page signals.
|
SCOPE:feature β chat page signals. |
|
chat/handlers
SCOPE:feature β HTTP chat slice (conversation demo)
|
SCOPE:feature β HTTP chat slice (conversation demo) |
|
chat/store
SCOPE:feature β chat demo store (in-memory)
|
SCOPE:feature β chat demo store (in-memory) |
|
config/components
SCOPE:feature β Auth-gated read-only /config view (masked secrets)
|
SCOPE:feature β Auth-gated read-only /config view (masked secrets) |
|
config/handlers
SCOPE:feature β HTTP config view (auth-gated, secrets masked)
|
SCOPE:feature β HTTP config view (auth-gated, secrets masked) |
|
credits
SCOPE:plugin β the credits Service implements the llm.Biller seam so every Chat/ChatStream call (the internal/llm choke point) is metered.
|
SCOPE:plugin β the credits Service implements the llm.Biller seam so every Chat/ChatStream call (the internal/llm choke point) is metered. |
|
credits/handlers
SCOPE:plugin β HTTP credits slice (AI credits + BYOK)
|
SCOPE:plugin β HTTP credits slice (AI credits + BYOK) |
|
genui/components
SCOPE:plugin β gogen-ui component catalog.
|
SCOPE:plugin β gogen-ui component catalog. |
|
genui/handlers
SCOPE:plugin β HTTP genui slice (Ask demo)
|
SCOPE:plugin β HTTP genui slice (Ask demo) |
|
landing/handlers
SCOPE:feature β HTTP landing page (public marketing hero)
|
SCOPE:feature β HTTP landing page (public marketing hero) |
|
notes
SCOPE:feature β Shared notes (server-owned Loro Text) Embedded static assets for the notes feature: notes.js (textarea op wiring + SSE stream).
|
SCOPE:feature β Shared notes (server-owned Loro Text) Embedded static assets for the notes feature: notes.js (textarea op wiring + SSE stream). |
|
notes/components
templ: version: v0.3.1020
|
templ: version: v0.3.1020 |
|
notes/handlers
SCOPE:feature β HTTP notes slice (server-owned Loro Text)
|
SCOPE:feature β HTTP notes slice (server-owned Loro Text) |
|
onboarding
SCOPE:plugin β DagNats onboarding workflow (durable run + stepper fan-out)
|
SCOPE:plugin β DagNats onboarding workflow (durable run + stepper fan-out) |
|
review/components
SCOPE:feature β Review loop page signals.
|
SCOPE:feature β Review loop page signals. |
|
review/handlers
SCOPE:feature β Review loop (Genkit + goai + jev judge).
|
SCOPE:feature β Review loop (Genkit + goai + jev judge). |
|
room/handlers
SCOPE:feature β HTTP room slice (GoAkt presence demo)
|
SCOPE:feature β HTTP room slice (GoAkt presence demo) |
|
sounds
templ: version: v0.3.1020
|
templ: version: v0.3.1020 |
|
todo
SCOPE:feature β Todo MVC example (reference implementation) To remove: delete features/todo/ and the todo roots in buildChiMux (internal/server/chi.go).
|
SCOPE:feature β Todo MVC example (reference implementation) To remove: delete features/todo/ and the todo roots in buildChiMux (internal/server/chi.go). |
|
todo/components
templ: version: v0.3.1020
|
templ: version: v0.3.1020 |
|
todo/handlers
SCOPE:feature β todo NATS bridge (cross-instance convergence)
|
SCOPE:feature β todo NATS bridge (cross-instance convergence) |
|
whiteboard
SCOPE:feature β Collaborative whiteboard (Loro CRDT canvas) Embedded static assets for the whiteboard feature: rough.min.js (Rough.js hand-drawn canvas rendering) and whiteboard.js (Datastar/SSE canvas wiring).
|
SCOPE:feature β Collaborative whiteboard (Loro CRDT canvas) Embedded static assets for the whiteboard feature: rough.min.js (Rough.js hand-drawn canvas rendering) and whiteboard.js (Datastar/SSE canvas wiring). |
|
whiteboard/handlers
SCOPE:feature β HTTP whiteboard slice (Loro CRDT canvas)
|
SCOPE:feature β HTTP whiteboard slice (Loro CRDT canvas) |
|
internal
|
|
|
auth
SCOPE:core β Auth on the flat stack (argon2id + sessions table)
|
SCOPE:core β Auth on the flat stack (argon2id + sessions table) |
|
capabilities
SCOPE:plugin β Capability registry: single source of truth for ids, kinds, runtime switches, and owned paths (consumed by cmd/gogogo, docs, and --help).
|
SCOPE:plugin β Capability registry: single source of truth for ids, kinds, runtime switches, and owned paths (consumed by cmd/gogogo, docs, and --help). |
|
collab
SCOPE:plugin β Loro CRDT + DocStore + sync workers + presence To remove: delete internal/collab/ + features/whiteboard/ and drop the whiteboard roots from buildChiMux in internal/server/chi.go.
|
SCOPE:plugin β Loro CRDT + DocStore + sync workers + presence To remove: delete internal/collab/ + features/whiteboard/ and drop the whiteboard roots from buildChiMux in internal/server/chi.go. |
|
components
SCOPE:plugin - Per-instance signal naming for Datastar components that can legitimately appear more than once on a page.
|
SCOPE:plugin - Per-instance signal naming for Datastar components that can legitimately appear more than once on a page. |
|
dagnats
SCOPE:plugin β DagNats durable workflow engine To remove: delete internal/dagnats/, cmd/web/dagnats.go, features/onboarding/, features/todo/handlers/onboarding.go and the bootOnboarding call in internal/server/chi.go.
|
SCOPE:plugin β DagNats durable workflow engine To remove: delete internal/dagnats/, cmd/web/dagnats.go, features/onboarding/, features/todo/handlers/onboarding.go and the bootOnboarding call in internal/server/chi.go. |
|
datastar
SCOPE:plugin β Datastar rendering helpers (RenderAndPatch, MergeSignals)
|
SCOPE:plugin β Datastar rendering helpers (RenderAndPatch, MergeSignals) |
|
db
SCOPE:core β application database: the one place that knows the Turso Database connection string, file layout, and pragmas.
|
SCOPE:core β application database: the one place that knows the Turso Database connection string, file layout, and pragmas. |
|
dbschema
SCOPE:core β ID and timestamp helpers shared by every store.
|
SCOPE:core β ID and timestamp helpers shared by every store. |
|
demo
SCOPE:core β Demo-user seed for fresh installs
|
SCOPE:core β Demo-user seed for fresh installs |
|
goakt
SCOPE:plugin β GoAkt entity actors (room authority demo)
|
SCOPE:plugin β GoAkt entity actors (room authority demo) |
|
hostgate
SCOPE:core β Host gate for heavy Go tests (skip on saturated boxes)
|
SCOPE:core β Host gate for heavy Go tests (skip on saturated boxes) |
|
installer
SCOPE:plugin β installer engine: add units to existing checkouts (copy, rewire, prove)
|
SCOPE:plugin β installer engine: add units to existing checkouts (copy, rewire, prove) |
|
llm
SCOPE:plugin β GoAI LLM client (used by Suggest) To remove: delete internal/llm/ + features/todo/handlers/llm_suggest.go.
|
SCOPE:plugin β GoAI LLM client (used by Suggest) To remove: delete internal/llm/ + features/todo/handlers/llm_suggest.go. |
|
llm/fakeserver
SCOPE:plugin β GoAI LLM client (used by Suggest) Package fakeserver provides an httptest-compatible OpenAI Chat Completions fake for end-to-end tests of the GoAI integration without burning real tokens.
|
SCOPE:plugin β GoAI LLM client (used by Suggest) Package fakeserver provides an httptest-compatible OpenAI Chat Completions fake for end-to-end tests of the GoAI integration without burning real tokens. |
|
nats
SCOPE:plugin β NATS JetStream + Leaf Node + CRUD proxy Starts embedded NATS server or connects as Leaf Node.
|
SCOPE:plugin β NATS JetStream + Leaf Node + CRUD proxy Starts embedded NATS server or connects as Leaf Node. |
|
natswire
SCOPE:core β Todo CRUD wire protocol (shared vocabulary, no framework types)
|
SCOPE:core β Todo CRUD wire protocol (shared vocabulary, no framework types) |
|
observability
SCOPE:core β Observability core: structured logging (slog)
|
SCOPE:core β Observability core: structured logging (slog) |
|
queue
SCOPE:core β Job queue (goqite) + Worker Pool Package queue implements the background job subsystem: a goqite-backed SQLite queue, an SSE hub for streaming progress to the browser, and a worker pool that dispatches messages through a typed HandlerRegistry.
|
SCOPE:core β Job queue (goqite) + Worker Pool Package queue implements the background job subsystem: a goqite-backed SQLite queue, an SSE hub for streaming progress to the browser, and a worker pool that dispatches messages through a typed HandlerRegistry. |
|
rbac
SCOPE:core β DB-backed Casbin policy source (persist.Adapter).
|
SCOPE:core β DB-backed Casbin policy source (persist.Adapter). |
|
search
SCOPE:plugin β the BM25 layer: an inverted index in SQL, scored in Go.
|
SCOPE:plugin β the BM25 layer: an inverted index in SQL, scored in Go. |
|
secrets
SCOPE:core β Secret management with age (age-encryption.org) Package secrets decrypts a per-project environment file using age (https://age-encryption.org).
|
SCOPE:core β Secret management with age (age-encryption.org) Package secrets decrypts a per-project environment file using age (https://age-encryption.org). |
|
server
SCOPE:core β Flat-stack boot helpers (demo seed, TOTP key wiring).
|
SCOPE:core β Flat-stack boot helpers (demo seed, TOTP key wiring). |
|
scripts
|
|
|
agehelper
command
Command agehelper is a tiny stand-in for the `age` / `age-keygen` CLIs, used by bin/init-secrets when neither binary is installed.
|
Command agehelper is a tiny stand-in for the `age` / `age-keygen` CLIs, used by bin/init-secrets when neither binary is installed. |
|
web
|
|
|
resources
SCOPE:core - DO NOT REMOVE - Embedded static assets (CSS, JS, etc.).
|
SCOPE:core - DO NOT REMOVE - Embedded static assets (CSS, JS, etc.). |
|
skins
templ: version: v0.3.1020
|
templ: version: v0.3.1020 |
|
skins/basecoat
Package basecoat implements the BasecoatUI (shadcn) skin.
|
Package basecoat implements the BasecoatUI (shadcn) skin. |
|
skins/daisyui
Package daisyui implements the default DaisyUI skin.
|
Package daisyui implements the default DaisyUI skin. |
Click to show internal directories.
Click to hide internal directories.