Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blastmap

Ship changes with less guesswork: blastmap turns a diff into a focused test + review plan in seconds.

GIF / screenshot placeholder: Add a terminal capture here showing blastmap analyze and blastmap report output.

Why

Big PRs fail when impact is fuzzy. blastmap makes scope explicit by mapping changed files to impacted modules/functions, ranking what to test first, flagging risky non-code edits, and surfacing likely CODEOWNERS reviewers.

Install

Python 3.10+ is required.

python3 -m pip install -e .

Quickstart

From the repository root:

# 1) Fast terminal summary from explicit changed files
blastmap analyze \
  --repo . \
  --changed-file src/blastmap/__main__.py \
  --changed-file README.md

# 2) Same analysis as JSON for automation
blastmap analyze \
  --repo . \
  --changed-file src/blastmap/__main__.py \
  --json

# 3) Shareable markdown report
blastmap report \
  --repo . \
  --changed-file src/blastmap/__main__.py \
  --format markdown

Features

  • Impact map: changed files plus impacted modules and functions.
  • Ranked testing targets: top tests and packages/modules to run first.
  • Non-code risk flags: docs/config/schema/migration changes called out explicitly.
  • Reviewer suggestions: CODEOWNERS pattern matches grouped into likely reviewers.
  • Two output lanes: quick terminal/JSON (analyze) and share-ready markdown/PR comment (report).

Examples

# Analyze with explicit changed files (copy/paste friendly)
blastmap analyze \
  --repo . \
  --changed-file src/blastmap/impact_map.py \
  --changed-file src/blastmap/ranking.py

# Analyze with explicit files + JSON output
blastmap analyze \
  --repo . \
  --changed-file src/blastmap/__main__.py \
  --json

# Report as markdown
blastmap report \
  --repo . \
  --changed-file src/blastmap/reporting.py \
  --format markdown

# Report as PR-comment text
blastmap report \
  --repo . \
  --changed-file README.md \
  --format pr-comment

# Git-ref input mode (real branch diff workflow)
blastmap analyze --repo . --base origin/main --head HEAD
blastmap report --repo . --base origin/main --head HEAD --format markdown

Roadmap

  • Add richer language-aware dependency resolution beyond current graph heuristics.
  • Add CI-focused outputs (for checks/status annotations) on top of existing JSON and report modes.
  • Expand non-code impact categories with stronger schema/migration awareness.

Contributing

Contributions are welcome. Open an issue for bugs/ideas, then submit a PR with focused changes and tests.

Run tests locally:

python3 -m pip install -e ".[test]"
make test

License

MIT

About

Ship changes with less guesswork: Blastmap turns a diff into a focused test + review plan in seconds.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages