Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
---
|
|
name: quick-api
|
|
description: Use when scaffolding a new API endpoint — types, test, handler, validation, route, docs
|
|
disable-model-invocation: true
|
|
arguments:
|
|
- name: endpoint
|
|
description: "Endpoint description, e.g. 'POST /api/users — create user'"
|
|
required: true
|
|
---
|
|
|
|
# Quick API Scaffold Workflow
|
|
|
|
## Step 1: Detect Framework
|
|
- Auto-detect from project:
|
|
- Python: FastAPI (main.py, routers/), Flask, Django
|
|
- JS/TS: Next.js (app/api/), Express, Hono
|
|
- Go: net/http, gin, echo
|
|
- Find existing endpoint examples to match patterns
|
|
|
|
## Step 2: API Contract (Types First)
|
|
- Define request/response types BEFORE implementation
|
|
- Place types where project keeps them (types/, schemas/, models/)
|
|
- Include validation rules in type definitions
|
|
- Document in OpenAPI format if project uses it
|
|
|
|
## Step 3: Write Test First
|
|
- Create test file matching project conventions
|
|
- Test cases:
|
|
- Happy path (valid request → expected response)
|
|
- Validation error (invalid input → 400/422)
|
|
- Auth error if endpoint requires auth (no token → 401)
|
|
- Not found if applicable (→ 404)
|
|
|
|
## Step 4: Checkpoint
|
|
- `checkpoint: before quick-api $endpoint`
|
|
|
|
## Step 5: Implement Handler
|
|
- Follow existing handler patterns exactly
|
|
- Input validation using project's validation approach
|
|
- Error handling matching existing patterns
|
|
- Keep handler thin — business logic in service layer if project uses one
|
|
|
|
## Step 6: Register Route
|
|
- Add route in the project's routing configuration
|
|
- Match URL pattern, middleware, and auth guards from existing routes
|
|
|
|
## Step 7: Verify
|
|
- Run tests — all pass
|
|
- Test manually with curl if appropriate
|
|
- Check that OpenAPI/Swagger docs update if auto-generated
|
|
|
|
## Step 8: Commit
|
|
- `feat: add $endpoint endpoint`
|