Add Symphony registry documentation and contribution runner service: - docs/SYMPHONY_REGISTRY.md: Registry documentation explaining how maintainers register repos - docs/SYMPHONY_ISSUES.md: Guide for creating Symphony issues with Auto Run documents - src/main/services/symphony-runner.ts: Service orchestrating contributions with draft PR claiming - symphony-registry.json: Sample registry with Maestro as the first registered project The runner service handles the full contribution flow: clone, branch, push, draft PR creation, Auto Run setup, finalization, and cancellation.
5.3 KiB
Maestro Symphony Registry
The central registry for open source projects participating in Symphony.
Overview
Symphony connects open source maintainers with AI-powered contributors. Maintainers register their repositories, create Auto Run documents, and open GitHub Issues with the runmaestro.ai label. Contributors browse available tasks and complete them via Maestro's Auto Run feature.
Repository Structure
The registry lives in the main Maestro repository:
pedramamini/Maestro/
├── symphony-registry.json # Central list of all projects
└── docs/
└── SYMPHONY_REGISTRY.md # This documentation
symphony-registry.json Schema
{
"schemaVersion": "1.0",
"lastUpdated": "2025-01-01T00:00:00Z",
"repositories": [
{
"slug": "owner/repo-name",
"name": "Human Readable Name",
"description": "Short description of the project",
"url": "https://github.com/owner/repo-name",
"category": "developer-tools",
"tags": ["cli", "productivity"],
"maintainer": {
"name": "Name",
"url": "https://..."
},
"isActive": true,
"featured": false,
"addedAt": "2025-01-01"
}
]
}
Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string | Yes | Repository identifier in owner/repo format |
name |
string | Yes | Human-readable project name |
description |
string | Yes | Short description (max 200 chars) |
url |
string | Yes | Full GitHub repository URL |
category |
string | Yes | Primary category (see Categories below) |
tags |
string[] | No | Optional tags for search/filtering |
maintainer.name |
string | Yes | Maintainer or organization name |
maintainer.url |
string | No | Optional link to maintainer profile |
isActive |
boolean | Yes | Whether repo is accepting contributions |
featured |
boolean | No | Show in featured section (default: false) |
addedAt |
string | Yes | ISO 8601 date when registered |
How It Works
- Maintainers register once by submitting a PR to add their repo to
symphony-registry.json - Maintainers create Auto Run documents in their repository (e.g.,
.maestro/autorun/) - Maintainers open GitHub Issues with the
runmaestro.ailabel, listing document paths - Contributors browse available issues in Maestro Symphony
- One-click contribution clones the repo, creates a draft PR (claiming the issue), and runs Auto Run
- Finalize PR when all documents are processed
- Maintainer reviews and merges the contribution
Categories
| ID | Label | Use Case |
|---|---|---|
ai-ml |
AI & ML | AI/ML tools and libraries |
developer-tools |
Developer Tools | Developer productivity tools |
infrastructure |
Infrastructure | DevOps, cloud, infrastructure |
documentation |
Documentation | Documentation projects |
web |
Web | Web frameworks and libraries |
mobile |
Mobile | Mobile development |
data |
Data | Data processing, databases |
security |
Security | Security tools |
other |
Other | Miscellaneous projects |
Registering a Repository
Prerequisites
Before registering, ensure your repository:
- Has a clear README explaining the project
- Has contribution guidelines (CONTRIBUTING.md)
- Uses a license compatible with open source (MIT, Apache 2.0, etc.)
- Has at least one Auto Run document ready
Registration Steps
- Fork the
pedramamini/Maestrorepository - Add your entry to
symphony-registry.json:
{
"slug": "your-org/your-repo",
"name": "Your Project Name",
"description": "Brief description of your project",
"url": "https://github.com/your-org/your-repo",
"category": "developer-tools",
"tags": ["typescript", "cli"],
"maintainer": {
"name": "Your Name",
"url": "https://github.com/your-username"
},
"isActive": true,
"featured": false,
"addedAt": "2025-01-15"
}
- Submit a PR with your repository details
- Once merged, create issues with the
runmaestro.ailabel to enable contributions
After Registration
Once your repository is in the registry:
- Create a
.maestro/autorun/directory in your repo (optional, but recommended) - Write Auto Run documents for contribution tasks
- Open GitHub Issues with the
runmaestro.ailabel - List the document paths in the issue body
See SYMPHONY_ISSUES.md for detailed issue formatting guidelines.
Updating Your Entry
To update your registry entry (e.g., change category, update description):
- Submit a PR modifying your entry in
symphony-registry.json - Keep your
slugunchanged to maintain history
Removing Your Repository
To remove your repository from Symphony:
- Set
isActive: falsein your registry entry, OR - Submit a PR removing your entry entirely
Note: Setting isActive: false hides your repo from the contributor UI but preserves contribution history.
Registry Caching
The Symphony client caches the registry for 2 hours to reduce API calls. Changes to the registry may take up to 2 hours to propagate to all users.
Questions?
- See SYMPHONY_ISSUES.md for issue formatting
- Check the Maestro documentation for Auto Run guides
- Open an issue on the Maestro repository for support