One command.
Running in minutes.
Clone the repo and run make setup. It handles .NET, the gh CLI, the dashboard,
and the scheduled refresh. macOS, Linux, and Windows supported.
Need this across a real engineering team?
Nimblesite can audit your current DevEx, standardise the repos that matter, install quality gates, and help your team adopt AI coding agents without creating review or CI chaos.
Prerequisites
The setup script handles most of this automatically. But here's what you're working with.
macOS, Linux, or Windows
macOS 12+ (Homebrew recommended), Debian/Ubuntu/Fedora Linux, or Windows 10+ (winget/choco). The setup script detects your OS.
GitHub account with CLI auth
The dashboard uses gh to fetch PR and CI status. Run gh auth login once after install.
Repos under ~/Documents/Code/
The dashboard scans this directory. If your repos live elsewhere, edit config.json after setup.
.NET SDK (auto-installed)
The dashboard runs on .NET. The setup script installs .NET 8 via Homebrew (macOS) or apt/script (Linux).
Step by step
make setup does all of this automatically. But here's what's happening under the hood.
Clone the repo
Clone Agent PMO into your code directory.
git clone https://github.com/Nimblesite/AgentPMOWorkflow.git
cd AgentPMOWorkflow
Install .NET SDK
The dashboard runs on .NET. Install .NET 8+:
# macOS (Homebrew)
brew install dotnet
# Ubuntu / Debian
sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0
# Windows (winget)
winget install Microsoft.DotNet.SDK.8
# Or download from: https://dot.net
Install and authenticate gh CLI
The dashboard fetches PR and CI status via the GitHub CLI.
# macOS
brew install gh
# Ubuntu / Debian
sudo apt install gh
# Windows
winget install GitHub.cli
# Authenticate (all platforms)
gh auth login
Run the report manually
Verify everything works before setting up the scheduler.
dotnet fsi dashboard/repo-report.fsx
# Opens dashboard/repo-report.html
If you see your repos in the report, you're good to go.
Set up the scheduled refresh
The setup script handles this. Manual instructions:
# macOS — launchd (runs every 3 minutes)
cp com.agentpmo.repo-report.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.agentpmo.repo-report.plist
# Linux — cron job
echo "*/3 * * * * cd $(pwd) && dotnet fsi dashboard/repo-report.fsx" | crontab -
# Windows — Task Scheduler (PowerShell, admin)
# The setup-windows.ps1 script handles this automatically
Install the enforcement skill (optional)
To standardise your other repos with the Claude skill:
make install-skill-claude
# Copies agent-pmo skill into ~/.claude/skills/
Then in any repo: tell Claude to run the agent-pmo skill.
Tailor it to your setup
Copy dashboard/config.example.json to dashboard/config.json to customise.
{
"scanDir": "/Users/you/Documents/Code",
"githubOwners": "your-github-username",
"maxRepos": "20",
"excludeRepos": "",
"excludeAuthor": "",
"excludeRepoDomain": ""
}
scanDir at your code directory. Set githubOwners to your GitHub username so the dashboard can filter repos. Use excludeRepos to skip specific repos by name.
You're set up. Now what?
Standardise your repos
Run the agent-pmo Claude skill on each of your repos. Give every project the same interface so agents can navigate them without help.
Learn about standards →Run agents in parallel
Got a large codebase? Point several agents at the same working tree — no worktrees. TMC's file locks keep them from colliding.
How parallelism works →Enable TMC
Run the Too Many Cooks MCP server and connect each agent. They share locks, messages, and plans so concurrent edits never conflict.
Learn about TMC →