AI-first intermediate representation (IR) for AI-assisted software generation.
Reference toolchain (Preview): clone the repo and run aip parse / validate / emit sql|openapi|typescript|go|mysql|…. See Getting started, First emitters, and CRUD walkthrough.
aiparlance.org/
├── docs/ Mintlify documentation (EN + PT)
├── site/ Marketing site (Astro, EN + PT)
├── spec/ Normative language specification (v0.1)
├── examples/ Reference .aip specs
├── packages/ Reference toolchain (parser, validator, CLI)
└── transpilers/ Emitters (SQL, OpenAPI, TypeScript, …)
| Path | Description |
|---|---|
| GitHub | Source repository |
| docs.aiparlance.org | Documentation (Mintlify); local: cd docs && npx mintlify dev |
| Getting started | Install, CLI, emit, and test |
| First emitters | PostgreSQL → OpenAPI → TypeScript story |
| spec/v0.1/ | Grammar and normative spec artifacts |
| examples/minimal.aip | Minimal valid v0.1 spec |
| examples/blog-crud.aip | Complete blog CRUD (entities, policy, API, seed) |
| examples/inventory-crud.aip | Inventory CRUD + jobs/queues |
| examples/mysql-minimal.aip | MySQL fixture |
| examples/crm-reference.aip | Full CRM reference spec |
| examples/ops-reference.aip | Infra + Behavior extras |
| site/ | Public marketing site (EN · PT) |
| transpilers/ | Emitters (matrix Preview packages) |
| packages/ | Toolchain packages (@aiparlance/*) |
| ROADMAP.md | Phase C complete · Phase D (depth & distribution) |
| EMITTER_OBJECTIVES.md | Emitter maturity checklist v2 (roles + happy path) |
| CHANGELOG.md | Project changelog |
| CONTRIBUTING.md | How to contribute |
npm ci
npm test
node packages/cli/dist/cli.js validate examples/blog-crud.aip
node packages/cli/dist/cli.js emit sql examples/blog-crud.aip
node packages/cli/dist/cli.js emit openapi examples/blog-crud.aip
node packages/cli/dist/cli.js emit mysql examples/mysql-minimal.aipOne .aip → migrate Postgres → run API (≤ one glue file):
npm ci && npm run build
export DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/aiparlance
export AIP_JWT_SECRET=dev-secret
node packages/cli/dist/cli.js validate examples/blog-crud.aip
node packages/cli/dist/cli.js emit sql examples/blog-crud.aip | psql "$DATABASE_URL"
node packages/cli/dist/cli.js emit typescript examples/blog-crud.aip > /tmp/blog-app.ts
# peer deps for the generated app
npm i zod pg jose
npx tsx -e "import { listenCrudApp } from '/tmp/blog-app.ts'; listenCrudApp()"
# GET http://127.0.0.1:3000/v1/posts (public)
# POST with Authorization: Bearer $(npx tsx -e "...") using signCrudTokenWithout DATABASE_URL the generated app uses an in-memory store (still JWT-capable via AIP_JWT_SECRET). CI runs scripts/happy-path.test.ts (memory always; Postgres on the happy-path-pg job).
See ROADMAP.md (Phase C complete · Phase D active) and CONTRIBUTING.md.
- English (default) — e.g. https://docs.aiparlance.org/en/introduction
- Portuguese — e.g. https://docs.aiparlance.org/pt/introduction
