Skip to content

Use the Arena Project Editor

The Project Editor provides an in-browser development environment for creating and testing Arena projects. It includes a Monaco-based YAML editor, file management, real-time validation, and interactive agent testing.

  • Enterprise features enabled (enterprise.enabled=true)
  • PromptKit LSP enabled for validation (enterprise.promptkitLsp.enabled=true)
  • A workspace with Editor or Admin role
  1. Open the Omnia Dashboard
  2. Navigate to your workspace
  3. Go to Arena > Projects
  4. Click New Project or select an existing project

The easiest way to start is from a template:

  1. Click New Project
  2. Select From Template
  3. Browse available templates by category
  4. Select a template and click Use Template
  5. Fill in the template variables:
    • Project Name: A unique name for your project
    • Custom Variables: Template-specific settings
  6. Click Create Project

The template will be rendered with your variables and saved to the workspace.

To create an empty project:

  1. Click New Project
  2. Select Blank Project
  3. Enter a project name
  4. Click Create

You’ll start with a minimal project structure that you can build upon.

The left sidebar shows your project files:

  • Single-click a file to open it in the editor
  • Right-click for context menu options:
    • Create new file or folder
    • Rename or delete
    • Import provider or tool configuration

The central editor provides:

  • Syntax highlighting for YAML, JSON, and Markdown
  • Auto-completion for PromptKit configuration
  • Inline validation with error markers
  • Multiple tabs for editing several files

The bottom panel shows validation issues:

  • Errors (red): Must be fixed before running
  • Warnings (yellow): Best practice suggestions
  • Info (blue): Helpful hints

Click a problem to jump to its location in the editor.

Arena projects use the PromptKit format:

Main configuration file defining the agent:

name: my-chatbot
version: 1.0.0
provider:
type: openai
model: gpt-4
prompts:
- id: default
file: prompts/main.yaml
tools:
- name: get_weather
type: http
endpoint: http://weather-api/weather

Define system prompts and conversation templates:

id: default
name: Main Prompt
version: 1.0.0
system_template: |
You are a helpful assistant named {{ .agentName }}.
Be concise and friendly.
user_template: |
{{ .input }}

Define test cases for evaluation:

name: greeting-test
description: Test basic greeting behavior
steps:
- input: "Hello!"
assertions:
- type: contains
value: "Hello"
- type: not_contains
value: "error"

See the PromptKit documentation for the complete configuration reference.

To use a workspace Provider in your project:

  1. Right-click in the file tree
  2. Select Import Provider
  3. Choose from available providers in the workspace
  4. The provider configuration will be added to your arena.config.yaml

To add tools from a ToolRegistry:

  1. Right-click in the file tree
  2. Select Import Tool
  3. Choose from available tool registries
  4. Select specific tools to import

When PromptKit LSP is enabled, validation runs as you type:

  • Schema validation for all configuration files
  • Reference checking (prompts, tools, providers)
  • Template variable validation

Click the Validate button in the toolbar to run full validation:

  1. All files are checked against PromptKit schemas
  2. Cross-file references are verified
  3. Results appear in the Problems panel
ErrorCauseFix
Unknown propertyTypo or invalid fieldCheck PromptKit schema
Missing required fieldRequired field not setAdd the required field
Invalid referenceReferenced resource not foundCheck file path or ID
Type mismatchWrong value typeUse correct type (string, number, etc.)

Test your agent in real-time with the Dev Console:

  1. Click Test Agent in the toolbar
  2. Select a provider from your workspace
  3. Wait for the dev console to initialize
  4. Type messages to chat with your agent
  5. View tool calls and responses in real-time

The Dev Console supports:

  • Hot reload: Changes are applied without disconnecting
  • Tool visibility: See tool calls and results
  • File attachments: Test multi-modal capabilities
  • Provider switching: Try different providers

To run automated tests:

  1. Click Deploy to create an ArenaSource from your project
  2. Click Run and select a job type:
    • Evaluation: Run scenario tests
    • Load Test: Performance testing
    • Data Generation: Generate synthetic data
  3. View results in the Results panel

Changes are auto-saved, but you can also:

  • Press Ctrl+S / Cmd+S to save immediately
  • Click Save in the toolbar

To deploy your project for ArenaJob execution:

  1. Ensure all validation errors are fixed
  2. Click Deploy in the toolbar
  3. The project is packaged and deployed as an ArenaSource

After deploying:

  1. The Deploy button shows deployment status
  2. Green indicator = successfully deployed
  3. Click to view ArenaSource details
ShortcutAction
Ctrl/Cmd + SSave file
Ctrl/Cmd + PQuick open file
Ctrl/Cmd + Shift + PCommand palette
Ctrl/Cmd + /Toggle comment
F2Rename symbol
Ctrl/Cmd + .Quick fix
Ctrl/Cmd + SpaceTrigger suggestions
my-project/
├── arena.config.yaml # Main configuration
├── prompts/
│ ├── main.yaml # Primary prompt
│ └── error.yaml # Error handling prompt
├── scenarios/
│ ├── happy-path.yaml # Success scenarios
│ └── edge-cases.yaml # Edge case tests
└── README.md # Project documentation

Projects are stored in the workspace filesystem. Consider:

  • Using descriptive project names
  • Documenting changes in README.md
  • Exporting projects for external version control
  1. Start with the Dev Console: Quick iteration on prompts
  2. Add scenario tests: Capture expected behaviors
  3. Run evaluations: Automated testing across scenarios
  4. Monitor results: Track quality over time

If the editor doesn’t load:

  1. Check browser console for errors
  2. Verify enterprise features are enabled
  3. Ensure you have workspace access

If validation is missing:

  1. Check that promptkitLsp.enabled=true in Helm values
  2. Verify the LSP service is running:
    Terminal window
    kubectl get pods -l app=promptkit-lsp
  3. Check LSP logs for errors

If the Test Agent feature fails:

  1. Verify the workspace has at least one Provider
  2. Check ArenaDevSession was created:
    Terminal window
    kubectl get arenadevsession -n <workspace-ns>
  3. Check dev console pod logs

If deployment fails:

  1. Fix all validation errors first
  2. Check workspace filesystem permissions
  3. Verify ArenaSource controller is running