4 Commits

Author SHA1 Message Date
d0568110d7 Add request logging middleware and improve startup diagnostics
- Request logger middleware logs method, path, status, duration
  for all non-static/health requests (those go to debug level)
- Initial fetch complete log now includes repo and doc counts
- Helps diagnose deployment and routing issues

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v0.1.0
2026-03-27 13:12:46 -07:00
28afaa2c56 Implement mcdoc v0.1.0: public documentation server
Single-binary Go server that fetches markdown from Gitea (mc org),
renders to HTML with goldmark (GFM, chroma syntax highlighting,
heading anchors), and serves a navigable read-only documentation site.

Features:
- Boot fetch with retry, webhook refresh, 15-minute poll fallback
- In-memory cache with atomic per-repo swap
- chi router with htmx partial responses for SPA-like navigation
- HMAC-SHA256 webhook validation
- Responsive CSS, TOC generation, priority doc ordering
- $PORT env var support for MCP agent port assignment

33 tests across config, cache, render, and server packages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:04:15 -07:00
0578dbcb02 Update MCP service definition to convention-driven format
Drop uses_mcdsl, explicit image URL, network, restart. Use
service-level version, route declarations, and derived defaults
per PLATFORM_EVOLUTION.md conventions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 00:27:06 -07:00
bf7d7126c3 Add ARCHITECTURE.md and CLAUDE.md
Design specification for mcdoc: a public documentation server that
fetches markdown from Gitea, renders with goldmark, and serves via
mc-proxy. Cache-first architecture with webhook refresh. No auth,
no database, no local state beyond config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 23:50:20 -07:00