Documentation
Everything you need to get started with ooda.
Also available as plain markdown for LLMs.
Getting started
ooda gives teams cloud dev environments with AI coding agents. One command gets you a full sandboxed Linux VM ready to build in — no local setup required.
Prerequisites
- Node.js 20+
Quick start
Run the CLI and follow the prompts:
$ npx ooda-cli The first time you run it, you'll be asked to sign in with your email. If you're part of an organization, you'll be connected to your team's shared environment automatically. Select a project or create a new one — ooda handles the rest.
ooda.json
ooda.json is the project configuration file. Place it in your project root to declare tools, set the AI model, and configure other options.
Example
{
"name": "My Cool App",
"description": "A React dashboard for analytics",
"tools": {
"agentation": {}
},
"claude": {
"model": "claude-sonnet-4-6"
}
} Fields
name
Human-readable project name (e.g. "My Cool App"). Shown in the dashboard instead of the project slug when set.
description
Short description of what the project is. Shown in the dashboard alongside the name.
tools
An object where each key is a tool name and the value is its configuration (usually an empty object {}). Tools are installed and configured when you run /install-tools or automatically when starting a project.
claude.model
The AI model to use (defaults to claude-sonnet-4-6).
Tools
ooda has a tool system that lets you add MCP servers and other integrations to your project. Tools are declared in ooda.json and installed automatically.
How it works
When you declare a tool in ooda.json and run /install-tools (or start a project, which runs it automatically), ooda:
- Looks up the tool in its built-in registry
- Checks that your project meets the tool's requirements (framework, dependencies)
- Installs the npm package
- Registers the MCP server with the AI agent
- Follows the tool's setup instructions (adding components, modifying config files)
- Runs health checks to verify everything works
Built-in tools
Visual element selection for React apps. Adds a floating toolbar to your dev environment that lets you click on any element to select it, then ask the AI to modify it. Requires a React project.
Built by Benji Taylor, Dennis Jin & Alex Vanderzon
More tools coming soon.
Declaring tools
Add a tool to your project by including it in the tools object:
{
"tools": {
"agentation": {}
}
} Building a tool
Third-party npm packages can self-describe as ooda tools by shipping an ooda-tool.json file in their package root. When a user declares your package name in their ooda.json, the installer discovers and uses your recipe automatically.
ooda-tool.json spec
The file follows the same shape as the built-in ToolRecipe type. All fields except description are optional:
{
"description": "What your tool does",
"requirements": {
"frameworks": ["react", "next"],
"dependencies": ["some-package"]
},
"install": {
"ecosystem": "npm",
"package": "your-package-name",
"version": "^1.0.0"
},
"mcp": {
"transport": "stdio",
"command": "node",
"args": ["./node_modules/your-package/mcp-server.js"]
},
"setupInstructions": "Markdown instructions for the AI agent...",
"healthCheck": {
"command": "ls node_modules/your-package",
"description": "Verify the package is installed"
}
} Fields
description (required)
Short description of what the tool does.
requirements
Framework and dependency constraints. If the project doesn't meet these, the installer warns the user and skips the tool.
install
Package installation details. The ecosystem is npm, gem, or pip.
mcp
MCP server configuration. Use stdio transport for local servers or http for remote ones.
setupInstructions
Markdown instructions that the AI agent follows after installing. Use this for code changes like adding imports, inserting components, or modifying config files.
healthCheck
A shell command and description to verify the tool is working after setup.
How discovery works
When a tool name isn't in ooda's built-in registry, the installer checks node_modules/<package>/ooda-tool.json. If the file exists and is valid, it's used as the recipe. The name field is optional — it defaults to the package name.
Publishing
Publish your project to a permanent shareable URL with a single command. Just tell the AI to publish, or use the /publish command.
How it works
- The AI builds your project with the correct base path for the publish URL
- The build output is collected and uploaded
- Your site is available at a shareable
*.ooda.runURL
Every publish creates a new version. Previous versions are kept and accessible. Publishing is free with no limits on the number of projects.
Supported frameworks
Any framework that produces static output works — Vite, Astro, Next.js (static export), and more. The publish script automatically detects your build output directory (dist, build, out, etc.).
CLI commands
$ npx ooda-cli Launch the interactive project manager. Lists your existing projects and lets you create new ones, deploy local folders, or connect to running projects.
$ ooda-cli connect <name> Connect directly to a running project by name. Opens an AI coding session in your terminal. Useful for opening additional sessions to the same project.
$ ooda-cli list List all your projects and their current status.