Appearance
Capstone: Multi-Tool Dev Workflow
Use all four tools in a single workflow. OpenCode for exploration and planning. Aider for precise, git-committed edits. OpenHands for autonomous refactoring in a Docker sandbox. Goose for infrastructure automation via MCP. Each tool does what it does best, and the workflow chains them together.

What you'll learn
- OpenCode: explore the codebase, create a plan, and understand the architecture
- Aider: make precise edits with automatic git commits for each change
- OpenHands: run autonomous refactoring in a Docker sandbox for safe execution
- Goose: automate infrastructure tasks through MCP-connected services
Architecture
The diagram below illustrates the complete workflow across all four tools. Each tool handles a distinct phase of the feature lifecycle, from initial planning to production deployment.
Build it
Phase 1: OpenCode — Explore and Plan
Begin the workflow by initializing OpenCode in the project repository. Use its exploration capabilities to understand the current architecture and generate an actionable plan.
bash
cd /path/to/project
opencode
/init
# Explore the codebase, ask questions, create a plan
# "I need to add a new API endpoint for user preferences. Explore the existing endpoints and suggest a plan."Phase 2: Aider — Precise Edits
Once the plan is finalized, switch to Aider to execute specific file modifications. Aider implements the changes and generates precise git commits for each logical step.
bash
aider
# Add the files you want to edit
/add src/api/users.ts src/types/user.ts
# Make the changes
# "Add a GET /users/:id/preferences endpoint following the existing pattern"
# Aider edits the files and auto-commits with a descriptive messagePhase 3: OpenHands — Autonomous Refactor
With the basic implementation committed, spin up OpenHands in an isolated Docker container to handle broader refactoring tasks. This ensures extensive codebase changes happen safely without risking the host environment.
bash
# Start OpenHands in Docker
docker run -d --name openhands -p 3000:3000 -v $(pwd):/workspace ghcr.io/openhands/openhands
# In the web UI at localhost:3000:
# "Refactor the user preferences module to use the new shared types. Run the test suite and fix any failures."Phase 4: Goose — Deploy via MCP
Finally, use Goose to automate the deployment process. Goose connects through the deployment MCP server to push changes to staging and verify system health.
bash
goose run "Deploy the updated user preferences service to staging. Use the deployment MCP server. Check health after deployment and report the status."Confirm it worked
- OpenCode produced a plan in AGENTS.md
- Aider made precise commits with descriptive messages
- OpenHands refactored safely in Docker and tests passed
- Goose deployed the changes and reported health status
Module map
| Capstone component | Course lesson |
|---|---|
| OpenCode exploration and planning | Plan and Build Modes |
| Aider git workflow | Git Workflow and Commits |
| OpenHands Docker sandbox | Sandbox Isolation and Security |
| Goose MCP deployment | MCP Extensions |