📝 docs: refresh AGENTS.md + README.md (auth endpoints + ADR pointer + new packages)

AGENTS.md and README.md were stale since ~2026-04-11 (4 weeks). Updated to reflect magic-link + OIDC auth (ADR-0028), pkg/auth, pkg/email, pkg/user/api packages, and 30-ADR index. Endpoints listing decision : keep curated short list + pointer to swagger as source of truth (see body of changes).

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-05-06 07:03:15 +02:00
parent a385765030
commit 886cbab36d
2 changed files with 42 additions and 23 deletions

View File

@@ -17,10 +17,13 @@ Go web service demonstrating idiomatic package structure, versioned JSON API, an
- Viper configuration (file + env vars)
- Readiness endpoint for Kubernetes / service mesh
- OpenTelemetry / Jaeger distributed tracing
- OpenAPI / Swagger UI (embedded in binary)
- PostgreSQL user service with JWT auth
- BDD + unit tests
- 🤖 Mistral autonomous PR pattern (cf. [documentation/MISTRAL-AUTONOMOUS-PATTERN.md](documentation/MISTRAL-AUTONOMOUS-PATTERN.md))
- OpenAPI / Swagger UI (embedded in binary, source of truth at `/swagger/doc.json`)
- Username + password authentication with JWT (rotating secrets)
- Passwordless magic-link authentication (email-delivered, ADR-0028 Phase A)
- OIDC authentication with PKCE (multi-provider, ADR-0028 Phase B)
- PostgreSQL user persistence with GORM
- BDD + unit tests (Godog)
- Mistral autonomous PR pattern (cf. [documentation/MISTRAL-AUTONOMOUS-PATTERN.md](documentation/MISTRAL-AUTONOMOUS-PATTERN.md))
## Quick Start
@@ -63,16 +66,21 @@ See `config.example.yaml` for a full template.
## API
The full interactive list is in the Swagger UI at `/swagger/` (source of truth at `/swagger/doc.json`). Most-used endpoints :
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/health` | Liveness check |
| GET | `/api/ready` | Readiness check (503 during shutdown) |
| GET | `/api/version` | Version info (`?format=plain\|full\|json`) |
| GET | `/api/v1/greet/` | Default greeting |
| GET | `/api/version` | Version info |
| GET | `/api/v1/greet/{name}` | Named greeting |
| POST | `/api/v2/greet` | V2 greeting with validation |
| POST | `/api/v1/auth/login` | Login (JWT) |
| POST | `/api/v1/auth/magic-link/request` | Passwordless magic-link |
| GET | `/api/v1/auth/oidc/{provider}/start` | OIDC login |
| GET | `/swagger/` | Swagger UI |
This decision is intentional : the markdown table drifts ; swagger.json doesn't (it's regenerated from `swag` annotations on every build). Curated short list here for discovery, swagger for completeness.
## Testing
```bash