Overview
All Lua CLI commands now support non-interactive mode, enabling seamless automation for:- AI IDEs (Cursor, GitHub Copilot, Windsurf, etc.)
- CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)
- Shell scripting and automation
- Programmatic agent management
Every command now has non-interactive options with consistent naming patterns.
AI Agent Building Guide
Building with Cursor, Windsurf, or GitHub Copilot? See the complete AI Agent Building Guide for the full end-to-end workflow including authentication, testing strategies, sandbox vs production, common gotchas, and debugging.
Design Patterns
Consistent Option Naming
All commands follow these patterns:Action Arguments
Many commands accept an action as the first argument:CI/CD Mode (—ci flag)
The global
--ci flag makes the CLI fail loudly on missing required arguments instead of silently prompting (which fails in non-TTY environments).--ci flag prevents this by throwing errors when required arguments are missing:
Usage
The--ci flag is a global flag that must come before the command:
When to Use
- CI/CD Pipelines
- Local Development
- Scripts & Automation
Always use Why: Ensures missing flags cause immediate, clear failures instead of silent hangs.
--ci in automated environments:Behavior Differences
Auto-Detection
Even without--ci, the CLI automatically detects non-TTY environments and shows a warning:
--ci prevents this by failing immediately.
Complete Command Reference
Project Setup
- init
Initialize a new project without prompts:
Development & Testing
- test
- sync
- chat
Test skills, webhooks, or jobs without prompts:
Deployment
- push
- deploy
Push components without prompts:
Entity Management
- skills
- webhooks
- jobs
- preprocessors
- postprocessors
Manage skills without prompts:
Configuration
- env
- persona
- features
- resources
- mcp
- integrations
Manage environment variables without prompts:
Viewing & Debugging
- logs
- production
- channels
View logs without prompts:
Authentication & Utilities
- auth
- chat clear
Authentication commands with —force:
Marketplace
lua marketplace [noun] [action], where noun is skill or template. See the Marketplace Command reference for the full flag set.
- Skill Actions
- Template Actions
Publish, manage, and install skills — all in one flat action namespace:
Example Workflows
AI IDE Workflow (Cursor, Copilot)
When an AI assistant needs to manage your agent:GitHub Actions CI/CD
Post-deploy verification (CI-friendly)
After any production deploy, run a 3-line probe to confirm the new version is healthy. This is the CI version of the canonical post-deploy debug loop:Silencing post-action hints in CI. The CLI prints
✨ Tip: / 💡 Diagnose: lines and a quiet agent_error probe summary after each command. They’re useful interactively but noisy when CI captures only command output. Set LUA_NO_HINTS=1 to silence all of them:Bash Scripting
Multi-Component Deployment
Exit Codes
All commands return consistent exit codes:
Use exit codes in scripts:
JSON Output
Commands with--json output machine-readable JSON:
Best Practices
Always use --force in CI/CD
Always use --force in CI/CD
In automated pipelines, always use
--force to skip confirmations:Use --check for validation
Use --check for validation
Use
lua sync --check in CI to fail builds on drift:Use --json for parsing
Use --json for parsing
When processing output programmatically, use
--json:Version with timestamps or git SHAs
Version with timestamps or git SHAs
Use dynamic versions in CI:
Related
CLI Overview
All available commands
Skill Management
init, test, push, deploy details
Sync Command
Drift detection details
Environment Variables
Managing configuration

