Horizontal koder imago
Koder Imago — products/horizontal/imago/
Role in the stack
| Area | Sector | Consumers |
|---|---|---|
| Horizontal | Asset | Internal: design teams (Hub, Koru, Talk, …). External (Phase 2): designers, devs |
Primary couplings
| Module | Nature |
|---|---|
services/foundation/katalog |
Registry — Imago consumes katalog REST for asset CRUDsearchsigning |
products/dev/kicon |
Validation + variant generation — invoked by Promote to refresh Hub icon variants |
products/dev/hub |
First promotion target — /preview/<slug> iframes the Hub landing with the candidate |
Status
*0.2.0 (20260502)*— internal MVP *eployed* Reachable at https://dev.imago.koder.dev and locally on localhost:8090.
| Feature | Status |
|---|---|
| Scaffold + cmdimago + htmltemplate + htmx | ✅ |
| Importer (batch |
✅ |
| Web UI grid + favorites (localStorage) | ✅ |
| Preview |
✅ |
Promoteicon.svg overwrite + kicon generate) |
✅ local only |
| Bank UX: reject modal, /bank, filters, kept |
✅ |
| Bulk |
✅ |
Sourcemeta/brand/icons/candidates/<batch>/ |
✅ |
| Persistence — SQLite (#015) + PATCH metadata (#016) | ✅ |
Deployed to s.forge as dev.imago.koder.dev |
✅ |
| Auth (Koder ID via Auth Gate) | ⏳ vhost env=dev, gate wiring pending |
| Static publish ("11 cópias da landing per icon") | ⏳ #013 |
| Royalty/payouts | ❌ Phase 2 |
| Public RFC + Brand Score validation | ❌ Phase 2 |
Quick start
Production (s.forge)
Just open it:
- *https:/ev.imago.koder.dev>*— picker UI
- *https:/ev.imago.koder.dev/bank>*— bank
- *https:/ev.imago.koder.devpreviewslug>*— Hub landing with the candidate icon swapped in
systemd units on s.forge: koder-imago-katalog.service (port 7791) and koder-imago.service (port 7790). Promote endpoint disabled in production (IMAGO_DISABLE_PROMOTE=1).
Local dev
# Terminal 1 — registry
cd services/foundation/katalog
GOWORK=off go build -o /tmp/katalog ./cmd/katalog
KATALOG_SQLITE_PATH=/tmp/imago.db /tmp/katalog &
# Terminal 2 — Imago
cd products/horizontal/imago
GOWORK=off go build -o /tmp/imago ./cmd/imago
GOWORK=off go build -o /tmp/imago-import ./cmd/imago-import
# Import a batch
/tmp/imago-import --batch-dir ../../../meta/brand/icons/candidates/hub-3d-dark-2026-05-01
# Run the picker
/tmp/imago \
--store $PWD/data/assets \
--hub-landing $PWD/../../dev/hub/landing \
--web-kit $PWD/../../../engines/sdk/koder_web_kit &
xdg-open http://localhost:8090/Architecture (MVP)
┌──────────────────────────┐
│ hub-candidates-3d.svg │
└────────────┬─────────────┘
│ imago-import
▼
┌──────────────────────────┐
│ katalog :8080 │
└────────────┬─────────────┘
│ REST
┌────────────▼─────────────┐
│ imago :8090 │ ← html/template + htmx
└────────────┬─────────────┘
│ promote-to-hub
▼
┌──────────────────────────┐
│ products/dev/hub/ │
│ icon.svg + variants │ ← kicon generate
└──────────────────────────┘References
- Master ticket:
projects/koder-stack#091 - Product README:
products/horizontal/imago/README.kmd - Engine:
services/foundation/katalog - Driver: 20 candidates generated 2026
0501 for the Hub icon redesign