Skip to content

feat: merge four-opencode-git-tools analytics into supertools #4

Description

@four-bytes-robby

Purpose

Merge the 5 git-history risk analytics tools from ~/four-opencode-git-tools into supertools. The git-tools project is 3 commits old with zero implementation — just stubs. Merging now avoids maintaining two separate plugins for what should be one coherent "supertools" product.

Tools to Merge

Tool Description
curse_score Rank files by risk (changes × author chaos × recency × churn)
bus_factor Ownership concentration — which modules would be orphaned?
implicit_coupling Files that always change together (hidden co-commit dependencies)
ownership Who owns the lines alive in HEAD (per-file/directory breakdown)
blast_radius When you touch a file, what else might break?

Implementation Steps

  1. Create src/tools/curse-score.ts, bus-factor.ts, implicit-coupling.ts, ownership.ts, blast-radius.ts with stub implementations (extracted from the git-tools entry file)
  2. Register all 5 tools in src/four-opencode-supertools.ts alongside the existing 4
  3. Move/merge test files from git-tools tests/ into supertools tests/
  4. Move/merge debug-logger (both projects have one — keep supertools version)
  5. Update ROADMAP.md: add Wave S4 "Git Intelligence" with these 5 tools + the planned git_diff_staged, renumber old S4→S5, S5→S6
  6. Update README.md tool reference table
  7. Update CONTRIBUTING.md if needed
  8. Bump version to 0.3.0
  9. Run all tests (existing 31 + new ones), typecheck, lint

Acceptance Criteria

  • All 9 tools registered: apply_patch, batch_edit, lint_file, run_tests, curse_score, bus_factor, implicit_coupling, ownership, blast_radius
  • All 31 existing tests still pass
  • New smoke tests for the 5 git tools pass
  • ROADMAP.md updated with S4 Git Intelligence wave
  • bun run build && bun run typecheck && bun run lint pass

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions