Add service layer and MCP server with read tools

Slice 1: internal/service is the one capability layer both the HTTP API and the MCP server call (AGENT.md 1.7); /api/repos and /api/repo route through it. Slice 2: internal/mcp serves an MCP server over Streamable HTTP at /mcp (go-sdk v1.8.0) with read tools list_repos and get_repo as thin adapters over the service, plus a round-trip test. Enabled air polling so hot reload works across the Docker-on-Windows bind mount.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-19 17:18:40 -04:00
parent dfa45de40c
commit 2d7f814a23
8 changed files with 300 additions and 8 deletions
+5
View File
@@ -12,6 +12,11 @@ tmp_dir = "tmp"
exclude_dir = ["tmp", "bin", ".git", "repos"]
delay = 500
stop_on_error = true
# Poll for changes instead of relying on fsnotify: filesystem events do NOT
# cross the Windows host -> Linux container bind mount, so watch-based reload
# silently never fires. Polling is the reliable option in Docker on Windows.
poll = true
poll_interval = 500
[log]
time = true