DevStudio
Purpose-built IDE for authoring Sophon skills, agents, plugins, and apps — Monaco editor, manifest designer, testing, packaging, AI assistant.
Sophon DevStudio is an Electron-based IDE for developers extending Sophon. Four project types — Skill, Agent, Plugin, App — each scaffolded from a template, each with appropriate editors, validators, local test runners, and packaging tools. An AI assistant is built in for when you'd rather describe what you want than write it.
If you're going to ship a skill to the Marketplace or add a custom channel adapter to your deployment, DevStudio is where you'll spend time.
Who it's for
- Skill developers — Python or C# skills for the Marketplace
- Agent designers — custom SOUL.md + tool allowlist + model config
- Plugin authors — deep .NET/gRPC extensions: channels, model providers, vault backends, document extractors, embedding providers
- App builders — React mini-apps that host inside the Dashboard
Installation
Prerequisites
- Node.js 20+
- .NET 10 SDK (only if you're authoring plugins)
- Git (for the bundled templates)
Installing from release
Download DevStudio-<version>.dmg (macOS) / .exe (Windows) / .AppImage (Linux) from https://releases.sophon.dev/devstudio. Install like any desktop app.
Running from source
cd src/Sophon.DevStudio
npm install
npm run devLaunches Vite dev server + Electron window. Hot reload on renderer changes.
Creating a project
File → New Project (or Ctrl+Shift+N). Pick a type:
Skill
A sandboxed capability exposing one or more tools.
Files scaffolded:
manifest.json— name, version, tools, credentials, sandbox config, permissionsmain.pyormain.cs— entrypoint with one async function per toolSKILL.md— natural-language guide the agent readsREADME.md.gitignore
Template picks: Python async (recommended for most skills), C# .NET 10 (for performance-sensitive work).
Agent
Custom agent personality + config.
Files scaffolded:
agent.json— model preferences, tool allowlist, routingSOUL.md— personalityBOOT.md— first-run initHEARTBEAT.md— heartbeat checklistTOOLS.md— tool usage guideAGENTS.md— multi-agent routing rules
Plugin
Out-of-process .NET gRPC plugin.
Project interfaces (pick one or more):
| Interface | Extends |
|---|---|
IChannelAdapter | New messaging channel |
IModelProvider | New LLM provider |
IVaultBackend | New credential vault |
IDocumentExtractor | New document format |
IEmbeddingProvider | New embedding backend |
Files scaffolded:
Plugin.csproj— .NET 10 projectPluginHost.cs— entry point<Interface>.cs— stub implementationmanifest.json— plugin metadataREADME.md
App
React mini-app that runs inside the Dashboard.
Files scaffolded:
package.jsonwith@sophon/app-sdkinstalledvite.config.tssrc/App.tsxmanifest.json— app metadata + which Dashboard slots it registers intoREADME.md
The IDE surfaces
Monaco editor
Multi-file editor with syntax highlighting, IntelliSense (TypeScript), Python type hints, find/replace, multi-cursor. Standard VS Code-like behavior.
Keyboard shortcuts follow VS Code:
Ctrl+P— quick file openCtrl+Shift+F— search across projectCtrl+D— add next match to selectionAlt+Click— multi-cursor
Manifest designer
Instead of editing manifest.json by hand, the designer is a form: add / remove / rename tools, edit parameter schemas, pick risk levels, declare credential requirements. The form writes JSON; live preview shows the current manifest with validation markers.
Schema-aware — if you're editing a parameters field for a tool, you get a JSON Schema form instead of raw JSON.
SOUL editor
Markdown editor with live preview. Split view: edit on the left, rendered SOUL.md on the right. Template snippets for common SOUL sections (tone, values, behavior rules).
Local test runner
Run the skill/plugin locally without a Gateway:
- Validate manifest — schema check, risk-level sanity, credential declaration
- Dry-run a tool — paste sample params, see the output
- Run sandbox — actually spin up the sandbox container (Docker + gVisor) and invoke the tool end-to-end
- Gateway integration — point at a running Gateway, install the skill temporarily, invoke through the agent, stream the response
Package builder
Produces signed archives ready to upload:
.sophon-skill— zipped skill (manifest + code + SKILL.md).sophon-agent— zipped agent folder.sophon-plugin— zipped plugin DLL + manifest + dependencies.sophon-app— zipped built React bundle
Build pipeline runs:
- Security scan — static analysis for hard-coded secrets, dangerous patterns
- Manifest validation — schema + cross-reference check
- Bundle — gzip + SHA-256 hash
- Sign — if you have a signing key configured
Output goes to ./dist/.
AI assistant
Right sidebar chat that understands your project. Uses a configurable LLM provider (default: your Sophon Gateway's configured model).
Useful for:
- "Write a tool that converts Markdown to PDF."
- "This manifest fails validation — what's wrong?"
- "Why does my skill get a 403 from the GitHub API?"
- "Rewrite this SOUL.md to sound more formal."
The assistant has read access to your project files; you can also paste error messages and it'll reason about them.
Embedded terminal
xterm.js-based terminal pinned to the project root. Run pytest, dotnet test, npm run build, etc. without leaving DevStudio.
Wizard mode
For first-time users, New Project → Use Wizard walks step-by-step through:
- Project name + author
- Type
- Primary feature (for skills: "what should this skill do?")
- AI assistant generates a starting implementation
- You review and adjust
Wizard mode is opt-in; experienced devs start from templates directly.
Testing against a Gateway
Settings → Gateway Integration — paste your Gateway URL and an auth token. DevStudio installs the skill/agent into a dev namespace that doesn't conflict with production.
From the Gateway integration panel:
- Install the skill for local testing
- Enable it on a specific agent
- Open a chat session and invoke a tool
- See live tool-call logs in DevStudio
Uninstall removes everything from the dev namespace.
Project templates
| Template | For |
|---|---|
| Python async skill (minimal) | Starting point — one tool, async def, docstring |
| Python async skill (with credentials) | Shows how to declare and use brokered credentials |
| C# skill (.NET 10) | Performance-sensitive or typed skills |
| Agent (minimal) | Just SOUL.md + agent.json |
| Agent (with routing) | Multi-agent routing example |
| Plugin: channel adapter | Stub IChannelAdapter — swap in your protocol |
| Plugin: model provider | Stub IModelProvider |
| Plugin: vault backend | Stub IVaultBackend |
| App: Dashboard widget | React mini-app registered in the Home slot |
| App: full-page | React mini-app with a top-level nav entry |
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Ctrl+S / ⌘S | Save current file |
Ctrl+Shift+S | Save all |
Ctrl+Shift+N | New project |
Ctrl+N | New file |
Ctrl+B | Build package |
Ctrl+T | Run tests |
Ctrl+K Ctrl+T | Toggle terminal |
Ctrl+K Ctrl+V | Toggle manifest designer ↔ raw JSON |
F5 | Run / install in dev Gateway |
Uploading to the Marketplace
Once a skill is ready:
- Build package — Ctrl+B
- Sign — with your Marketplace publisher key (generate under Marketplace publisher portal)
- Upload — File → Upload to Marketplace or drag
.sophon-skillinto the Marketplace web app
Upload triggers marketplace-side security review (automated static analysis + sandbox test execution; optional manual review for paid skills).
Where to go next
- Skills — the end-user view of what you're building
- Skill Manifest Reference — full schema
docs/DEVSTUDIO.mdin the Sophon repo — developer's guide with more internals