QuickStart
This guide will walk you through creating your first Codebolt agent in under 10 minutes. For detailed explanations, see the complete documentation.
Prerequisites
- Node.js 14+ installed
- Codebolt CLI installed:
npm install -g codebolt-cli - Codebolt account (sign up at portal.codebolt.ai)
- Basic understanding of JavaScript/TypeScript
Step 1: Login and Create Agent
Go to the main directory of your project and run the following commands:
# Login to Codebolt
npx codebolt-cli login
# Create a new agent
npx codebolt-cli createagent --name "Hello World Agent"
This will create a new agent directory in the .codeboltAgents directory and start an interactive setup process.
# Navigate to agent directory
cd .codeboltAgents/hello-world-agent
Step 2: Configure Your Agent
During the interactive setup, you'll be prompted for:
Basic Information
- Agent Name: "Hello World Agent"
- Description: "A simple greeting agent for learning Codebolt"
- Tags: "hello, demo, learning"
- Unique ID: "hello-world-agent" (auto-generated)
Agent Routing Configuration
- Works on blank code: Yes
- Works on existing code: Yes
- Supported languages: JavaScript, TypeScript
- Supported frameworks: Node.js, React
SDLC Steps Managed
Choose what development steps your agent handles:
- Code Generation: "Generate a greeting function", "Create a hello world component"
- Testing: "Test the greeting functionality"
Actions
Define shortcuts users can invoke with \ commands:
- Action Name: "greet"
- Description: "Generate a personalized greeting"
- Action Prompt: "Create a greeting for the user"
Step 3: Understand Agent Structure
Your agent will have this structure:
.codeboltAgents/hello-world-agent/
├── codeboltagent.yaml # Agent configuration
├── agent.yaml # System prompts and behavior
├── task.yaml # Task execution templates
├── index.js # Main agent logic
├── package.json # Dependencies
└── webpack.config.js # Build configuration
Step 4: Customize Agent Behavior
Edit System Prompt (agent.yaml)
system_prompt: |
You are a friendly greeting agent. Your job is to:
1. Generate personalized greetings
2. Help users learn about Codebolt
3. Provide helpful responses about agent development
Always be polite, helpful, and encouraging.
tools_instruction: |
Use the available tools to help users with their requests.
When greeting, make it personal and warm.
Update Agent Logic (index.js)
The basic structure is already provided, but you can customize it:
const codebolt = require('@codebolt/codeboltjs').default;
const { UserMessage, SystemPrompt, TaskInstruction, Agent } = require("@codebolt/codeboltjs/utils");
codebolt.chat.onActionMessage().on("userMessage", async (req, response) => {
try {
// Create user message from request
const userMessage = new UserMessage(req.message);
// Load system prompt from agent.yaml
const systemPrompt = new SystemPrompt("./agent.yaml", "system_prompt");
// Get available tools
const agentTools = await codebolt.tools.listToolsFromToolBoxes(["codebolt"]);
// Create task instruction
const task = new TaskInstruction(agentTools, userMessage, "./task.yaml", "main_task");
// Initialize agent
const agent = new Agent(agentTools, systemPrompt);
// Run the agent
const { message, success, error } = await agent.run(task);
// Send response
response(message ? message : error);
} catch (error) {
console.log("Agent error:", error);
response("Sorry, I encountered an error processing your request.");
}
});
Step 5: Test Your Agent Locally
# Install dependencies
npm install
# Start the agent locally
npx codebolt-cli startagent
# The agent will start on localhost with socket connection
# You should see: "Agent process started..."
Step 6: Test in Codebolt Application
-
Open Codebolt Application and navigate to your project
-
Enable the Agent: Go to Agent settings and enable your local agent
-
Test Basic Functionality:
User: Hello, can you greet me?
Agent: Hello! Welcome to Codebolt. I'm your friendly greeting agent, ready to help you learn and build amazing things! -
Test Action Commands:
User: \greet
Agent: [Executes the greet action you defined]
Step 7: Publish Your Agent
Once your agent works locally, publish it to the registry:
# Publish to registry
npx codebolt-cli publishagent
# Follow the prompts:
# - GitHub URL (optional)
# - Category: "Utility"
# - Make it public: Yes
Step 8: Use Your Published Agent
# Clone your published agent in another project
npx codebolt-cli cloneagent hello-world-agent
# Or others can clone it using your unique ID
npx codebolt-cli cloneagent hello-world-agent ./my-project
Quick Commands Reference
# Agent Management
npx codebolt-cli createagent # Create new agent
npx codebolt-cli startagent [dir] # Start agent locally
npx codebolt-cli publishagent [dir] # Publish to registry
npx codebolt-cli pullagent [dir] # Pull latest config
# Registry Operations
npx codebolt-cli listagents # List your agents
npx codebolt-cli cloneagent <id> [dir] # Clone agent
Example Agent Configurations
Simple Code Generator Agent
# codeboltagent.yaml
title: "Code Generator Agent"
description: "Generates boilerplate code for common patterns"
metadata:
sdlc_steps_managed:
- name: codegeneration
example_instructions:
- "Generate a React component"
- "Create an API endpoint"
- "Build a database model"
Testing Assistant Agent
# codeboltagent.yaml
title: "Testing Assistant"
description: "Helps write and run tests"
metadata:
sdlc_steps_managed:
- name: testing
example_instructions:
- "Write unit tests for this function"
- "Create integration tests"
- "Generate test data"
Deployment Helper Agent
# codeboltagent.yaml
title: "Deployment Helper"
description: "Assists with deployment tasks"
metadata:
sdlc_steps_managed:
- name: deployment
example_instructions:
- "Deploy to Vercel"
- "Set up CI/CD pipeline"
- "Configure environment variables"
Agent Development Tips
1. Start Simple
Begin with basic functionality and gradually add complexity:
// Simple greeting logic
if (userMessage.content.toLowerCase().includes('hello')) {
return "Hello! How can I help you today?";
}
2. Use Tools Effectively
Leverage available tools for enhanced functionality:
// Get available tools
const tools = await codebolt.tools.listToolsFromToolBoxes(["codebolt", "custom"]);
// Use specific tools in your agent logic
const fileTools = tools.filter(tool => tool.name.includes('file'));
3. Handle Errors Gracefully
Always provide helpful error messages:
try {
const result = await agent.run(task);
return result.message;
} catch (error) {
return "I encountered an issue. Please try rephrasing your request.";
}
Next Steps
Now that you've created your first agent, explore:
- Agent Architecture - Deep dive into agent concepts
- Using Agents - Advanced usage patterns
- Custom Agents - Building specialized agents
- Tools Integration - Add tools to your agents
Troubleshooting
Agent not starting?
# Check if dependencies are installed
npm install
# Verify configuration
cat codeboltagent.yaml
# Check for syntax errors
npm run build
Agent not responding in app?
# Ensure agent is running
npx codebolt-cli startagent
# Check agent is enabled in Codebolt Application
# Verify socket connection (default port 12345)
Publishing failed?
# Check authentication
npx codebolt-cli login
# Verify unique ID is not taken
npx codebolt-cli listagents
Need help?
# Get help
npx codebolt-cli --help
# Check agent status
ps aux | grep node
🎉 Congratulations! You've created, tested, and published your first Codebolt agent. Start building more sophisticated agents by exploring the detailed documentation and integrating tools for enhanced functionality.