VEYRO Codebase Intelligence•Production-Grade AST Analysis

Understand any codebase.

Turn a GitHub repository into a navigable map of dependencies, symbols, and architectural risks.

Or explore without typing:
Interactive Architectural Topology
Tarjan SCC Verified
Entrypoint
src/index.ts
Exports: main()
Hub Module
src/services/auth.ts
Cycle with user.ts
Crypto Utility
src/utils/crypto.ts
node:crypto + bcrypt
TypeScript Compiler API

True semantic AST parsing for symbols, functions, types, and exports.

Tarjan SCC Cycles

Strongly connected components isolation mathematically finds recursion.

Pinned 40-Char SHA

Every file and graph node bound to an immutable GitHub commit revision.

100% In-Memory Analysis

Static analysis without running untrusted code or saving data to disk.

LIVE FILM SCRUB
ACT IRepository Ingest & Snapshot
SMPTE00:00:00:00
ACT I
INGEST
ACT II
AST PARSE
ACT III
TOPOLOGY
ACT IV
TARJAN SCC
ACT V
WORKSPACE
github.com/veyro-sample/fixture|sample0
Commit SHA Pinned
Ingest CodebaseGit Revision Pinned
https://github.com/veyro-sample/fixture
Commit: sample0000...Filtering: node_modules, .git
Repository Tree8 files
▾src/
▾services/
auth.tsACTIVE
user.ts
token.ts
▾utils/
crypto.ts
package.json
AST Parser: TS Compiler API
src/services/auth.tsTypeScript 5 AST
1import{ getUser }from'./user';@ast: import_specifier
2import{ generateToken }from'./token';@ast: import_specifier
3import{ hashPassword }from'../utils/crypto';@ast: import_specifier
4export functionauthenticate(name: string) {
5constuser =getUser(name);
6return{ token: generateToken(user), user };
7}
ENTRYPOINTTS
src/index.ts
out: 2 • in: 0
CORE SERVICETS
src/services/auth.ts
in: 2 • out: 2 (Hub)
CYCLE PARTNERTS
src/services/user.ts
in: 2 • out: 1 (Cycle)
AUTH HELPERTS
src/services/token.ts
out: 2 • in: 1
UTILITYTS
src/utils/crypto.ts
out: 2 • in: 1
MANIFESTJSON
package.json
bcrypt: ^5.0
Tarjan SCC Detected:src/services/auth.ts ⇄ src/services/user.ts
1 Cycle
Architectural FindingHIGH RISK
Circular Loopauth.ts ⇄ user.tsMutual import may lead to undefined evaluation at module bootstrap.
Coupling Hotspotsrc/services/auth.tsIn-Degree: 2 • Out-Degree: 2
Coverage:83.3% (5/6 files)
Full Workspace ReadySample Ingested
Browse full 2D interactive DAG, CodeMirror 6, and findings.
ACT IPin the repository to an exact GitHub commit snapshot
Developer-First Architecture

Built for engineering teams who demand precision

Everything inside VEYRO is backed by genuine parsing pipelines and verified algorithmic graph topologies.

Real AST Parsers, Not Regex

Uses the official TypeScript Compiler API and Python AST parser to extract genuine symbols, type interfaces, and import declarations. Never fooled by comments or multi-line strings.

Tarjan SCC Cycle Detection

Finds circular dependency loops mathematically using Tarjan’s strongly connected components algorithm. Highlights affected files so you avoid nasty runtime undefined exports.

Deep Import Resolution

Resolves relative specifiers, directory index files, external package dependencies, and Python standard libraries. Broken or unresolvable imports are transparently reported.

In-Context Code Viewing

Embedded CodeMirror 6 client viewer with syntax highlighting and line numbers. Selecting any graph node or tree leaf pulls the raw file content at the pinned commit revision.

Global Command Palette (Ctrl+K)

Instant keyboard-driven search indexing file paths, symbol declarations, external package imports, and architectural findings across the entire analyzed repository.

Honest Metrics & Denominators

Parser coverage calculates an explicit denominator (analyzed / discovered files). No made-up scores or fake 100% badges—real engineering diagnostics.

End-to-End Pipeline

How VEYRO analyzes code without cloning

A strictly typed, bounded pipeline designed to inspect remote repositories with speed, security, and algorithmic precision.

01

GitHub Ingestion

POST /api/repository & /api/tree

Resolves repository to an immutable 40-character commit SHA. Recursively fetches tree metadata and filters out vendor bundles (node_modules, dist, lockfiles).

Stage 1 of 4Strict Boundaries
02

Semantic Parser Registry

TypeScript Compiler API + Python AST

Routes files to language-specific adapters. Generates semantic symbol tables, import declarations, and structural exports without resorting to regex guesswork.

Stage 2 of 4Strict Boundaries
03

Resolution & Topology

Tarjan SCC + Graph Metrics

Maps specifiers to target file nodes. Computes incoming and outgoing degrees, identifies architectural hubs, and executes Tarjan’s algorithm for cycle detection.

Stage 3 of 4Strict Boundaries
04

Explorer Workspace

@xyflow/react + CodeMirror 6 + Zustand

Renders the deterministic dependency graph using Dagre layout. Synchronizes file selection, source inspection, and findings via a reactive client store.

Stage 4 of 4Strict Boundaries
Honest Engineering

Language support & runtime limitations

We don’t promise fake magic. Here is exactly what VEYRO supports today and the engineering boundaries we enforce.

Parser MatrixStrict AST & Token Parsers
TypeScript / JavaScript
.ts, .tsx, .js, .jsx, .mjs
TypeScript Compiler API parsing. Resolves ES imports, exports, dynamic imports, and index files.
Full AST Support
Python
.py
Python AST grammar. Resolves dotted imports (from .utils import x) and standard library modules.
Full Grammar Support
CSS
.css
Extracts @import statements and url() dependency references into graph edges.
At-Rule Parsing
JSON
.json, package.json
Extracts npm package dependencies, devDependencies, and peerDependencies.
Manifest Parsing
Go / Rust / Java
.go, .rs, .java
Currently treated with fallback reader. Dedicated tree-sitter adapters planned for v0.5.
Planned / Roadmap

Rate-Limit Transparency

Unauthenticated GitHub API calls are subject to GitHub’s 60 req/hr IP limit. If exhausted, VEYRO provides clean reset diagnostics and HTTP 429 notifications.

Max Analyzed Files (200 Cap)

To prevent browser lockups on massive monorepos, VEYRO bounds AST parsing to the top 200 relevant code files, prioritizing source code over build outputs.

500KB Max File Size Cap

Minified bundles or large binaries exceeding 500KB are skipped from AST parsing to preserve memory and maintain responsive UI rendering.

Bounded Concurrency (5)

Concurrent file fetches are clamped to a pool of 5 simultaneous HTTP requests to stay within network thresholds and avoid secondary rate limits.