One Repository, Four Ecosystems
Modern software systems are polyglot by nature. A single repository might contain a React frontend (Node.js/TypeScript), an ASP.NET Core API, a Python ML pipeline, and a Java batch processor. Each ecosystem has its own package manager, its own registry, and its own versioning conventions.
Traditionally, monitoring upgrade health across these ecosystems required separate tools, separate dashboards, and separate processes. Vibgrate eliminates that fragmentation.
How Multi-Language Discovery Works
When you run vibgrate scan ., the CLI recursively walks your repository looking for project manifests:
| Ecosystem | Detected Files |
|---|---|
| Node.js / TypeScript | package.json, lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock) |
| .NET | .sln, .csproj files |
| Python | requirements.txt, pyproject.toml-style manifests |
| Java | pom.xml, Gradle-style manifests |
Each discovered project is scanned independently — detecting its runtime version, target framework, and all declared dependencies. The CLI then queries the appropriate package registry (npm, NuGet, PyPI, Maven) for the latest stable versions of each package.
Unified Scoring Across Languages
The Upgrade Drift Score applies the same methodology to every ecosystem. Whether a package is an npm module, a NuGet package, a pip dependency, or a Maven artifact, Vibgrate measures:
- How many major versions behind it is
- How long since the newer version was published
- Whether it is approaching end-of-life
- Whether it has known deprecation flags
This produces a score that is comparable across languages. A .NET project and a Node project with the same score have roughly the same level of upgrade debt — even though their dependency managers and versioning schemes differ.
Workspace-Level Aggregation
For multi-project workspaces, Vibgrate produces:
- Individual project scores: So you can see which project in your monorepo is the most drifted.
- A workspace aggregate score: A weighted combination that gives you the big-picture health.
- Cross-project findings: Issues that span multiple projects, like a shared runtime version that is behind.
This is particularly valuable for engineering leaders who oversee a portfolio of services. Instead of asking each team "how up to date are you?" and getting vague answers, you get a single report with comparable numbers.
Real-World Example
Consider a repository with this structure:
/frontend → package.json (React 18, Node 20)
/api → MyApi.csproj (ASP.NET Core 7.0)
/data-pipeline → pyproject.toml (Python 3.10, pandas)
/batch-processor → pom.xml (Java 17, Spring Boot 3.0)
Running vibgrate scan . discovers all four projects, scans each independently, and produces a unified report. You might see:
- Frontend: Score 72 (Low risk) — React 18 is one major behind, Node 20 is current.
- API: Score 38 (High risk) — ASP.NET Core 7.0 is past EOL, needs upgrade to 9.0.
- Data Pipeline: Score 55 (Moderate risk) — Python 3.10 is approaching EOL, several packages two majors behind.
- Batch Processor: Score 61 (Moderate risk) — Spring Boot 3.0 is behind 3.4, Java 17 still supported but 21 is current.
The workspace aggregate might be 54 (Moderate risk), with the Priority Actions highlighting the .NET API as the most urgent target.
No Configuration Required
Multi-language scanning works out of the box. You do not need to tell Vibgrate which languages your repository uses — it discovers them automatically. You do not need separate config files per language. One command covers everything.
The Vibgrate Drift Intelligence Engine was built from the ground up to handle polyglot repositories, because that is what real codebases look like. Drift does not respect language boundaries, and neither should your drift tooling.
Scan your whole stack. Sign up at dash.vibgrate.com and get a unified drift score across every language in your repository — in a single command.
