Development Lifecycle
1
Configure Environment
Set up environment variablesAdd API keys and configuration for sandbox
2
Configure Persona
Define your agent’s personalityEdit persona in sandbox mode
3
Local Development
Build and test your skills locallyUse sandbox mode for testing
4
Testing
Test conversational flows and individual tools
5
Push to Server
Upload your skill version to the server
6
Sandbox Testing
Test in sandbox environment before productionChoose sandbox mode when prompted
7
Deploy to Production
Make your skill available to all users
Local Development Workflow
Starting Development
Start by syncing with the server to get any remote changes:The Development Loop
- Edit
- Test Tools
- Test Chat
- Iterate
Edit files in
src/tools/:Testing Features
Tool Testing
Test individual tools with specific inputs
Chat Testing
Test conversational flows and tool selection
Sandbox Mode
Test with local changes before deploying
Production Validation
Verify deployed changes work correctly
Testing Workflow
Interactive Tool Testing
Test individual tools with specific inputs:1
Select Tool
Choose from list of available tools
2
Enter Inputs
Provide values based on tool’s schema
3
View Results
See execution results or errors
4
Iterate
Fix issues and test again
Conversational Testing
Test how the AI uses your tools in natural conversation:Happy Path
Happy Path
Test the ideal user journey
- “Show me products”
- “Add laptop to cart”
- “Checkout”
Edge Cases
Edge Cases
Test unusual but valid inputs
- Empty results
- Maximum values
- Optional parameters
Error Handling
Error Handling
Test invalid inputs
- Missing required fields
- Invalid data types
- Out of range values
Multi-Step Flows
Multi-Step Flows
Test complex workflows
- Create → Add → Update → Delete
- Search → Select → Checkout
Version Management
Semantic Versioning
Use semantic versioning:MAJOR.MINOR.PATCH
The
lua.skill.yaml file is auto-managed by the CLI. The version number is the only field you should manually edit when preparing a new release. All other fields are managed automatically.- PATCH (1.2.3 → 1.2.4)
- MINOR (1.2.3 → 1.3.0)
- MAJOR (1.2.3 → 2.0.0)
Bug fixes and minor improvements
- Fixed error handling
- Updated descriptions
- Performance improvements
Pushing Versions
Advanced Agent Features (v3.0.0)
Beyond skills and tools, v3.0.0 adds support for webhooks, jobs, and message processing:LuaAgent Configuration
Webhooks
Receive events from external services:Jobs
Schedule automated tasks:PreProcessors
Filter messages before they reach your agent:PostProcessors
Format responses after agent generation:Deployment Workflow
Sandbox Testing
Before deploying to production, test in sandbox:Deploying to Production
When ready, deploy to all users:1
Select Version
Choose which version to deploy from list
2
Confirm
Confirm the deployment (shows warning)
3
Deploy
Version is deployed to production
4
Verify
Test with real users or in production chat
Best Practices
Development
- Start Simple
- Test Iteratively
- Test Edge Cases
Build one tool at a time
- Create basic version
- Test thoroughly
- Add complexity gradually
Version Control
Testing
Test Before Pushing
Test Before Pushing
Always test locally before pushing:
Test in Sandbox
Test in Sandbox
Test pushed versions in sandbox before deploying:
Document Test Cases
Document Test Cases
Keep a list of test scenarios:
- Happy path flows
- Edge cases to verify
- Known issues to watch for
Deployment
Common Workflows
Quick Fix Workflow
Feature Development Workflow
Multi-Developer Workflow
Troubleshooting
Chat not working
Chat not working
Problem: Cannot start chat sessionSolutions:
- Run
lua auth configureto set up API key - Ensure
lua.skill.yamlexists (runlua init) - Deploy skills with
lua pushbefore using sandbox - Check network connection
Skills not appearing in sandbox
Skills not appearing in sandbox
Problem: Local changes not reflectedSolutions:
- Ensure you selected “Sandbox” mode
- Check compilation succeeded
- Verify skills pushed to sandbox successfully
- Try running
lua pushfirst
Deploy showing old version
Deploy showing old version
Problem: Deployed but still seeing old behaviorSolutions:
- Verify correct version was deployed
- Check
lua.skill.yamlversion number - Test in production mode with
lua chat - Check if deploy actually succeeded
Can't push - version exists
Can't push - version exists
Problem: Version already pushed to serverSolution: Increment version number:
Drift detected during compile
Drift detected during compile
Problem: Server has different persona/name than local codeSolutions:
- Run
lua syncto see the diff and choose action - Use
lua compile --force-syncto auto-update from server - Use
lua compile --no-syncto skip check and keep local

