Introduction
Wick is a Go framework for building internal tools, admin panels, and background jobs — designed to be driven by AI. Scaffold a project, describe what you need, and the framework handles admin, tags, SSO, config management, and routing automatically.
Home page — tools grouped by tag, searchable, compact or detailed view.
UI Stack
Wick uses Tailwind CSS for styling and templ for HTML templating. Both are installed automatically by go run . setup — no manual configuration needed.
- Tailwind CSS — utility-first CSS, standalone CLI (no Node.js required)
- templ — type-safe Go HTML templates that compile to Go code
go run . dev runs templ generate and rebuilds CSS before starting the server. wick.yml handles everything.
Project Structure
my-app/
├── main.go # register tools and jobs here
├── AGENTS.md # AI agent instructions (read by Claude)
├── .claude/skills/ # bundled AI skills (tool-module, design-system)
├── wick.yml # task runner config
├── .env # environment variables
├── tools/
│ ├── convert-text/ # example tool
│ └── external/ # external link cards
├── jobs/
│ └── auto-get-data/ # example background job
└── tags/
└── defaults.go # shared tag catalogTwo Module Types
| Type | Location | Entry Point | URL |
|---|---|---|---|
| Tool | tools/{name}/ | Register(r tool.Router) | /tools/{key} |
| Job | jobs/{name}/ | Run(ctx) (string, error) | /jobs/{key} |
What the Framework Handles
You write the business logic. Wick handles everything else:
- Admin UI — config editor, tag management, job schedule
- Tags & visibility — group tools, set public/private per tool
- SSO — configurable from admin panel, no code changes
- Runtime config — typed
Configstructs reflected into admin-editable rows - Run history — every job execution logged automatically
- Routing — tools mount at
/tools/{key}, jobs at/jobs/{key}
Admin Panel
Dashboard — tools, jobs, enabled/running count, and missing configs at a glance.
Users — approve accounts, assign roles and access tags.
Tool Permissions — enable/disable tools, set visibility, assign tags.
Job Permissions — enable/disable jobs, assign access tags.
Tags — create group tags (home grouping) and filter tags (access control).
Configs — runtime variables and SSO providers, no redeploy needed.