feat: UI package — Svelte + Tailwind CSS served via Go embed #17

Closed
opened 2026-04-04 12:38:08 +00:00 by sgcommand · 1 comment
Member

Overview

Add a separate ui/ package to the repository that serves a frontend built with Svelte and Tailwind CSS, embedded into the Go binary using go:embed.

Requirements

  • Create a new top-level ui/ directory as its own package/module
  • Build tool: SvelteKit or Vite + Svelte
  • Styling: Tailwind CSS
  • The compiled/built static assets must be embedded into the Go binary using go:embed
  • The Go server must serve the embedded static files over HTTP (e.g. at /ui or /)
  • Hot-reload dev workflow should work locally without rebuilding the Go binary
  • The UI should expose and interact with the available MCP tools

Notes

  • Assigned to the Svelte expert for design and frontend implementation
  • The Go embed entrypoint should live in a package such as internal/ui or ui/ with a clean Handler() or FS() export
  • Build step must be wired into the existing Makefile / CI pipeline

Acceptance Criteria

  • ui/ package exists with Svelte + Tailwind project scaffold
  • go build produces a binary that serves the UI statically
  • No external file serving at runtime — all assets embedded
  • README updated with UI dev instructions
## Overview Add a separate `ui/` package to the repository that serves a frontend built with **Svelte** and **Tailwind CSS**, embedded into the Go binary using `go:embed`. ## Requirements - Create a new top-level `ui/` directory as its own package/module - Build tool: SvelteKit or Vite + Svelte - Styling: Tailwind CSS - The compiled/built static assets must be embedded into the Go binary using `go:embed` - The Go server must serve the embedded static files over HTTP (e.g. at `/ui` or `/`) - Hot-reload dev workflow should work locally without rebuilding the Go binary - The UI should expose and interact with the available MCP tools ## Notes - Assigned to the Svelte expert for design and frontend implementation - The Go embed entrypoint should live in a package such as `internal/ui` or `ui/` with a clean `Handler()` or `FS()` export - Build step must be wired into the existing Makefile / CI pipeline ## Acceptance Criteria - [ ] `ui/` package exists with Svelte + Tailwind project scaffold - [ ] `go build` produces a binary that serves the UI statically - [ ] No external file serving at runtime — all assets embedded - [ ] README updated with UI dev instructions
Owner

The project must include the existing index page and replace it.
add the building of the frontend to the makefile

The project must include the existing index page and replace it. add the building of the frontend to the makefile
sam closed this issue 2026-04-05 09:11:32 +00:00
Sign in to join this conversation.