Skip to main content

monolith-controller-and-view-development

Use when building HTTP controllers and templates, including REST action scaffolding, view rendering patterns, and route wiring.

Jump to install

Source facts

Repository
cggonzal/monolith
Last source activity
February 14, 2026 at 03:11
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
monolith-controller-and-view-development
description
Use when building HTTP controllers and templates, including REST action scaffolding, view rendering patterns, and route wiring.
# Monolith Controller and View Development ## Use this skill when - Creating request handlers in `app/controllers/`. - Generating or editing templates in `app/views/`. ## Fast start - Controller scaffold: `make generator controller widgets index show` - Full CRUD controller/views: `make generator controller widgets all` ## REST action mapping - `Index` → `GET /resources` - `Show` → `GET /resources/{id}` - `New` → `GET /resources/new` - `Create` → `POST /resources` - `Edit` → `GET /resources/{id}/edit` - `Update` → `PUT/PATCH /resources/{id}` - `Destroy` → `DELETE /resources/{id}` ## Rendering pattern Use `views.Render(w, "template_name.html.tmpl", data)`. Templates are pre-parsed at startup by `views.InitTemplates(...)`. ## Template naming convention Generators produce files like: - `app/views/widgets/widgets_index.html.tmpl` - `app/views/widgets/widgets_show.html.tmpl` - `app/views/widgets/widgets_new.html.tmpl` - `app/views/widgets/widgets_edit.html.tmpl` ## Implementation checklist 1. Parse path params with `r.PathValue("id")` for ID routes. 2. Load/save model data via `db.GetDB()` + model helpers. 3. Render template or redirect as appropriate. 4. Register route in `app/routes/routes.go` (generator does this when actions are provided). 5. Add/adjust controller tests.
View on GitHub