aiplang
v2.11.13
Published
AI-first web language. One .aip file = complete app. Frontend + backend + database + auth.
Maintainers
Readme
aiplang
AI-first web language. One
.aipfile = complete app. Built for LLMs, not humans.
# npm
npx aiplang init my-app
# yarn
yarn dlx aiplang init my-app
# pnpm
pnpm dlx aiplang init my-app
cd my-app && npx aiplang serveAsk Claude to generate a page → paste into pages/home.aip → see it live.
What it is
aiplang is a web language designed to be generated by AI (Claude, GPT), not written by humans.
A single .aip file describes a complete app: frontend + backend + database + auth + email + payments.
~db sqlite ./app.db
~auth jwt $JWT_SECRET expire=7d
model User {
id : uuid : pk auto
email : text : required unique
password : text : required hashed
}
api POST /api/auth/login {
$user = User.findBy(email=$body.email)
~check password $body.password $user.password | 401
return jwt($user) 200
}
%home dark /
~theme accent=#6366f1 radius=1rem font=Inter
nav{MyApp>/login:Sign in}
hero{Welcome|Built with aiplang.} animate:blur-in
foot{© 2025}Why LLMs love it
| | aiplang | Next.js | |---|---|---| | Tokens per app | ~490 | ~10,200 | | Files generated | 1 | 22 | | Error rate (first try) | ~2% | ~28% | | Config needed | zero | tsconfig + tailwind + prisma + ... |
Commands
# Install globally (pick one)
npm install -g aiplang
yarn global add aiplang
pnpm add -g aiplang
# Or run directly without installing
npx aiplang serve # dev server + hot reload
npx aiplang build pages/ # compile → static HTML
npx aiplang start app.aip # full-stack Node.js server
npx aiplang init my-app # create project
npx aiplang init my-app --template saas|landing|crud|dashboard|blog|ecommerce|todo|analytics|chat|hello
npx aiplang template list # list saved templates
npx aiplang template save my-tpl # save current project as templateFeatures
- ORM — model, insert, update, delete, soft-delete, paginate, count, sum, relations
- Auth — JWT with bcrypt, guards (auth, admin, subscribed), rate limiting
- Validation — required, email, min, max, unique, numeric, in:
- Cache —
~cache key ttl— in-memory with TTL - WebSockets —
~realtime— auto-broadcast on mutations - S3 — Amazon S3, Cloudflare R2, MinIO
- Stripe — checkout, portal, webhooks
- Email — SMTP via nodemailer
- Admin panel — auto-generated at /admin
- Plugins — extend with JS modules
- PostgreSQL — production database support
- Dynamic routes —
/blog/:slugwith params - Imports —
~import ./auth.aipfor modular apps - Versioning —
~lang v2.9for future compat
Templates
Ready-to-use templates in /templates:
blog.aip— Blog with comments, auth, pagination, cacheecommerce.aip— Shop with Stripe checkouttodo.aip— Todo app with auth + prioritiesanalytics.aip— Analytics dashboard with cachechat.aip— Real-time chat with polling
Security
Built-in: bcrypt, JWT, body limit, rate limiting, helmet headers, HttpOnly cookies. See SECURITY.md for full threat model.
⚠ Honest limitations (alpha software)
- Not production-ready without review — always audit generated code
- SQLite not for high traffic — use
~db postgres $DATABASE_URLfor production - No SSR — pages are rendered client-side (hydrate.js)
- In-memory rate limiting — resets on restart
- No monorepo support yet — single .aip file per app (use
~importfor modularization) - No TypeScript — intentional (AI doesn't need types)
- Performance degrades with >50 complex models — use PostgreSQL indexes
Prompt guide
See PROMPT_GUIDE.md for how to generate great apps with Claude/GPT.
Source
- GitHub: isacamartin/aiplang
- Author: Isac Martin
- License: MIT
