name: http-api-openapi description: Keep HTTP handlers and OpenAPI (openapi.yaml) in sync. Use when adding/changing endpoints, request/response schemas, auth requirements, or error shapes. license: MIT compatibility: Requires bash, git, Go; optional Node/npm + swagger-cli for validation. metadata: repo: mjrwtf runner: github-copilot-cli version: 1.2 allowed-tools: Bash(git:) Bash(make:) Bash(go:) Bash(npm:) Bash(swagger-cli:*) Read
Tooling assumptions
- Use a terminal runner with bash and git available.
- Prefer
maketargets when available; fall back to direct CLI commands when needed.
Source of truth
- OpenAPI spec:
openapi.yamlat the repo root.
Typical workflow
- Update
openapi.yaml(paths, schemas, auth). - Validate the spec:
make validate-openapi
If swagger-cli isn’t installed:
npm install -g @apidevtools/swagger-cli
- Implement the handler changes in Go (and keep auth consistent with the spec).
- Run tests:
make test
Project-specific notes
- Authenticated endpoints use Bearer token auth (see README’s Auth section).
- Be explicit about error responses and status codes in the spec when behavior changes.