brownfield
Scan and manage brownfield repository defaults for interviews
/ouroboros:brownfield
Scan your home directory for existing git repositories and manage default repos used as context in interviews.
Usage
ooo brownfield # Scan repos and set defaults
ooo brownfield scan # Scan only (no default selection)
ooo brownfield defaults # Show current defaults
ooo brownfield set 6,18,19 # Set defaults by repo numbers
Trigger keywords: "brownfield", "scan repos", "default repos", "brownfield scan"
How It Works
Default flow (ooo brownfield with no args)
Step 1: Scan
Show scanning indicator:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Scanning for Existing Projects...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Looking for git repositories in your home directory.
Only GitHub-hosted repos will be registered.
This may take a moment...
Implementation — use MCP tools only, do NOT use CLI or Python scripts:
- Load the brownfield MCP tool:
ToolSearch query: "+ouroboros brownfield" - Call scan+register:
This scansTool: ouroboros_brownfield Arguments: { "action": "scan" }~/for GitHub repos and registers them in DB. Existing defaults are preserved.
The scan response text already contains a pre-formatted numbered list with [default] markers. Do NOT make any additional MCP calls to list or query repos.
Display the repos in a plain-text 2-column grid (NOT a markdown table). Use a code block so columns align. Example:
Scan complete. 8 repositories registered.
1. repo-alpha 5. repo-epsilon
2. repo-bravo * 6. repo-foxtrot
3. repo-charlie 7. repo-golf *
4. repo-delta 8. repo-hotel
Include * markers for defaults exactly as they appear in the scan response.
If no repos found, show:
No GitHub repositories found in your home directory.
Then stop.
Step 2: Default Selection
IMMEDIATELY after showing the list, use AskUserQuestion with the current default numbers from the scan response.
If defaults exist, show them as the recommended option:
{
"questions": [{
"question": "Which repos to set as default for interviews? Enter numbers like '6, 18, 19'.",
"header": "Default Repos",
"options": [
{"label": "<current default numbers> (Recommended)", "description": "<current default names>"},
{"label": "None", "description": "No default repos — interviews will run in greenfield mode"}
],
"multiSelect": false
}]
}
If no defaults exist, do NOT show a "(Recommended)" option — offer "None" and "Select repos" instead:
{
"questions": [{
"question": "Which repos to set as default for interviews? Enter numbers like '6, 18, 19'.",
"header": "Default Repos",
"options": [
{"label": "None", "description": "No default repos — interviews will run in greenfield mode"},
{"label": "Select repos", "description": "Type repo numbers to set as default"}
],
"multiSelect": false
}]
}
The user can select the recommended defaults (if any), choose "None", or type custom numbers.
After the user responds, use ONE MCP call to update all defaults at once:
Tool: ouroboros_brownfield
Arguments: { "action": "set_defaults", "indices": "<comma-separated IDs>" }
Example: if the user picks IDs 6, 18, 19 → { "action": "set_defaults", "indices": "6,18,19" }
This clears all existing defaults and sets the selected repos as default in one call.
If "None" → { "action": "set_defaults", "indices": "" } to clear all defaults.
Step 3: Confirmation
Brownfield defaults updated!
Defaults: grape, podo-app, podo-backend
These repos will be used as context in interviews.
Or if "None" selected:
No default repos set. Interviews will run in greenfield mode.
You can set defaults anytime with: ooo brownfield
Subcommand: scan
Scan only, no default selection prompt. Show the numbered list and stop.
Subcommand: defaults
Load the brownfield MCP tool and call:
Tool: ouroboros_brownfield
Arguments: { "action": "scan" }
Display only the repos marked with * (defaults). If none, show:
No default repos set. Run 'ooo brownfield' to configure.
Subcommand: set <indices>
Directly set defaults without scanning. Parse the comma-separated indices from the user's input and call:
Tool: ouroboros_brownfield
Arguments: { "action": "set_defaults", "indices": "<indices>" }
Show confirmation with updated defaults.