daax-dev / daax-dev/agentic-retrospective

Multi-repo support for team retrospectives

Open
#19 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
3
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Context

Teams typically work across multiple repositories. A sprint retrospective that only covers one repo gives an incomplete picture — you miss cross-repo rework chains, scattered hotspots, and skewed fix-to-feature ratios.

Currently, the tool is single-repo scoped:

  • GitAnalyzer runs git commands against process.cwd()
  • GitHubAnalyzer uses gh against the current repo
  • RetroConfig has no concept of repo identity
  • No way to attribute commits, hotspots, or PRs to a specific repo

Proposal

Add optional multi-repo support via a .retro.toml config file, following the TOML config pattern used elsewhere in the daax-dev org (e.g. daax-cli.toml).

Config file
# .retro.toml — drop in workspace root or any repo

[retrospective]
sprint_id = "sprint-42"
output_dir = "docs/retrospectives"

# Omit [[repos]] entirely for single-repo (current behaviour)
[[repos]]
path = "."
label = "frontend"

[[repos]]
path = "../api"
label = "api"

[[repos]]
path = "../infra"
label = "infra"
Behaviour
  • No .retro.toml + no --repo flags → current behaviour, cwd is the repo. Zero breaking changes.
  • --repo ../other → analyse that single repo instead of cwd.
  • --repo ./a --repo ./b → multi-repo mode with per-repo sections + unified summary.
  • .retro.toml found → loads repo list from config. --repo flags override it.
CLI additions
# Single repo (unchanged)
agentic-retrospective

# Explicit repos
agentic-retrospective --repo ../frontend --repo ../api

# Config-driven
agentic-retrospective  # picks up .retro.toml automatically
Report changes
  • Per-repo sections for commits, hotspots, PRs
  • Unified executive summary aggregating across all repos
  • Repo label attribution on commits and findings
Implementation sketch
  1. Add optional repos to RetroConfig
  2. RetroRunner loops per-repo, passing repo path to analyzers
  3. GitAnalyzer and GitHubAnalyzer accept an optional cwd parameter instead of using process.cwd()
  4. Report generator gets per-repo sections + aggregate summary
  5. Config file discovery: walk up from cwd looking for .retro.toml
Non-goals (for this issue)
  • GitHub org auto-discovery (--github-org) — could be a follow-up
  • Cross-repo dependency analysis
  • Monorepo sub-path support

Compatibility

  • No breaking changes — single-repo default preserved
  • Complements #18 (trend tracking becomes more useful across repos)
  • Orthogonal to #16 (headless mode)

Happy to contribute this. Keen to hear if this aligns with where the project is heading before starting implementation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing GitAnalyzer, GitHubAnalyzer, RetroConfig, RetroRunner, and report generator entry points, then trace how the CLI currently handles cwd and options. Define the .retro.toml discovery and --repo override flow before implementing it. Done means preserving single-repo behavior while producing per-repo sections, labels, and a unified summary for configured or explicit repositories.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.