mirror of
https://github.com/jlengrand/Maestro.git
synced 2026-03-10 08:31:19 +00:00
MAESTRO: Fix symphony.md documentation inaccuracies
Key fixes:
- Corrected PR creation flow: uses deferred PR creation (on first commit), not immediate
- Rewrote Task Claiming section to explain deferred flow: start → first commit creates PR → subsequent commits push
- Added four modal tabs documentation (Projects, Active, History, Stats)
- Added keyboard navigation: arrows, Enter, / for search, Cmd+Shift+[/] for documents
- Expanded Active tab: status indicators, progress bar, token usage, controls, Check PR Status button
- Expanded History tab: PR status, completion date, documents, cost, summary stats
- Expanded Stats tab: overview metrics, repos contributed, streak tracking, achievements
- Fixed branch naming to `symphony/{issue-number}-{short-id}`
- Added `featured` and `addedAt` fields to JSON example
- Added complete categories table with all 9 categories, labels, and emojis
- Added cache TTL info (registry: 2hr, issues: 5min)
This commit is contained in:
@@ -34,18 +34,24 @@ Maestro Symphony is a community-driven program that connects Maestro users with
|
||||
|
||||
## Browsing Projects
|
||||
|
||||
The Symphony modal shows registered open source projects in a tiled grid:
|
||||
The Symphony modal has four tabs: **Projects**, **Active**, **History**, and **Stats**.
|
||||
|
||||
### Projects Tab
|
||||
|
||||
The Projects tab shows registered open source projects in a tiled grid:
|
||||
|
||||
- **Category filters** — Filter by AI/ML, Developer Tools, etc.
|
||||
- **Search** — Find projects by name or description
|
||||
- **Search** — Find projects by name, description, or tags
|
||||
- **Project tiles** — Click to view available issues
|
||||
- **Keyboard navigation** — Use arrow keys to navigate, Enter to select, `/` to focus search
|
||||
|
||||

