# a-generator (adapter system)

LLM prompt-spec generators: 20 structured generators (API/database/CI-CD/microservice/schema scaffolds, docs, release notes, SLOs, postmortems, roadmaps, meal/workout plans...


LLM prompt-spec **generators**. Ported from `leumas-middleware/lib/a.generator` — 20 structured
generators. Stripped: express `server.js`/`router.js`, `public/`, `data/`, `docs/`.

Each source spec (`export default { id, model, temperature, inputSchema (zod), fields, prompt }`) is
preserved under [`./adapters`](./adapters). A tool call validates `args` against the spec's zod
`inputSchema` (when present) and returns the **resolved prompt spec** —
`{ id, name, model, temperature, system, fields, input, prompt }` — leaving actual inference to the
caller / LLM runtime (Leviathan / `@leumas/chatbots`). This keeps the port lightweight (no model
weights, no ollama runtime bundled).

Specs are imported **lazily** (dynamic import per tool) because they depend on `zod`, so the system
loads and lists its tools even before zod is installed; the dependency is only needed when a generator
is invoked.

> Dependency: `zod`.

## Tools (`adapters`)

ab-test-idea-generator, api-endpoint-generator, cicd-pipeline-generator, cloud-cost-estimator,
database-schema-generator, documentation-writer, hiring-test-generator, incident-postmortem-draft,
meal-plan, microservice-idea-generator, on-call-schedule-generator, product-roadmap-draft,
release-notes-generator, slo-generator, social-media-post-generator, startup-idea, tshirt-idea,
unit-test-generator, user-story-generator, workout-plan.

Example — `adapters['meal-plan']({ diet: 'Vegan', calories: 2200 })` returns
`{ id, model, temperature, system, fields, input, prompt }` where `prompt` is the fully-built prompt
string ready to send to the model.


---
Source: shared/engines/adapters/domain/a-generator/README.md
Canonical: https://docs.leumas.tech/p/adapters/domain/a-generator
