Create a complete team with agents
In the current day and age, everyone has an entire team at their disposal. But how should you handle that?
In this series, I want to explore what it looks like to have an entire team of agents help me on one of my open-source projects.
The project I want to experiment with is Daily Note Calendar. It’s a plugin for Obsidian with thousands of downloads, which makes it a good candidate for seeing how an agentic team can help me while maintaining stability and ease of use for current users.
Prerequisites
This story focuses on setting up an agentic team in Visual Studio Code for Daily Note Calendar. Because the setup in this series relies on isolated development environments, you’ll need the following tools and repositories:
- Docker
- Visual Studio Code
- Access to GitHub Copilot
- A local clone of the Daily Note Calendar repository
Requirements
Because this project already exists, any changes must respect its existing requirements. In addition to those existing requirements, there are also a couple of issues opened by users that I want to address.
Some of the existing requirements I definitely don’t want to lose are:
- Notes must be created based on
- Year
- Quarter
- Month
- Week
- Day
- Each periodic note must be configurable
- Path must be configured
- File name must be configured
- Template used to create the note must be configured
- There must be an option to only create notes when pressing a modifier key and clicking on a period
- All notes should be deleted using the calendar UI
- Notes created on the selected date should be visible below the calendar
- This must be a configurable option
Of course, these aren’t all the requirements, but each one will be captured in a requirements.md file in the project. To populate that file, we’ll probably use Copilot to extract the existing requirements from the codebase.
Constraints
A key consideration in these kinds of setups is the constraints we MUST define. I strongly believe that every command an agent executes should be reviewed by you, the human. A major focus of this series will therefore be defining the constraints within which the agents must operate.
Examples include running agents inside containers or restricting them to specific file types or folders.
If those setup details are not relevant to you, feel free to skip those posts. That said, you’re still responsible for everything you do, or allow an agent to do, on your computer.
Posts in this series
Setting up a Dev Container in Visual Studio Code
To ensure our agents can execute commands only in an isolated environment, we use Dev Containers in Visual Studio Code.
Setting up guardrails
When using an agentic team, it is important to have guardrails in place to protect the quality of your codebase.
Creating our agentic team
Create your own team with different specialists using agentic AI.
Setting up shared knowledge with Copilot instructions
All the agents in your team should properly work together and have access to the same knowledge, just like in a regular team. To accomplish this we can make use of the Copilot instructions.