Overview
Feature development with Forge follows the Vibe Coding++™ approach: you plan and orchestrate, AI agents execute, you review and ship. This workflow ensures you ship production-ready code that you understand and can maintain.The Feature Development Cycle
Step 1: Plan Your Feature
Before jumping into code, plan your feature at a high level.Example: Building a Real-Time Notification System
Feature Goal: Add real-time notifications with WebSocket support, browser notifications, and notification history. Initial Planning Questions:- What are the core components needed?
- What are the technical dependencies?
- What’s the order of implementation?
- Are there any risks or unknowns?
Step 2: Break Down Into Tasks
Decompose your feature into small, focused tasks. Each task should be completable in 15-30 minutes of AI execution.Golden Rule: If you can’t describe a task in 1-2 sentences, it’s too big. Break it down further.
Example Task Breakdown
Step 3: Create Task Cards in Forge
Open Forge and create your task cards:- Via UI
- Via CLI
- Via MCP
- Title: Short, action-oriented (e.g., “Create WebSocket server”)
- Description: Detailed requirements and acceptance criteria
- Labels: Type (feature, refactor, etc.) and priority
- Dependencies: Link related tasks
Step 4: Choose Your Agents Strategically
Different AI agents have different strengths. Choose based on the task type:Backend/API Work
Best Agents:
- Claude Code: Excellent for complex logic
- Cursor CLI: Great for boilerplate
- Gemini: Fast iterations
Frontend/UI Work
Best Agents:
- Cursor CLI: Modern React patterns
- Claude Code: Accessible UI
- Gemini: Quick prototypes
Database/Schema
Best Agents:
- Claude Code: Complex migrations
- GPT-4 Codex: SQL optimization
- Gemini: Schema design
Testing
Best Agents:
- Claude Code: Comprehensive tests
- Cursor CLI: Integration tests
- Specialized “test-writer” agent
Example: WebSocket Server Task
Step 5: Experiment & Iterate
Forge’s git worktree isolation lets you experiment fearlessly.Running Multiple Attempts
1
Start First Attempt
2
Create Alternative Approach
3
Monitor Progress
When to Create Multiple Attempts
✅ Use multiple attempts when:- Task is complex or critical
- You want to compare different approaches
- Previous attempt didn’t meet requirements
- Learning which agent works best for task type
- Task is straightforward
- You trust the chosen agent for this task type
- Time is constrained
Step 6: Review and Compare Results
Never merge without understanding what changed.Review Checklist
Code Quality
Code Quality
- Does the code follow project conventions?
- Are there any code smells or anti-patterns?
- Is error handling comprehensive?
- Are edge cases covered?
Functionality
Functionality
- Does it meet all acceptance criteria?
- Are there any missing features?
- Does it handle the happy path AND edge cases?
- Are there any security concerns?
Testing
Testing
- Are there tests for new functionality?
- Do existing tests still pass?
- Is test coverage adequate?
- Are tests meaningful (not just for coverage)?
Documentation
Documentation
- Is the code self-documenting?
- Are complex parts commented?
- Is API documentation updated?
- Are there usage examples?
Comparing Multiple Attempts
| Aspect | Claude Code Attempt | Gemini Attempt | Winner |
|---|---|---|---|
| Code Quality | Comprehensive, well-structured | Simple, concise | Claude ✅ |
| Performance | Optimized with connection pooling | Basic implementation | Claude ✅ |
| Testing | Full test suite | Basic tests | Claude ✅ |
| Documentation | Extensive JSDoc | Minimal comments | Claude ✅ |
| Time Taken | 8 minutes | 4 minutes | Gemini ⚡ |
Step 7: Merge & Ship
Once you’re satisfied with an attempt, merge it to your main branch.Merge Best Practices
Before merging, always:
- Run the full test suite
- Check for conflicts with main branch
- Verify no secrets or sensitive data committed
- Update CHANGELOG if applicable
Step 8: Document & Test Integration
After merging individual tasks, test how they work together.Integration Testing
Documentation Task
Real-World Example: Complete Feature
Here’s a complete workflow for building a user dashboard:1
Day 1 - Planning & Backend
2
Day 2 - Frontend
3
Day 3 - Polish & Ship
Pro Tips for Feature Development
Start Small, Iterate Fast
Start Small, Iterate Fast
Build the simplest version first, then enhance:
Use Task Dependencies
Use Task Dependencies
Link tasks that must be completed in order:
Label Everything
Label Everything
Good labeling makes filtering and tracking easier:
Keep Your Main Branch Clean
Keep Your Main Branch Clean
Never merge half-finished work. Use Forge’s isolation:
- Each task in its own worktree
- Only merge when tests pass
- Review every change before merging
Common Pitfalls to Avoid
Don’t Do This:
-
Creating Tasks That Are Too Big
- ❌ “Build entire authentication system”
- ✅ “Create user registration endpoint”
-
Not Reviewing Before Merging
- ❌ Blindly merging AI-generated code
- ✅ Understanding every change
-
Using Only One Agent
- ❌ Always using the same agent
- ✅ Experimenting to find best fit
-
Forgetting Tests
- ❌ “I’ll add tests later”
- ✅ Tests are part of the feature
-
Poor Task Descriptions
- ❌ “Fix the thing”
- ✅ “Add validation to email field in signup form”
Next Steps
Bug Fixing Workflow
Learn how to squash bugs with multiple AI agents
Refactoring Workflow
Safe refactoring with isolated experiments
Code Review Workflow
Multi-agent PR review process
Team Collaboration
Coordinating AI-assisted development across teams
Remember: Vibe Coding++™ means you’re always in control. The AI agents are powerful tools, but you’re the maestro orchestrating them to create production-ready features.

