For Developers
Build agents with
real TypeScript
Full control over your agent logic. Write TypeScript tools, test locally, deploy globally. No YAML configs, no vendor lock-in.
$
npm install -g lua-cliimport { LuaTool } from "lua-cli";
import { z } from "zod";
export const getWeather = new LuaTool({
name: "getWeather",
description: "Get current weather for a location",
parameters: z.object({
city: z.string().describe("City name"),
units: z.enum(["celsius", "fahrenheit"]).default("celsius"),
}),
execute: async ({ city, units }) => {
const response = await fetch(
`https://api.weather.com/v1/current?city=${city}&units=${units}`
);
return response.json();
},
});Modern developer
experience
Everything you expect from a modern framework. TypeScript, testing, live reload, and one-command deployments.
Real TypeScript
Not YAML or JSON configs. Actual code with full IDE support.
// Type-safe tool definitions
export const myTool = new LuaTool<Input, Output>({...})Zod Validation
Schema validation built-in. Parameters are type-safe at runtime.
parameters: z.object({
email: z.string().email(),
age: z.number().min(18)
})Live Reload
Instant feedback during development. No restart needed.
$ lua dev
✓ Watching for changes...
✓ Agent updatedOne-Command Deploy
Push to production with a single command. We handle the rest.
$ lua deploy
✓ Building...
✓ Deploying to production
✓ Live at agent.heylua.aiStart building
today
Comprehensive documentation, examples, and community support to help you ship faster.
Ready to start
building?
Get from zero to your first deployed agent in under 5 minutes.
$lua init my-agent
$lua dev
✓Agent running at localhost:3000