CLI tool
braedonsaunders/codeflow avatar
braedonsaunders/codeflow

CodeFlow: A Browser-Based Architecture Map for GitHub Repositories

Paste any GitHub URL → interactive architecture map. See how files connect, find what breaks if you change something. No install, no accounts - runs entirely in your browser.

5,202 stars771 forksHTMLMIT

At a glance

What is it?
CodeFlow turns any GitHub URL or local folder into an interactive dependency graph with blast radius, ownership, and security checks, all without installation or data leaving your machine.
Who is it for?
Adopt CodeFlow if you want a zero-install, privacy-preserving way to explore unfamiliar codebases or assess the impact of changes before committing. Skip it if you need deep, language-specific analysis, enterprise-grade security scanning, or automated CI integration beyond the provided GitHub Action.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 9 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What CodeFlow Solves and Who It Is For

CodeFlow addresses a common pain: opening an unfamiliar repository and having no idea where to start. The README positions it as a tool that turns any GitHub repository or local codebase into an interactive architecture map in seconds. The target user is a developer who needs a quick orientation, whether that is a new team member joining a project, a reviewer assessing a pull request, or an architect evaluating a codebase before refactoring. The tool is intentionally lightweight: no installation, no accounts, no data collection. It runs entirely in the browser, making it accessible to anyone with a GitHub URL and a modern browser. The emphasis on privacy and offline support also makes it suitable for developers working with proprietary code who cannot upload it to a third-party service.

How the Architecture Map Is Built

The core mechanism is a client-side analyzer that parses repository files fetched directly from GitHub via API calls, or from local folders selected by the user. The README describes a data flow: paste URL or select files, then the tool generates an interactive dependency graph. Nodes represent files, and edges represent dependencies detected from imports, requires, or references. The graph supports drag, zoom, and click-to-highlight. A separate Code view keeps the map visible while opening the selected file and its connected files as full-file cards on the canvas, grouped by directory. This dual view is a practical way to see both the forest and the trees. The tool also computes a health score from dead code percentage, circular dependencies, coupling metrics, and security issues, giving an A-F grade. The exact algorithms behind dependency detection are not detailed in the README, so the accuracy for languages beyond common ones like JavaScript or Python is unverified.

Getting It Running: Four Options

The README offers four ways to run CodeFlow. The recommended path is to visit the hosted version at codeflow-five.vercel.app and paste a GitHub URL. For self-hosting, the instructions are minimal: clone the repository and open index.html in a browser. There is no build process and no npm install. The README notes that index.html loads pinned, checked-in browser dependencies from vendor/, so a fresh local launch works without a network connection. A third option is a local CLI: npx codeflow . serves the same index.html UI, watches the folder, and opens it in the browser, though the README says this is 'once published', implying it may not be available yet. Finally, local file analysis works by clicking the Open Folder button, selecting a folder or files, and processing them entirely in the browser. For private GitHub repos, you can create a personal access token with repo scope and paste it into the Token field; the token is stored only in browser memory and cleared when the tab closes.

Blast Radius and PR Impact: The Core Value

Two features stand out as the most useful for daily work. Blast Radius Analysis answers the question: if I change this file, what breaks? The tool shows exactly how many files would be affected by a change to a selected file. This is a practical way to assess risk before editing code. PR Impact Analysis extends this to pull requests: paste a PR URL and see which files it affects and calculate the blast radius of the proposed changes. This gives reviewers a concrete sense of the change's scope before diving into the diff. The README does not specify how the blast radius is computed, whether it is transitive, or how it handles dynamic imports or conditional requires. That means the number could be misleading for codebases that use lazy loading or reflection. Still, the feature is a strong selling point for a browser tool.

Security Scanner and Its Exclusions

CodeFlow includes an automatic security scanner that detects hardcoded secrets, SQL injection, dangerous eval() usage, and debug statements in production code. The README is careful about exclusions: test files, fixtures, docs, and common tooling directories like .github, .claude, and scripts are excluded from the XSS and shell-execution checks. The rationale is that findings there do not reflect the shipped product's attack surface. The hardcoded-secret check exempts only tests, fixtures, and docs; CI workflows, hooks, and deploy scripts are still checked because a real credential there is a real leak. This shows a thoughtful approach to reducing false positives. However, the scanner's detection mechanism is not described. It likely uses regex patterns, which are prone to both false positives and missed cases. For a production-grade security audit, you would still need a dedicated tool, but as a quick triage, it is a useful add-on.

Pattern Detection and Health Score: Heuristics with Limits

