data

package
v4.0.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2026 License: MIT Imports: 1 Imported by: 0

README

Gothic Framework

Gothic Framework is a developer-first toolset built to help you craft fast, scalable, and modern web applications using the GOTTH stack:
Golang, TailwindCSS, Templ, and HTMX.

Inspired by frameworks like Next.js, Gothic Framework brings powerful full-stack features to Go developers — including edge-ready architecture, SEO enhancements, and a fantastic development experience (DX).

This project is configured via gothic.config.go and deploys to AWS with OpenTofu (the OpenTofu binary is downloaded automatically on first deploy). Deploys require Go 1.23+, a running Docker daemon, and AWS credentials.

See the top-level README for configuration, lifecycle hooks, and deployment details.

Developing with an AI agent (dev MCP)

gothic hot-reload serves an MCP server (Streamable HTTP) at:

http://127.0.0.1:3000/_gothicframework/mcp

It is on by default (--no-mcp disables it) and is reachable only while the dev process runs. It gives an agent the same loop a maintainer has: drive the managed browser (navigate, act, view, record_start/record_stop), read the request trace and the browser event bus (trace, logs), run the build stages with translated compiler errors (build_templ, build_css, build_wasm, build_go, sync, build_status), and load version-matched framework skills (skillsearch, skillinfo, skill, plus the gothic-skill://{name} resources).

Point your MCP client at that URL while gothic hot-reload is running:

Claude Code

claude mcp add --transport http gothic http://127.0.0.1:3000/_gothicframework/mcp

OpenCode — add to opencode.json (project or ~/.config/opencode/opencode.json):

{
  "mcp": {
    "gothic": {
      "type": "remote",
      "url": "http://127.0.0.1:3000/_gothicframework/mcp",
      "enabled": true
    }
  }
}

Codex — add to ~/.codex/config.toml:

[mcp_servers.gothic]
url = "http://127.0.0.1:3000/_gothicframework/mcp"

Cursor — add to .cursor/mcp.json:

{
  "mcpServers": {
    "gothic": {
      "url": "http://127.0.0.1:3000/_gothicframework/mcp"
    }
  }
}

Pi — Pi connects to MCP through its extension ecosystem:

pi install npm:pi-mcp-extension
{
  "mcpServers": {
    "gothic": {
      "transport": "streamable-http",
      "url": "http://127.0.0.1:3000/_gothicframework/mcp",
      "lifecycle": "eager"
    }
  }
}

See our docs

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultCLIData = GothicCliData{
	PublicFolderAssets: map[string]embed.FS{
		"public/imageExample/blurred.png":  publicFolder,
		"public/imageExample/original.png": publicFolder,
		"public/favicon.ico":               publicFolder,
		"public/styles.css":                publicFolder,
	},

	TemplateFiles: map[string]embed.FS{},
	InitialFiles: map[string]embed.FS{

		"src/routes/routes_gen.go": srcFolder,

		"src/pages/index.templ":      srcFolder,
		"src/pages/revalidate.templ": srcFolder,
		"src/pages/counter.templ":    srcFolder,
		"src/pages/counter_templ.go": srcFolder,

		"src/topics/counter_topic.go": srcFolder,

		"src/layouts/layout.templ": srcFolder,

		"src/css/app.css": srcFolder,

		"src/components/helloWorld.templ": srcFolder,
		"src/components/lazyLoad.templ":   srcFolder,

		"src/api/helloWorld.go": srcFolder,

		"makefile":           makeFile,
		"tailwind.config.js": tailwindConfig,
		"README.md":          readme,
	},
	InitialDirs: []string{

		"public",
		"src",
		"optimize",

		"public/imageExample",

		"src/api",
		"src/components",
		"src/css",
		"src/layouts",
		"src/pages",
		"src/routes",
		"src/topics",
	},
	GitIgnore:    gitIgnore,
	Env:          env,
	Readme:       readme,
	MakeFile:     makeFile,
	SrcFolder:    srcFolder,
	PublicFolder: publicFolder,
	ServerFolder: serverFolder,
	CustomTemplateBasedPages: map[string]string{
		"src/pages/revalidate.templ": "Revalidate",
		"src/pages/index.templ":      "Index",
		"src/pages/counter.templ":    "Counter",
	},
	CustomTemplateBasedComponents: map[string]string{
		"src/components/helloWorld.templ": "HelloWorld",
		"src/components/lazyLoad.templ":   "LazyLoad",
	},
	CustomTemplateBasedRoutes: map[string]string{
		"src/api/helloWorld.go": "HelloWorld",
	},
}
View Source
var GothicConfigGoTemplate []byte

Functions

This section is empty.

Types

type GothicCliData

type GothicCliData struct {
	TemplateFiles                 map[string]embed.FS
	InitialFiles                  map[string]embed.FS
	PublicFolderAssets            map[string]embed.FS
	InitialDirs                   []string
	CustomTemplateBasedPages      map[string]string
	CustomTemplateBasedComponents map[string]string
	CustomTemplateBasedRoutes     map[string]string
	GitIgnore                     string
	Env                           string
	Readme                        embed.FS
	MakeFile                      embed.FS
	SrcFolder                     embed.FS
	PublicFolder                  embed.FS
	ServerFolder                  embed.FS
	ProjectName                   string
	GoModName                     string
}

Directories

Path Synopsis
src
api
components
templ: version: v0.3.1020
templ: version: v0.3.1020
layouts
templ: version: v0.3.1020
templ: version: v0.3.1020
pages
templ: version: v0.3.1020
templ: version: v0.3.1020

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL