$ lua init? What would you like to do? Create new agent? Enter business name: My Coffee Shop? Enter agent name: CoffeeBot? Select business type: Food & Beverage? Select brand personality: Friendly? Enter brand traits: Warm, welcoming, knowledgeable🔄 Creating agent...✅ Agent created successfully!✅ Created lua.skill.yaml✅ Copied template files✅ Updated LuaAgent configuration📦 Installing dependencies...✅ Lua skill project initialized successfully!💡 Tip: Use `lua init --with-examples` to include example code
Copy
$ lua init --with-examples? What would you like to do? Create new agent? Enter business name: My Coffee Shop? Enter agent name: CoffeeBot...✅ Created lua.skill.yaml✅ Copied template files✅ Included example skills, tools, jobs, and webhooks✅ Updated LuaAgent configuration📦 Installing dependencies...✅ Lua skill project initialized with examples!💡 Check the examples/ folder for sample skills, tools, jobs, and webhooks
Copy
$ lua init? What would you like to do? Select existing agent? Select organization: My Organization? Select agent: CoffeeBot✅ Created lua.skill.yaml✅ Copied template files📦 Installing dependencies...✅ Lua skill project initialized successfully!
agent: agentId: agent_abc123 orgId: org_xyz789skills: [] # Auto-populated during compilation
The lua.skill.yaml file is auto-managed by the CLI. Do not manually edit it except for incrementing version numbers. All configuration belongs in your code (src/index.ts).
Persona is stored in your LuaAgent code (in src/index.ts), not in YAML. The YAML file is state-only and tracks IDs and versions.
# Test a skill/toollua test skill --name get_weather --input '{"city": "London"}'# Test a webhooklua test webhook --name payment-hook --input '{"query": {}, "headers": {}, "body": {"type": "payment"}}'# Test a joblua test job --name daily-report# Test preprocessorlua test preprocessor --name filter --input '{"message": "hello", "channel": "web"}'# Test postprocessorlua test postprocessor --name formatter --input '{"message": "hi", "response": "hello", "channel": "web"}'
$ lua push? What would you like to push? › skill persona📦 Pushing skill: customer-serviceCurrent version: 1.0.0? Enter new version to push: (1.0.1) ⏎📝 Updating version from 1.0.0 to 1.0.1✅ Authenticated🔄 Compiling skill...✅ Skill compiled successfully - 10 tools bundled🔄 Pushing version to server...✅ Version 1.0.1 of "customer-service" pushed successfully? Would you like to deploy this version to production now? No[Version pushed, use 'lua deploy' to deploy later]
$ lua push skill📦 Pushing skill: customer-serviceCurrent version: 1.0.0? Enter new version to push: (1.0.1) ⏎📝 Updating version from 1.0.0 to 1.0.1✅ Authenticated🔄 Compiling skill...✅ Skill compiled successfully - 10 tools bundled🔄 Pushing version to server...✅ Version 1.0.1 of "customer-service" pushed successfully? Would you like to deploy this version to production now? No[Version pushed, use 'lua deploy' to deploy later]
$ lua push📦 Pushing skill: order-managementCurrent version: 0.5.0? Enter new version to push: 1.0.0📝 Updating version from 0.5.0 to 1.0.0✅ Authenticated🔄 Compiling skill...✅ Skill compiled successfully - 8 tools bundled🔄 Pushing version to server...✅ Version 1.0.0 of "order-management" pushed successfully? Would you like to deploy this version to production now? Yes⚠️ WARNING: You are about to deploy to PRODUCTION!⚠️ This will affect ALL users immediately.? Are you absolutely sure you want to deploy? Yes🔄 Publishing version...✅ Version 1.0.0 deployed successfully to production
Current: 0.5.0? Enter: 1.0.0 # Major releaseCurrent: 1.2.3? Enter: 1.3.0 # Minor updateCurrent: 2.0.0? Enter: 2.0.1-beta # Pre-release
Follow semver conventions:
MAJOR (2.0.0): Breaking changes
MINOR (1.1.0): New features
PATCH (1.0.1): Bug fixes
Copy
# In lua.skill.yamlskills: - name: my-skill version: 1.0.1 # Auto-updated by push
Version Conflict Avoidance: When using --force, the CLI automatically checks the server for the highest existing version and suggests the next available version. This prevents “Version already exists” errors during automated deployments.
$ lua deploy✅ Authenticated🔄 Fetching available versions...? Select a version to deploy: 1.0.2 - Created: Oct 3, 2025 by[email protected] 1.0.1 - Created: Oct 2, 2025 by[email protected]❯ 1.0.0 (CURRENT) - Created: Oct 1, 2025 by [email protected]? ⚠️ Warning: This version will be deployed to all users. Do you want to proceed? Yes🔄 Publishing version...✅ Version 1.0.0 deployed successfully
# Initialize with restore flaglua init --agent-id abc123 --restore-sources
This will:
Create a new project directory
Download all source files from cloud storage
Restore the exact project state from backup
Install dependencies
Interactive restore:
Copy
$ lua init --agent-id abc123? Would you like to restore project sources from backup? Yes🔄 Fetching backup manifest...✅ Found backup with 42 files🔄 Downloading source files...🔄 Downloaded 42/42 files...✅ Sources restored successfully!💡 Run 'lua compile' to rebuild from restored sources
# Configure environment if neededlua env sandbox # Add new API keys locallylua env production # Update production env vars# Make changes to src/tools/*.ts# Test your agentlua chat # Choose sandbox mode# Optional: Test specific toolslua test # For debugging individual tools# When satisfied, push (direct mode - faster!)lua push skill# Update production persona if neededlua persona production # Or: lua push persona# Deploy to productionlua deploy