Quick Start (60 Seconds)
Get a working Conductor project instantly:- Unified CLI (Recommended)
- Direct Command
The interactive wizard handles everything—project creation, package manager detection, and dependency installation:The wizard will:Open http://localhost:8787 🎉
- Ask you to select Conductor as the project type
- Prompt for your project name
- Detect your package manager (npm, pnpm, yarn, bun)
- Create the project and install dependencies automatically
Prerequisites
You need:- Node.js 18+ (nodejs.org)
- A Cloudflare account (free tier works - only needed for deployment)
Understanding Your Project
Theinit command creates a complete, ready-to-run project:
Explore the Examples
Your project includes working examples for all major features.Try the Example Pages
Start the dev server:Dev Container Users: Add Local Development: Use the standard command:
--ip 0.0.0.0 to bind to all interfaces:- http://localhost:8787/ - Homepage
- http://localhost:8787/examples - Examples index
- http://localhost:8787/dashboard - Dashboard with data
- http://localhost:8787/login - Login form
- http://localhost:8787/blog/getting-started-with-conductor - Dynamic blog post
Run the Tests
- Ensemble execution
- Agent testing
- Error handling
Your First Page
Let’s create a simple page using an ensemble with an HTTP trigger. Step 1: Create the ensemble file Createensembles/hello.yaml:
Add Dynamic Data
Make your page dynamic by adding an agent that fetches data. Createensembles/hello-dynamic.yaml:
Your First Workflow
The template includesensembles/hello-world.yaml. Let’s explore it:
hello agent (from agents/examples/hello/) and returns its output.
Create a New Ensemble
Createensembles/my-workflow.yaml:
Execute from a Page
Create an ensemble that renders the workflow result as HTML: Createensembles/workflow-demo.yaml:
Project Configuration
wrangler.toml
Theinit command creates a properly configured wrangler.toml:
dist/index.mjs, not src/index.ts.
conductor.config.ts
This file controls project settings, observability, and API execution controls. UsedefineConfig() for full TypeScript autocomplete:
trigger: config using public: true/false. See the examples above.
Deploy to Cloudflare
Step 1: Login to Cloudflare
Step 2: Build
Step 3: Deploy
Development Workflow
Troubleshooting
Tests failing with 'waitUntil is not a function'
Tests failing with 'waitUntil is not a function'
Problem: Template tests fail with
TypeError: this.ctx.waitUntil is not a functionFix: The ExecutionContext mock in tests/basic.test.ts is already fixed in v1.8.0. If you see this error, update the mock:Wrangler hangs or requests timeout
Wrangler hangs or requests timeout
Problem: This properly binds network access for the Workers runtime.
wrangler dev starts but all requests hang indefinitelyFix: Use the --local-protocol http flag:New ensembles/agents not showing up
New ensembles/agents not showing up
Problem: Created a new ensemble or agent but it returns 404Fix: Trigger a rebuild. Ensembles and agents are discovered at build time:Or with wrangler running, the file watcher should auto-rebuild.
Dynamic routes return 404
Dynamic routes return 404
Problem: Routes with parameters like Not nested in config:
/blog/:slug are not workingStatus: Fixed in v1.8.0! Dynamic route parameters now work correctly.Make sure your ensemble has the trigger configured properly:Build errors after updating
Build errors after updating
Problem: Build fails after updating wrangler.toml or package.jsonFix: Clean rebuild:
Module 'virtual:conductor-ensembles' not found
Module 'virtual:conductor-ensembles' not found
Problem: Build error about virtual moduleFix: This is a Vite virtual module created at build time. Make sure:
ensembles/directory exists- Vite config is correct (should be in template)
- Clean rebuild:
rm -rf dist && pnpm run build
What’s Included in the Template
Theinit command creates:
✅ Working Examples
- 10+ example ensembles showing static, dynamic, forms, and SSR patterns
- Multiple workflow ensembles demonstrating different trigger types
- 1 hello agent showing custom code operations
- Multiple doc agents for various operation types
✅ Development Tools
- Vitest for testing with working examples
- TypeScript configured correctly
- Vite for fast builds with HMR
- ESLint & Prettier for code quality
✅ Production Ready
- Authentication configured in conductor.config.ts
- Caching rules for optimal performance
- Error handling with custom 404 page
- Wrangler config ready for deployment
✅ Documentation
- README.md with project overview
- Inline comments explaining key concepts
- Example code for common patterns
Next Steps
Your First Website
Learn how to build web applications
Your First Agent
Create custom reusable agents
Your First Ensemble
Build complex workflows
Operations Reference
Explore all available operations
Alternative: Manual Setup (Advanced)
If you need to integrate Conductor into an existing Cloudflare Workers project:Show manual setup instructions
Show manual setup instructions
Step 1: Create Worker
Step 2: Install Conductor
Step 3: Update wrangler.toml
Step 4: Add Vite Config
Createvite.config.ts:Step 5: Create Directories
Step 6: Update package.json
init command is strongly recommended.Tips & Best Practices
- Always use —local-protocol http with
wrangler devto avoid network binding issues - Rebuild after adding files - Ensembles and agents are discovered at build time
- Start with examples - Modify the included hello examples before creating new ones
- Test locally first -
pnpm testruns your test suite instantly - Check logs -
npx wrangler tailshows real-time production logs - Use git - The template includes .gitignore configured correctly
- Read the generated README.md - It includes project-specific guidance

