RDT Workshop: AI-Powered SAMO Development
Level: Intermediate
Keywords: RDT, VS Code Extension, SAMO Pilot, MCP Server, Claude Code, OpenAI Codex, IntelliSense, Kubernetes, AI-assisted development
The result: participants can install, configure, and use the full RDT toolchain — VS Code Extension, MCP Server, and SAMO Pilot — for scaffolding, deploying, and AI-assisted development of SAMO projects
Duration: 3 hours (including two 10-minute breaks)
Workshop Overview
This hands-on workshop introduces the Rapid Development Toolkit (RDT) — a suite of three integrated tools that accelerate SAMO platform development:
| Tool | Purpose | Key benefit |
|---|---|---|
| RDT VS Code Extension | IDE integration for SAMO metadata, deployment, and validation | IntelliSense, one-click K8s deploy, JSON schema validation |
| SAMO MCP Server | Model Context Protocol server with 30+ AI-accessible tools | AI tools can search docs, lookup schemas, scaffold projects |
| SAMO Pilot | AI coding agent plugin (Claude Code & OpenAI Codex) | AI understands all 3 SAMO layers, generates configs, validates consistency |
AI Coding Agent = Claude Code or OpenAI Codex — SAMO Pilot works with both.
The exercises build progressively: scaffold a project → explore with IntelliSense → deploy to Kubernetes → use AI to extend it → sync changes back.
Agenda
| Time | Section | Duration |
|---|---|---|
| 0:00 – 0:15 | 1. Introduction & Environment Check | 15 min |
| 0:15 – 0:30 | 2. Install All Three Tools | 15 min |
| 0:30 – 1:05 | 3. RDT VS Code Extension | 35 min |
| 1:05 – 1:15 | Break | 10 min |
| 1:15 – 1:50 | 4. SAMO MCP Server | 35 min |
| 1:50 – 2:35 | 5. SAMO Pilot — AI-Assisted Development | 45 min |
| 2:35 – 2:45 | Break | 10 min |
| 2:45 – 3:00 | 6. Capstone Exercise & Wrap-Up | 15 min |
Pre-Workshop Checklist
All prerequisites must be installed and verified before you arrive. The workshop does not budget time for setup from scratch.
Open the full Prerequisites Guide — it covers software installation, Kubernetes access, npm registry setup, Helm login, and includes a verification script.
1. Introduction & Environment Check
Duration: 15 minutes (5 min presentation, 10 min hands-on verification)
Learning objectives
- Understand the RDT toolchain architecture and how the three tools relate
- Verify that all prerequisites are met
Architecture
The three RDT tools form a layered system:
| Layer | Tool | Role |
|---|---|---|
| IDE Productivity | VS Code Extension | IntelliSense, scaffolding, deploy, sync, JSON validation |
| Knowledge | MCP Server | 30+ tools for docs search, schema lookup, scripting API, project creation, server management |
| AI Orchestration | SAMO Pilot | Skills, agents, and prompts that coordinate AI across all 3 SAMO layers (works with Claude Code & Codex) |
AI coding agents in 2 minutes
If you haven't used an AI coding agent before, here's the basics:
- Claude Code
- OpenAI Codex
| Concept | How it works |
|---|---|
| Start | Run claude in your terminal from the project directory |
| Prompt | Type a natural language request and press Enter |
| Tool calls | Claude calls tools (read files, run commands, MCP tools) — you approve or deny each one |
| MCP tools | Tools from SAMO MCP Server appear as mcp__samo-mcp-server__<tool_name> — approve them to let Claude access SAMO docs and schemas |
| Plugins | Manage with /plugin — list, add, configure, remove |
| Stop | Press Esc to interrupt, or type /exit to quit |
| Concept | How it works |
|---|---|
| Start | Run codex in your terminal from the project directory |
| Prompt | Type a natural language request and press Enter |
| Tool calls | Codex calls tools and shows what it plans to do — you approve or deny |
| MCP tools | SAMO MCP Server tools are available automatically via the plugin config |
| Plugins | Manage with codex plugin — list, add, configure, remove |
| Stop | Press Ctrl+C to interrupt |
Both agents work the same way with SAMO Pilot — the skills, agents, and MCP tools are identical. The only differences are in installation and configuration commands.
- Run the verification script from the Prerequisites Guide
- Confirm all items show
OK(notMISSorFAIL) - Confirm
kubectl cluster-infoshows the SAMO K8s cluster endpoint - If anything fails, raise your hand — helpers will assist
Troubleshooting:
| Issue | Fix |
|---|---|
kubectl cluster-info fails | Connect to VPN first, or request kubeconfig from organizer |
@samo:registry empty | Follow the npm scope setup |
| Node.js wrong version | Install Node.js 22.x from nodejs.org |
2. Install All Three Tools
Duration: 15 minutes (5 min demo, 10 min hands-on)
Learning objectives
- Install the RDT VS Code Extension from a
.vsixfile - Install SAMO Pilot in your AI coding agent (Claude Code or Codex)
- Understand that the MCP Server is bundled with SAMO Pilot (no separate install needed)
2.1 RDT VS Code Extension
Option A — UI:
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X) - Click
...(More Actions) → Install from VSIX... - Select the
.vsixfile provided by the organizer - Reload VS Code if prompted
Option B — Command line:
code --install-extension samo-rdt-<version>.vsix
After installation, the RDT icon appears in the Activity Bar (left sidebar).
2.2 SAMO Pilot (AI Coding Agent Plugin)
- Claude Code
- OpenAI Codex
# Open a terminal in your project directory
cd your-workspace-folder/
claude
# Inside Claude Code:
/plugin marketplace add https://gitlab/samo/server/tools-implementation/samo-pilot.git
When prompted, enter your GitLab username and personal access token (provided by the organizer).
Then configure the plugin:
/plugin config samo-pilot
You'll be prompted for three values:
| Setting | Value | Description |
|---|---|---|
gitlab_token | username:token (provided by organizer) | For project scaffolding via GitLab |
base_url | https://rdt-<your-name>.samo-kube.assecosk.local | Your SAMO deployment URL (set after K8s deploy) |
lids_credentials | administrator:berit (provided by organizer) | For LIDS management API calls |
All values are stored securely by Claude Code and never written to disk.
# Open a terminal in your project directory
cd your-workspace-folder/
codex plugin marketplace add https://gitlab/samo/server/tools-implementation/samo-pilot.git
When prompted, enter your GitLab username and personal access token (provided by the organizer).
Then set the environment variables (or add to your ~/.bashrc / ~/.zshrc):
export SAMO_GITLAB_TOKEN="username:token"
export SAMO_BASE_URL="https://rdt-<your-name>.samo-kube.assecosk.local"
export SAMO_LIDS_CREDENTIALS="administrator:berit"
Copy the subagent definitions into your project:
mkdir -p .codex/agents
cp <plugin-install-path>/codex-agents/*.toml .codex/agents/
If you see an SSL certificate error, run this first and retry:
git config --global http.sslBackend schannel
2.3 SAMO MCP Server
The MCP Server is automatically included with SAMO Pilot. When you use your AI coding agent with the plugin installed, the MCP server starts in the background via npx @samo/mcp-server.
For standalone use with other AI clients (VS Code Copilot, Claude Desktop), see the MCP Server documentation.
- RDT Extension: Open VS Code, confirm the RDT icon is in the Activity Bar. Press
Ctrl+Shift+Pand search forSAMO RDT— you should see commands likeDeploy to Kubernetes - SAMO Pilot: Verify the plugin is installed:
- Claude Code: run
/pluginand confirmsamo-pilotappears under Installed - Codex: run
codex plugin listand confirmsamo-pilotappears
- Claude Code: run
- MCP Server: Ask your agent: "Check if my GitLab token is valid" — SAMO Pilot should call the
check_gitlab_tokenMCP tool
Troubleshooting:
| Issue | Fix |
|---|---|
| RDT icon not visible | Reload VS Code window (Ctrl+Shift+P → Developer: Reload Window) |
| Plugin not found | Exit your agent, restart, retry the marketplace add command |
| MCP server fails to start | Verify @samo scope: npm config get @samo:registry |
3. RDT VS Code Extension
Duration: 35 minutes total
This section covers three core features: IntelliSense, Project Scaffolding, and Kubernetes Deployment.
3A. IntelliSense & JSON Validation (12 min)
Learning objectives
- Use autocompletion for
ft_,cl_,at_,cf_identifiers - Use dot-notation completion for feature type attributes and codelist columns
- Navigate to definitions with
Ctrl+Click
How it works
When you open a workspace containing model.xml files, the extension:
- Scans all
model.xmlfiles - Builds an in-memory Trie index for fast prefix-based lookups
- Registers autocompletion providers for
ft_,cl_,at_,cf_prefixes - Registers go-to-definition providers for
Ctrl+Clicknavigation
Autocompletion triggers
| You type | Extension suggests |
|---|---|
ft_ + characters | Feature types matching the prefix |
ft_xxx. | All attributes of ft_xxx (including inherited) |
cl_ + characters | Code lists matching the prefix |
cl_xxx. | Columns of cl_xxx |
cf_ + characters | Filtered code lists matching the prefix |
at_ + characters | All attributes across the entire model |
Demo (5 min):
- Open the provided sample SAMO project (with
model.xmlfiles) - In any text file, type
ft_— show autocomplete popup with feature types - Type
ft_waterPipe.— show attribute suggestions including inherited ones Ctrl+Clickon aft_identifier to jump tomodel.xml- Open
rdt.json— show validation (add an unknown property to trigger red squiggles)
Using the sample project provided by the organizer:
- Autocomplete: Open any file and type
ft_— browse the available feature types. Pick one and note the attribute count shown in the suggestion detail - Dot notation: Type
ft_waterPipe.(or a feature type from your model) — explore the attribute list. Can you spot which attributes are inherited from a parent? - Go-to-definition:
Ctrl+Clickon three different identifiers (ft_,cl_,at_). UseAlt+Left Arrowto navigate back - Validation: Open the
rdt.jsonfile, add a property"foo": "bar", and observe the validation error. Then delete it
Tip: If IntelliSense feels stale after switching branches, reload the window (Ctrl+Shift+P → Developer: Reload Window).
3B. Project Scaffolding — SAMO Init (10 min)
Learning objectives
- Use the SAMO Init wizard to scaffold a complete SAMO project
- Understand the 13 template placeholders and resulting project structure
- Understand how
rdt.jsonis auto-generated per environment
The SAMO Init wizard
Launch: Click Create SAMO Init Project in the RDT Activity Bar.
The wizard collects parameters in three sections:
Project Identity:
| Field | Example |
|---|---|
| Primary Color | #1976D2 |
| Project ID | workshop-jan |
| Security App Method | WORKSHOP_JAN |
| Server Name | samo-dev.local |
Service Versions:
| Field | Example |
|---|---|
| LIDS Version / Port | 3.2.1 / 8080 |
| Gateway Version / Port | 2.1.0 / 8081 |
| Dynamic App Version | 1.5.0 |
Database Configuration:
| Field | Example |
|---|---|
| DB Provider / Driver | postgresql |
| DB URL | jdbc:postgresql://localhost:5432/samo |
| DB User / Password | samo_admin / ******** |
After submission, the wizard:
- Clones two GitLab template repos (
samo-init-configuration,samo-init-project) - Replaces 13 template placeholders in files and directory names
- Copies results into your workspace
- Auto-generates
rdt.jsonfor each environment directory
Resulting project structure:
<project-id>/
├── configuration/
│ └── packages/ # SAMO configuration packages
└── project/
├── ... # Model and project files
└── environments/
└── <env>/
├── rdt.json # Auto-generated deploy config
├── *.properties # Environment property files
└── ...
Demo (5 min): Walk through the SAMO Init form live, explain each section, submit, and show the resulting project structure. Highlight the auto-generated rdt.json.
Each participant scaffolds their own project:
- Click Create SAMO Init Project in the RDT Activity Bar
- Fill in the form using these workshop values:
- Project ID:
workshop-<your-name>(e.g.,workshop-jan) - Primary Color: choose any color you like
- Other fields: use the defaults provided by the instructor
- Project ID:
- Submit and wait for the wizard to complete
- Browse the generated project: open
configuration/packages/,project/, and therdt.jsonfile in the environment directory
3C. Kubernetes Deployment & Sync (13 min)
Learning objectives
- Deploy the scaffolded project to K8s with one click
- Understand the deployment pipeline (Helm install, ConfigMaps, config copy, restarts)
- Use Kubernetes Sync to push incremental changes
Deployment pipeline
Click Deploy to Kubernetes in the RDT Activity Bar (or Ctrl+Shift+P → SAMO RDT: Deploy to Kubernetes).
The 10-step pipeline:
Each participant gets a personal namespace derived from their OS username (e.g., rdt-jan).
Kubernetes Sync
After deployment succeeds, the sync status bar appears in the bottom-right of VS Code:
| Status bar state | Meaning |
|---|---|
Sync: <namespace> (gray) | Idle — no pending changes |
Sync (N) (yellow) | N files changed — click to choose sync action |
Syncing... (spinning) | Sync in progress |
Sync failed (red) | Error — click for details |
Sync actions (click the status bar when changes are pending):
- Sync all — push metadata + update ConfigMaps
- Sync metadata only — copy
configuration/packages/to pod, restart - Sync ConfigMaps only — update only changed ConfigMaps, restart affected services
- Show changed files — list what changed
- Ignore all changes — clear pending without syncing
Demo (7 min):
- Click Deploy to Kubernetes, walk through subproject/environment selection
- Show the Output panel → "SAMO Kubernetes" channel as deployment runs
- After deploy: point out the sync status bar
- Edit a file in
configuration/packages/— show status bar turning yellow - Click status bar → Sync metadata only — show incremental sync
- Edit a property file — show Sync ConfigMaps only and explain the targeted restart map
- Click Deploy to Kubernetes in the RDT panel
- Select your subproject and environment
- Watch the Output panel as deployment progresses (should take 2-3 minutes)
- After deployment succeeds, verify the sync status bar appears (gray, idle)
- Open any file under
configuration/packages/, make a small change (add a comment), and save - Observe the status bar turn yellow with
Sync (1) - Click the status bar → Sync metadata only
- Watch the status bar: yellow → spinning → gray (idle)
Troubleshooting:
| Issue | Fix |
|---|---|
| Helm timeout | Increase timeout: Settings → samo-rdt.kubeDeploy.helmTimeout → 10m |
| OCI pull failure | Re-run helm registry login docker.asseco-ce.com |
| Pod not starting | Check Output panel for errors. Common: license file path wrong |
4. SAMO MCP Server
Duration: 35 minutes total
4A. MCP Concepts & Tool Categories (10 min)
Learning objectives
- Understand what MCP (Model Context Protocol) is
- Know the 7 tool categories and 30+ tools available
What is MCP?
Model Context Protocol (MCP) is a standard for connecting AI models to external tools. The SAMO MCP Server runs as a local process (stdio transport) — your AI client launches it and communicates via standard input/output.
Tool categories
The MCP server provides 30+ tools organized in 7 categories:
| Category | Tools | What gets indexed |
|---|---|---|
| SAMO Project | check_gitlab_token, create_samo_project | GitLab templates |
| Documentation Search | search_docs, grep_docs, glob_docs, read_doc, list_sections | SAMO Lighthouse Cookbook & Implementation Guide |
| Scripting API | list_scripting_api_namespaces, search_scripting_api, get_scripting_api_builder, get_scripting_api_examples | LIDS Scripting API — namespaces, builders, methods, parameters |
| DynApp Module Catalog | list_modules, search_modules, get_module_schema, search_module_properties | All DynApp UI components with JSON schemas |
| DynApp Configuration | list_dynapp_configuration_schemas, search_dynapp_configuration_schemas, get_dynapp_configuration_schema, search_dynapp_configuration_schema_properties | DynApp schemas — application, app-part, app-module, page-modules, entity-metadata, intents |
| Business Server | list_business_server_schemas, search_business_server_schemas, get_business_server_schema, search_business_server_schema_properties | Business server schemas — entities, services, triggers, workflows, actions, conditions |
| Server Management | check_env, health_check, diagnose_deployment, reload_config, sync_database, reindex_elasticsearch | Live SAMO deployment — health, diagnostics, config reload, DB sync, ES reindex |
Environment variables
| Variable | Required | Description |
|---|---|---|
SAMO_GITLAB_TOKEN | Yes | GitLab token for project scaffolding |
DOCS_URL | No | Override docs source URL (default: public endpoint) |
BUSINESS_SERVER_VERSION | No | Override business-server schema version |
DYNAPP_VERSION | No | Override Dynamic App version |
Presentation (10 min): Walk through the 7 categories on screen. Explain that the MCP server builds in-memory indexes at startup (first call may take 5-10 seconds). Show the supported clients list: Claude Code, OpenAI Codex, VS Code Copilot, Claude Desktop.
4B. Hands-On with MCP Tools (25 min)
Learning objectives
- Interact with MCP tools through AI agent conversations
- Learn prompting patterns that trigger specific tool usage
Demo (10 min): In your AI coding agent (with SAMO Pilot installed), demonstrate each tool category:
- Docs search: "Search the SAMO docs for how to configure entity coloring in DynApp" — observe
search_docscall - Scripting API: "What methods are available in api.business()?" — observe
list_scripting_api_namespacesandget_scripting_api_builder - Module catalog: "What properties does the SAMO Browse module have?" — observe
search_modulesandget_module_schema - Business server: "Show me the schema for a business server entity configuration" — observe
get_business_server_schema - Server management: "Check if my SAMO deployment is healthy" — observe
health_checkcall
In your AI agent, ask these questions and observe which MCP tools get called:
- "How do I configure a trigger in the business server that runs when an entity is created?"
- Follow up: "Show me an example of this in the SAMO cookbook"
- Observe the
search_docsandgrep_docstool calls in the output
Goal: The AI can search the full SAMO documentation corpus on your behalf.
- Ask: "List all available namespaces in the LIDS Scripting API"
- Ask: "Show me the api.http() builder — what methods does it have?"
- Ask: "Give me an example of making an HTTP GET request using the scripting API"
Goal: The AI can look up the full Scripting API (3,300+ lines of type definitions) on demand.
- Ask: "What are the available DynApp configuration schemas?"
- Ask: "Show me the schema for the application part configuration"
- Ask: "What properties can I use in the entity-metadata configuration?"
Goal: Understand DynApp and Business Server schema tools as live reference lookups.
| Issue | Fix |
|---|---|
| MCP server fails to start | Verify @samo scope: npm config get @samo:registry |
| Tool call times out | First call builds the index — wait 5-10 seconds, retry |
| Agent doesn't call MCP tools | Rephrase with SAMO-specific keywords (e.g., "DynApp", "business server", "LIDS") |
5. SAMO Pilot — AI-Assisted Development
Duration: 45 minutes total
5A. Skills & Agents Overview (10 min)
Learning objectives
- Understand SAMO Pilot's auto-triggered skills and when they activate
- Know the 3 sub-agents and their roles
- Understand that all skills and agents work identically in Claude Code and Codex
Plugin structure
samo-pilot/
├── CLAUDE.md / AGENTS.md # Platform knowledge (loaded every turn)
├── .mcp.json # MCP server config (auto-launches)
├── agents/
│ ├── samo-planner.md # Architecture planning
│ ├── samo-reviewer.md # Cross-layer validation
│ └── samo-docs-researcher.md # Docs research
├── skills/
│ ├── lids-modeler/ # XML metadata modeling
│ ├── business-logic/ # Business server patterns
│ ├── dynamic-app/ # DynApp frontend config
│ ├── module-catalog/ # DynApp module lookup
│ ├── samo-navigation/ # App parts, pages, menus
│ └── samo-project-planner/ # Project planning
└── .vscode/
└── samo.d.ts # TypeScript defs for SAMO JS API
Auto-triggered skills
These skills activate automatically when you mention specific keywords — no explicit invocation needed:
| Skill | Trigger keywords |
|---|---|
| lids-modeler | XML, metadata, model.xml, featuretype, attribute, codelist, symbology |
| business-logic | trigger, workflow, action, validation, script, JS API, business-service |
| dynamic-app | view, form, list, dashboard, UI, frontend, dynapp, navigation |
| module-catalog | module schema, samo-browse, samo-dashboard, widget properties |
| samo-navigation | application part, page, menu entry, dashboard page, part.json |
| samo-project-planner | new project, create project, plan, scaffold |
Sub-agents
| Agent | Model | When used |
|---|---|---|
| samo-planner | Sonnet | Breaks requirements into FeatureTypes, plans all 3 SAMO layers |
| samo-reviewer | Sonnet | Reviews configs for cross-layer consistency (IDs, references, naming) |
| samo-docs-researcher | Default | Searches documentation via MCP to answer technical questions |
Presentation (10 min): Walk through the plugin structure, the auto-triggered skills table, and the 3 agents. Explain how skills activate based on keyword matching — no explicit invocation needed.
5B. Create a FeatureType with AI (20 min)
Learning objectives
- Use natural language prompts to generate XML, business JSON, and DynApp JSON
- Understand the files generated across all three SAMO layers
- See how auto-triggered skills guide the AI to produce correct SAMO configs
Demo (8 min):
- In your AI agent (in the scaffolded workshop project), prompt: "Create a new FeatureType called WaterPipe with attributes: diameter (double), material (string), length (double), installationDate (date), and a geometry of type linestring"
- Walk through what gets generated:
- XML FeatureType definition in
model.xml(with attributes, geometry, naming conventions) - Business server entity JSON configuration
- DynApp entity-metadata JSON configuration
- XML FeatureType definition in
- Show each generated file and highlight cross-layer consistency (IDs match across files)
- Point out how the
lids-modelerskill auto-activated and enforced correct XML naming conventions (ft_ prefix, at_ prefix, numeric IDs)
Build a simple park management domain:
- Create the entity: Prompt your AI agent:
"Create a new FeatureType called ParkBench with these attributes: location (string), material (string), condition (string), installationDate (date). Include a point geometry."
- Watch the
lids-modelerskill activate automatically - The AI should generate files across all 3 layers
- Watch the
- Review the generated files:
- Find the XML entry in
model.xml— check the attribute IDs and types - Find the business server entity JSON — check the entity definition
- Find the DynApp entity-metadata JSON — check the UI configuration
- Find the XML entry in
- Extend with a codelist: Ask: "Add a codelist cl_benchMaterial with values: wood, metal, concrete, composite. Then use it as the type for the material attribute on ParkBench."
- Observe the
lids-modelerskill activating again - Check the generated XML
- Observe the
- Add an attribute: Ask: "Add a manufacturer attribute of type string to ParkBench"
- Verify the new attribute appears in all 3 layers
Checkpoint: Open the generated files side-by-side. Do the IDs match across layers? Are naming conventions correct?
5C. Business Logic & DynApp with AI (15 min)
Learning objectives
- Use auto-triggered skills to configure business server triggers and actions
- Use auto-triggered skills to create DynApp navigation (app parts, pages)
- Use the
samo-revieweragent to validate cross-layer consistency
Demo (5 min):
- Prompt: "Create a trigger that validates the condition attribute of ParkBench is not empty when saving" — observe
business-logicskill - Prompt: "Create a DynApp page that shows a browse list of all park benches with columns for location, material, and condition" — observe
dynamic-appandsamo-navigationskills - Prompt: "Review the ParkBench configuration for cross-layer consistency" — observe
samo-revieweragent
Continue building the park management domain:
-
Plan the system: Prompt: "Plan a park bench maintenance tracking system with ParkBench and MaintenanceRecord entities"
- Observe the
samo-planneragent producing a 3-layer implementation plan - Review the plan before proceeding
- Observe the
-
Add a validation trigger: Prompt: "Add a validation trigger on ParkBench that ensures installation date is not in the future"
- Check the generated business server trigger JSON
-
Create DynApp navigation: Prompt: "Create a DynApp application part called 'Park Assets' with a page showing a browse list of park benches"
- Check the generated
application.json,part.json, and page configuration
- Check the generated
-
Validate everything: Prompt: "Review all the ParkBench configuration we've created for consistency issues"
- Observe the
samo-revieweragent checking cross-layer references - Fix any issues it identifies
- Observe the
-
Sync to K8s: If time permits, use the Kubernetes Sync status bar to push your changes to the running pod
- Use exact trigger keywords from the skills table (e.g., "trigger" not "hook", "DynApp" not "frontend")
- The AI generates a best-effort config — always review generated files before deploying
- The
samo-revieweragent is your safety net — use it after generating configs - If the AI places files in wrong directories, specify the expected path explicitly
6. Capstone Exercise & Wrap-Up
Duration: 15 minutes (10 min exercise, 5 min wrap-up)
Capstone challenge
Chain all three tools together in a realistic end-to-end workflow:
Starting from the project you built in Sections 3-5:
- Plan with AI: Prompt: "Add a Tree entity to the park management system with species (string), height (double), and planting date (date) attributes. Include a point geometry."
- Generate with AI: Let the AI generate all 3 layers (XML, business JSON, DynApp JSON) — review the output
- Verify with IntelliSense: In VS Code, type
ft_tree.— confirm attribute suggestions appear (the Trie index updates live whenmodel.xmlchanges) - Look up a module: Ask your agent: "What DynApp module should I use to show a detail view of a tree?" — observe the MCP module catalog lookup
- Sync to K8s: Use the sync status bar to push your changes
You have now used all three tools in a single workflow: SAMO Pilot (AI generation) → VS Code Extension (IntelliSense verification + K8s sync) → MCP Server (schema lookup).
Wrap-up
Key takeaways:
- RDT VS Code Extension eliminates manual work: scaffolding, deployment, file sync, and IntelliSense
- SAMO MCP Server gives AI tools access to the full SAMO documentation, Scripting API, and schema corpus
- SAMO Pilot orchestrates AI (Claude Code or Codex) across all 3 SAMO layers with auto-triggered skills and specialized agents
- The three tools compose together — scaffold with Init, develop with IntelliSense + AI, deploy and sync with one click
Resources
| Resource | Link |
|---|---|
| RDT Overview | Implementation Guide → RDT |
| Installation Guide | Installation → RDT |
| IntelliSense | VS Code Extension → IntelliSense |
| Kubernetes Deployment | VS Code Extension → K8s Deploy |
| SAMO Pilot | SAMO Pilot → Overview |
| MCP Server | SAMO Pilot → MCP Server |
| SAMO Cookbook | Tutorials → Cookbook |
Support
For access tokens, K8s cluster access, or tool issues, contact the RDT team at simon.misak@asseco-ce.com.