The pattern detection identifies singletons, factories, observers, React custom hooks, and anti-patterns like God Objects and high coupling. This is a heuristic analysis, and the README does not explain the detection logic. A React custom hook is likely recognized by the use prefix in a function name, which is a reliable signal. God Object detection probably relies on metrics like file length, number of dependencies, or coupling. These heuristics can be useful for a quick smell check, but they are not a substitute for a human review. The health score combines dead code percentage, circular dependencies, coupling, and security issues into an A-F grade. The weighting of these factors is not specified, so two codebases with different profiles could receive the same grade for different reasons. The score is a conversation starter, not a definitive quality metric.

Local Analysis and the CodeFlow Card

Local file analysis is a major privacy feature. You can drag and drop files or folders, and the tool recursively scans the project structure. It prunes generated dependencies, caches, build output, and test artifacts automatically, with examples like node_modules, .next, .turbo, .local, dist, and playwright-report. You can also add custom exclude patterns like uploads/** or *.png before scanning. Files over 2 MB remain visible in results but their contents are not parsed, which is a sensible safeguard. The CodeFlow Card is a GitHub Action that generates an auto-updating SVG for your README, recomputed on every merge. It shows health grade, scale, fragility, and hidden costs, with five styles and accent presets. It also supports opt-in PR receipts and a privacy mode for public repos. This is a clever way to keep a public badge fresh without manual updates, though it requires adding a GitHub Action to your repository, which is a configuration step that some users may avoid.

Limitations and When It Is the Wrong Tool

The most obvious limitation is that CodeFlow is a browser-based heuristic analyzer, not a full static analysis suite. It will not understand build configurations, monorepo workspace dependencies, or language-specific import resolution beyond simple patterns. The README does not list supported languages, so it is unclear whether it handles C, Rust, or Go, or only web-centric languages. For a large enterprise codebase with complex build steps, the dependency graph may be incomplete or misleading. The security scanner is pattern-based, so it can miss context-aware vulnerabilities and produce false positives. The tool is also not designed for continuous monitoring; it is a snapshot analysis. If you need to enforce architecture rules in CI, you would be better off with a tool like SonarQube or a language-specific linter. The CodeFlow Card does provide a CI integration, but it only produces a badge, not enforcement. For teams that need to gate merges on architectural health, CodeFlow is the wrong choice.

Alternatives and the Trade-Off in Approach

A real alternative is a static analysis tool like SonarQube or a language-specific tool such as ESLint with import/no-cycle for JavaScript. SonarQube runs as a server, requires configuration, and provides deep, language-aware analysis with a wide range of rules, including security hotspots and code smells. It also tracks metrics over time, which CodeFlow does not. The difference in approach is fundamental: SonarQube analyzes code on a server, often in CI, and stores results in a database, whereas CodeFlow runs entirely in the browser and discards the data when the tab closes. That means SonarQube can enforce quality gates and provide historical trends, while CodeFlow offers instant, ephemeral insights with zero setup. For a quick orientation before a code review, CodeFlow is faster. For a governed development process, SonarQube is more robust. Another alternative is a language-specific dependency graph tool like dependency-cruiser for JavaScript, which gives precise control over dependency rules and can be integrated into CI. The trade-off is that you must configure it, whereas CodeFlow works out of the box.

Maintenance, Licensing, and Upgrade Considerations

The project is licensed under MIT, which is permissive and allows commercial use, modification, and distribution without royalty, though the README does not include the full license text. The repository has no recent releases listed, and the last push date is unknown, which raises questions about maintenance. The README mentions that the CLI is 'once published', suggesting that some features are not fully released. The dependency on pinned, checked-in vendor files means that upgrading browser libraries is a manual process, and if the project is not actively maintained, those dependencies could become stale with security vulnerabilities. The CodeFlow Card is a GitHub Action, so it depends on the action's maintenance as well. Before adopting CodeFlow for a team, you should check the repository's commit history and issue tracker to see how responsive the maintainer is. The MIT license gives you the freedom to fork and self-host, which mitigates some risk, but you would be responsible for keeping the vendor files up to date. The tool's value is in its simplicity, so the maintenance cost is low if the project remains stable, but the lack of releases is a warning sign for long-term reliability.

Editorial conclusion

Adopt CodeFlow if you want a zero-install, privacy-preserving way to explore unfamiliar codebases or assess the impact of changes before committing. Skip it if you need deep, language-specific analysis, enterprise-grade security scanning, or automated CI integration beyond the provided GitHub Action. Before relying on it, verify that the security scanner's pattern set matches your language and framework, and test the blast radius on a small repo to ensure the dependency resolution matches your build system. The tool's value is in its immediacy and privacy, not in exhaustive static analysis.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
Community notes

Community notes