I Spent 2 Hours Debugging an Open-Source Setup. The Fix Was Already in a PR.
A few days ago, I started working on a project for the Flip the Switch Hackathon, organized by WeMakeDevs, DevTools Academy, and Switch.
I was trying to set up Switch locally on my Windows machine using Antigravity. Things didn't go as planned.
Commands failed, paths didn't resolve, and PowerShell threw errors I wasn't expecting. I spent nearly two hours going through files, changing configurations, and searching for solutions.
Eventually, I decided to ask the maintainer for help.
The reply was simple:
"That's a known issue on Windows. Someone submitted a fix yesterday. Check the open PR."
And there it was. The fix to the exact problem I had spent two hours debugging.
That experience gave me an idea. What if developers had an assistant that could investigate a repository, identify known setup issues, and help get the project running?
That's how Setup Desk started.
What is Setup Desk?
Setup Desk is an AI-powered setup assistant that helps developers get open-source projects running with less manual effort.
You simply share a GitHub repository link in Slack. Behind the scenes, Switch coordinates three specialized agents:
- Scout – Examines the repository, dependencies, documentation, and related GitHub issues and PRs to identify potential setup problems.
- Setup – Creates an isolated virtual environment, installs dependencies, and checks whether the project runs.
- Repair – Investigates setup failures, applies safe local fixes, and asks Setup to retry.
Here's a simplified view of the workflow:
[ Developer in Slack ]
|
v
[ Switch ]
|
+----+----+
| |
v v
[ Scout ] [ Setup ]
| |
| Error?
| |
| v
| [ Repair ]
| |
| +---- Retry (max 3 times)
|
v
Known issues and
setup information
Why Three Agents?
Initially, I considered building everything into a single agent. But splitting the responsibilities made the workflow easier to manage.
- Scout is read-only. It investigates the repository and looks for existing solutions without modifying files.
- Setup handles execution. It clones the repository, creates a virtual environment, installs dependencies, and verifies the setup.
- Repair handles failures. It receives error details, investigates the cause, and applies fixes within the local project workspace.
This separation also helps keep the agents' responsibilities and permissions clear.
The Repair and Retry Workflow
One feature I wanted to explore was how agents could recover from setup failures instead of simply reporting an error.
For example, consider a Python project with a dependency compatibility issue.
- Scout first checks the repository and searches for related issues and pull requests.
- Setup clones the repository and attempts to install its dependencies.
- If installation fails, Setup sends the command and error details to Repair.
- Repair investigates the issue and applies an appropriate local configuration change.
- Setup retries the installation and verifies the result.
The workflow allows a maximum of three repair attempts. If the issue requires something beyond the agents' permissions, such as installing a system-level dependency, it asks for human intervention.
The goal is to avoid blindly retrying commands and to make sure the final result is actually verified.
How Switch Helped
I built this project to explore Switch's multi-agent orchestration capabilities.
Switch made it easier to coordinate multiple agents, share information between them, and manage handoffs without having to build the entire orchestration workflow from scratch.
It was a good opportunity to understand how specialized agents can work together to solve a practical developer problem.
A Few Things I Kept Simple
- Slack as the interface: Developers can interact with the assistant without opening another dashboard.
- Restricted execution: Agents work within the project workspace rather than requiring unrestricted system access.
- Verification before success: The assistant checks whether the setup actually works instead of relying only on successful dependency installation.
Building Setup Desk was a good learning experience. More than anything, it gave me an opportunity to explore multi-agent systems while working on a problem I had personally experienced.
Top comments (0)