Scaffold GitManager multi-repo dashboard

Runnable skeleton per AGENT.md: Echo server (/, /help, /healthz, /api/repos), read-only repo scanner with in-memory index, the internal/git boundary, the <repo-list> web component with design tokens, and dev tooling (Dockerfile, docker-compose, air, .env.example).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-19 16:34:43 -04:00
parent c24604fe65
commit 1a2ad98c33
20 changed files with 1527 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
// Package render wires Go html/template page shells into Echo. The server emits
// the page shell and declares web components; the components fetch their own
// data (AGENT.md §1.1, §2).
package render
import (
"html/template"
"io"
"path/filepath"
"github.com/labstack/echo/v4"
)
// Templates implements echo.Renderer over the templates in a directory.
type Templates struct {
tmpl *template.Template
}
// New parses every *.html file in dir.
func New(dir string) (*Templates, error) {
t, err := template.ParseGlob(filepath.Join(dir, "*.html"))
if err != nil {
return nil, err
}
return &Templates{tmpl: t}, nil
}
// Render satisfies echo.Renderer.
func (t *Templates) Render(w io.Writer, name string, data any, _ echo.Context) error {
return t.tmpl.ExecuteTemplate(w, name, data)
}