Codon
No description available
Install / Use
/learn @nzoschke/CodonREADME
Codon
Codon is a minimal Go, SQLite and TypeScript toolkit that makes web app packaging and deploys trivial.
Static sites are built with Bun and can be deployed as a directory.
Dynamic apps are built with Go + SQLite and deployed as a single binary.
The goals are to increase productivity building and hosting web apps, with modern tools that reduce dependencies, build steps, config files, and other layers of cruft.
Quick start
brew install deno go oven-sh/bun/bun sqlc
go install github.com/nzoschke/sqlc-gen-zz@latest
go install github.com/mitranim/gow@latest
go generate ./...
go test -count 1 -v ./...
go build -o app cmd/app/main.go
./app
open http://localhost:1234
curl -d '{"email":"a@example.com","name":"Ann"}' -H "Content-Type: application/json" http://localhost:1234/api/contacts
{"created_at":"2025-04-13T18:39:04Z","email":"a@example.com","id":1,"info":{"age":0},"name":"Ann","phone":"","updated_at":"2025-04-13T18:39:04Z"}
Development
Go
LEVEL=debug gow -v run cmd/app/main.go -dev
To test:
go test -v ./...
bun test
To build:
go generate ./...
go build -o app cmd/app/main.go
./app
TS
cp src/scripts/pre-commit .git/hooks
bun install
bun run build
bunx serve build/dist
Philosophy
- All things equal the shorter solution is better
- Reduce dependencies
This leads us to:
- Bun and its build tools
- Deno and its fmt tool (until https://github.com/oven-sh/bun/issues/2246🤞)
- Go and its tools and stdlib
- Fuego and its Open API spec and client gen
- Svelte and its compiler (and without SvelteKit)
- SQLite and its file and memory backed databases
- Tailwind
References:
- https://dev.to/danielgtaylor/reducing-go-dependencies-dec
- https://grafana.com/blog/2024/02/09/how-i-write-http-services-in-go-after-13-years/
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