|
||||
|
||||
Select a repository to see its available GitHub issues. Each issue shows:
|
||||
- Issue title and number
|
||||
- Number of Auto Run documents to process
|
||||
- Document previews (expandable)
|
||||
- Document previews with a dropdown selector (use `Cmd+Shift+[` / `Cmd+Shift+]` to cycle documents)
|
||||
- Status indicator (available or in-progress with PR link)
|
||||
|
||||
## Starting a Contribution
|
||||
|
||||
@@ -60,36 +66,41 @@ Configure your contribution:
|
||||
|
||||
Click **Create Agent** and Maestro will:
|
||||
|
||||
1. Clone the repository to `~/Maestro-Symphony/{owner}-{repo}/`
|
||||
2. Create a new branch for your contribution
|
||||
3. Open a draft PR (claims the issue so others know it's in progress)
|
||||
4. Copy the Auto Run documents to your session
|
||||
5. Begin processing tasks automatically
|
||||
1. Clone the repository to `~/Maestro-Symphony/{owner}-{repo}/` (default location, customizable)
|
||||
2. Create a new branch (`symphony/{issue-number}-{short-id}`)
|
||||
3. Set up Auto Run documents (external attachments downloaded to cache, repo docs referenced in place)
|
||||
4. Begin processing tasks automatically
|
||||
5. Create a draft PR on first commit (claims the issue so others know it's in progress)
|
||||
|
||||
## Tracking Contributions
|
||||
|
||||
### Active Tab
|
||||
|
||||
View your in-progress Symphony sessions:
|
||||
- Links to jump to the agent session
|
||||
- Progress indicators for current document
|
||||
- Links to draft PRs
|
||||
- Cancel/abort controls
|
||||
- Status indicators (Running, Paused, Creating PR, etc.)
|
||||
- Progress bar showing documents completed vs. total
|
||||
- Current document being processed
|
||||
- Token usage (input/output tokens, estimated cost)
|
||||
- Draft PR link (once created on first commit)
|
||||
- Controls: Pause/Resume, Cancel, Finalize PR
|
||||
- **Check PR Status** button to detect merged/closed PRs
|
||||
|
||||
### History Tab
|
||||
|
||||
Review completed contributions:
|
||||
- PR links with merge status
|
||||
- Per-contribution statistics
|
||||
- Time and tokens spent
|
||||
- PR links with merge status (Open or Merged)
|
||||
- Completion date
|
||||
- Documents processed count
|
||||
- Total cost for the contribution
|
||||
- Summary statistics at the top (total PRs, merged count, tokens, cost)
|
||||
|
||||
### Stats Tab
|
||||
|
||||
Track your overall impact:
|
||||
- Total contributions and merged PRs
|
||||
- Tokens donated and estimated cost
|
||||
- Issues resolved and repositories contributed to
|
||||
- Streak tracking and achievement badges
|
||||
- **Overview metrics**: Total contributions, merged PRs, tokens donated, estimated cost
|
||||
- **Repositories contributed to**: Unique project count
|
||||
- **Streak tracking**: Current and longest contribution streaks
|
||||
- **Achievement badges**: Unlock achievements like "First Contribution", "Week Warrior", "Token Titan"
|
||||
|
||||
## Session Integration
|
||||
|
||||
@@ -122,20 +133,24 @@ Each document path should point to an Auto Run-compatible markdown file with tas
|
||||
|
||||
## Task Claiming
|
||||
|
||||
When you click **Start Symphony**, Maestro immediately creates a draft PR. This claims the task so other contributors know it's being worked on:
|
||||
Symphony uses **deferred PR creation** to avoid GitHub's "no commits between branches" error. When you start a contribution, Maestro sets up the branch and documents but waits until the first commit to create the draft PR:
|
||||
|
||||
1. **Start contribution** → Branch created locally, Auto Run begins processing
|
||||
2. **First commit** → Draft PR automatically created, claims the issue
|
||||
3. **Subsequent commits** → Push to the same PR
|
||||
|
||||
This means issues show as "in progress" once the first commit lands. The claiming mechanism:
|
||||
|
||||
- **No draft PR** → Task is available
|
||||
- **Draft PR exists** → Task is in progress
|
||||
|
||||
First to create a draft PR wins — this prevents duplicate work.
|
||||
- **Draft PR exists** → Task is in progress (first to commit wins)
|
||||
|
||||
## Registering Your Project
|
||||
|
||||
To add your open source project to Symphony:
|
||||
|
||||
1. Fork the [Maestro repository](https://github.com/pedramamini/Maestro)
|
||||
2. Add your project to `symphony-registry.json`
|
||||
3. Submit a pull request
|
||||
2. Add your project to `symphony-registry.json` in the root directory
|
||||
3. Submit a pull request to the main Maestro repository
|
||||
|
||||
Your project entry should include:
|
||||
```json
|
||||
@@ -144,16 +159,34 @@ Your project entry should include:
|
||||
"name": "Project Name",
|
||||
"description": "Brief description",
|
||||
"url": "https://github.com/owner/repo",
|
||||
"category": "developer-tools",
|
||||
"category": "ai-ml",
|
||||
"tags": ["tag1", "tag2"],
|
||||
"maintainer": {
|
||||
"name": "Your Name",
|
||||
"url": "https://github.com/yourusername"
|
||||
},
|
||||
"isActive": true
|
||||
"isActive": true,
|
||||
"featured": false,
|
||||
"addedAt": "2025-01-01"
|
||||
}
|
||||
```
|
||||
|
||||
### Available Categories
|
||||
|
||||
| Category | Label | Emoji |
|
||||
|----------|-------|-------|
|
||||
| `ai-ml` | AI & ML | 🤖 |
|
||||
| `developer-tools` | Developer Tools | 🛠️ |
|
||||
| `infrastructure` | Infrastructure | 🏗️ |
|
||||
| `documentation` | Documentation | 📚 |
|
||||
| `web` | Web | 🌐 |
|
||||
| `mobile` | Mobile | 📱 |
|
||||
| `data` | Data | 📊 |
|
||||
| `security` | Security | 🔒 |
|
||||
| `other` | Other | 📦 |
|
||||
|
||||
Once merged, your project will appear in the Symphony Projects tab (registry cached for 2 hours, issues cached for 5 minutes).
|
||||
|
||||
---
|
||||
|
||||
**Maestro Symphony — Advancing open source, together.**
|
||||
|
||||
Reference in New Issue
Block a user