Skip to content

gtc wizard

The gtc wizard command creates new Greentic bundles from wizard answers. It scaffolds the complete bundle structure including configuration files, provider setups, and app templates.

Terminal window
gtc wizard [OPTIONS]
OptionDescription
--answers <FILE | URL>Path or URL to wizard answers file (JSON or YAML). Supports local paths and remote http:// / https:// URLs.
--dry-runPreview generated files without writing
--output <DIR>Output directory (default: current directory)
--template <NAME>Use a specific template
-v, --verboseEnable verbose output
wizard-answers.json
{
"project": {
"name": "my-digital-worker",
"version": "1.0.0",
"description": "Customer support digital worker"
},
"providers": {
"messaging": ["telegram", "slack"],
"events": ["webhook", "timer"]
},
"apps": [
{
"name": "support-bot",
"template": "customer-service"
}
],
"tenants": [
{
"id": "demo",
"name": "Demo Tenant",
"teams": [
{
"id": "default",
"channels": ["telegram", "slack"]
}
]
}
]
}
wizard-answers.yaml
project:
name: my-digital-worker
version: "1.0.0"
description: Customer support digital worker
providers:
messaging:
- telegram
- slack
events:
- webhook
- timer
apps:
- name: support-bot
template: customer-service
tenants:
- id: demo
name: Demo Tenant
teams:
- id: default
channels:
- telegram
- slack

Running the wizard generates:

my-digital-worker/
├── greentic.demo.yaml # Main configuration
├── providers/
│ ├── messaging/
│ │ ├── messaging-telegram.gtpack
│ │ └── messaging-slack.gtpack
│ └── events/
│ ├── events-webhook.gtpack
│ └── events-timer.gtpack
├── apps/
│ └── support-bot/
│ ├── app.yaml
│ └── flows/
│ └── on_message.ygtc
├── tenants/
│ └── demo/
│ ├── tenant.gmap
│ └── teams/
│ └── default/
│ └── team.gmap
└── seeds.yaml
Terminal window
# Interactive mode
gtc wizard
# With answers file
gtc wizard --answers wizard-answers.yaml
Terminal window
# See what would be generated
gtc wizard --answers wizard-answers.yaml --dry-run

The --answers flag accepts http:// and https:// URLs, making it straightforward to store shared answer documents in a central location and reference them from CI/CD pipelines.

Terminal window
# Fetch answers from a remote URL
gtc wizard --answers https://config.example.com/teams/support/wizard-answers.yaml
# Combine with dry-run to preview before generating
gtc wizard --answers https://config.example.com/teams/support/wizard-answers.yaml --dry-run
Terminal window
gtc wizard --answers wizard-answers.yaml --output ./my-project
Terminal window
# List available templates
gtc wizard --list-templates
# Use specific template
gtc wizard --template customer-service --answers answers.yaml
TemplateDescription
minimalBare bones bundle with one provider
customer-serviceFAQ bot with escalation
helpdeskIT support with ticket integration
multi-channelMultiple messaging channels
  1. Create answers file

    Define your project configuration in JSON or YAML.

  2. Run wizard

    Terminal window
    gtc wizard --answers wizard-answers.yaml
  3. Review generated files

    Check the generated bundle structure.

  4. Configure providers

    Terminal window
    gtc setup ./my-digital-worker
  5. Start runtime

    Terminal window
    gtc start ./my-digital-worker

The wizard generates basic flow templates. Customize them after generation:

apps/support-bot/flows/on_message.ygtc
name: on_message
version: "1.0"
description: Handle incoming messages
nodes:
# Add your custom nodes here
- id: analyze
type: llm
config:
model: "gpt-4"
prompt: "Analyze: {{message}}"
next: respond
- id: respond
type: reply
config:
message: "{{analysis_result}}"
triggers:
- type: message
target: analyze
Error: Failed to parse answers file

Ensure your JSON/YAML is valid. Use a linter to check syntax.

Error: Missing required field: project.name

Check that all required fields are present in your answers file.

Error: Template 'unknown' not found

Use gtc wizard --list-templates to see available templates.