Allow repos to define their own personas by placing YAML files in .review-bot/personas/.
Why
Different repos have different domain concerns:
gargoyle needs trading/event-sourcing experts
kms-lite needs crypto/key-management experts
generic repos can use built-in personas
Implementation
Before running review, check if target repo has .review-bot/personas/ directory
If yes, load personas from there (YAML format)
If no, fall back to built-in personas
Merge with built-in personas (repo personas take precedence on name collision)
Acceptance Criteria
Fetch .review-bot/personas/*.yaml from target repo via Gitea API
Parse YAML personas with same schema as built-in
Fall back to built-in if directory missing or empty
Tests for persona loading from remote repo
## What
Allow repos to define their own personas by placing YAML files in `.review-bot/personas/`.
## Why
Different repos have different domain concerns:
- gargoyle needs trading/event-sourcing experts
- kms-lite needs crypto/key-management experts
- generic repos can use built-in personas
## Implementation
1. Before running review, check if target repo has `.review-bot/personas/` directory
2. If yes, load personas from there (YAML format)
3. If no, fall back to built-in personas
4. Merge with built-in personas (repo personas take precedence on name collision)
## Acceptance Criteria
- [ ] Fetch `.review-bot/personas/*.yaml` from target repo via Gitea API
- [ ] Parse YAML personas with same schema as built-in
- [ ] Fall back to built-in if directory missing or empty
- [ ] Tests for persona loading from remote repo
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
Allow repos to define their own personas by placing YAML files in
.review-bot/personas/.Why
Different repos have different domain concerns:
Implementation
.review-bot/personas/directoryAcceptance Criteria
.review-bot/personas/*.yamlfrom target repo via Gitea API