dfa45de40c
AGENT.md now makes the Claude integration the defining pillar: law 1.7 (one service layer behind GUI + MCP), MCP server over Streamable HTTP at /mcp, SSE app->browser, Gitea-first read+write forge, right-click command vocabulary, and rewritten section 8 (MCP server, activity feed, graceful project handoff, merge & clean up). No code yet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
55 lines
3.4 KiB
Markdown
55 lines
3.4 KiB
Markdown
# Changelog
|
|
|
|
Append-only running history of all changes (AGENT.md §9.1). Newest last.
|
|
|
|
## 2026-09-19 — Project scaffold
|
|
- **What:** Initial runnable skeleton for the GitManager multi-repo dashboard.
|
|
Added the Go backend (`cmd/server/main.go` + `internal/{config,logging,git,repos,render}`),
|
|
the Echo HTTP server with `/`, `/help`, `/healthz`, and `/api/repos`, a
|
|
read-only repo scanner that discovers repositories under `GIT_REPO_ROOTS` and
|
|
keeps an in-memory index, the `<repo-list>` web component, shared design tokens
|
|
(`web/static/app.css`), page shells (`web/templates/{index,help}.html`), and the
|
|
dev tooling: `Dockerfile` (build/dev/runtime stages), `docker-compose.yml`,
|
|
`.air.toml`, `.env.example`, `.gitignore`, `go.mod`.
|
|
- **Why:** Stand up the architecture defined in AGENT.md so feature work can begin.
|
|
- **Affects:** whole repo (foundation); `components/repo-list`.
|
|
|
|
## 2026-09-19 — Repo detail panel
|
|
- **What:** Added the `<repo-detail>` component (right dock) that listens for
|
|
`repo:select` and shows a repo's remotes, local branches (current + upstream),
|
|
and 20 most recent commits. Backed by a new `GET /api/repo?path=` endpoint
|
|
(restricted to indexed repos) and new read-only git readers
|
|
(`LocalBranches`, `RecentCommits`, `RemoteDetails`) plus `repos.BuildDetail`
|
|
and `Index.Get`. `<repo-list>` now highlights the selected repo; `index.html`
|
|
lays the two panels out left/right; help page documents the detail view.
|
|
- **Why:** Make the dashboard drill into a single repository (the detail half of
|
|
the list+detail default in AGENT.md §4).
|
|
- **Affects:** `components/repo-detail`, `components/repo-list`,
|
|
`internal/git`, `internal/repos`, `cmd/server`, `web/templates`.
|
|
|
|
### Notes to confirm (from AGENT.md §11)
|
|
- **Go module path** is the placeholder `gitmanager`; change it if this gets a
|
|
canonical import path (e.g. a GitHub URL).
|
|
- All items in AGENT.md §11 (discovery strategy, background fetch, forge
|
|
providers, listen address, container credentials) remain open.
|
|
|
|
## 2026-09-19 — Redefine the app as a two-way Claude companion (contract only)
|
|
- **What:** Updated AGENT.md to make the Claude integration the defining pillar,
|
|
no code yet. §0 now states the two-way purpose (Claude↔app) and the
|
|
non-expert, GUI-first goal; added law §1.7 (one service layer behind both the
|
|
GUI and the MCP server); stack table gained MCP server (Go SDK over Streamable
|
|
HTTP at `/mcp`), SSE (app→browser), and flipped forge to Gitea-first read+write;
|
|
layout added `internal/{service,mcp,activity}`; §6 added the right-click
|
|
plain-language command vocabulary; **§8 rewritten** into "Claude integration"
|
|
(8.1 MCP server, 8.2 activity feed + active project, 8.3 graceful project
|
|
handoff, 8.4 forge read+write with "Merge & clean up"); §10 step 4 and §11
|
|
updated (three decisions resolved, new open items). `.env.example` now documents
|
|
`GITEA_TOKEN` (read+write scope).
|
|
- **Why:** Thomas described the real vision — the app should act as an extension
|
|
of Claude: usable like an MCP by Claude, notifying Claude of in-app actions to
|
|
stay in sync, cooperative project handoff when he's interrupted, plain-language
|
|
right-click commands for non-experts, and one-click "merge & clean up" so PRs
|
|
stop cluttering repos. Decisions locked: cooperative pull-first handoff; Gitea
|
|
writes enabled (confirmed per §1.4); MCP over HTTP `/mcp`.
|
|
- **Affects:** `AGENT.md`, `.env.example` (architecture/contract only — no code).
|