DEV Community

Cover image for I Built the Tool DevOps Teams Actually Need (And It Changed How We Deploy)
Francisco Molina
Francisco Molina

Posted on

I Built the Tool DevOps Teams Actually Need (And It Changed How We Deploy)

TL;DR: Combine semantic-release + SonarQube + documentation generation into ONE tool. Analyze code impact automatically. No more guessing what breaks when you deploy.


*The Problem Nobody Talks About
*

It's 3 AM on Friday. You deploy a "small fix" to production.

Two hours later, your Slack is on fire.

"Why can't we log in?"
"The mobile app is broken"
"Payment processing failed"

You search the code for what changed. You check git logs. You manually trace through 3 different services trying to understand the ripple effect of your change.

This shouldn't be this hard.

Every DevOps tool solves ONE problem:

  • semantic-release → versions only
  • SonarQube → code smells only
  • GitHub Release Notes → manual, incomplete
  • Dependency trackers → just list files

None of them answer the REAL question:

"What actually breaks when I change this?"


What If You Could Know... Before Deploying?

We built NEXUS. It's an MCP server that does 5 things at once:

1. Source Analysis - Understand What Changed

Reads your conventional commits, parses code diffs, detects:

  • ✅ Function signature changes (breaks consumers)
  • ✅ Exported symbol removals (breaks imports)
  • ✅ Type changes (TypeScript/Python)
  • ✅ API contract violations
  • ✅ Breaking changes at multiple levels

2. Impact Calculator - See the Ripple Effect

Builds your complete dependency graph, then calculates:

  • Which files are affected (direct)
  • Which services break (indirect)
  • How many consumers need updates
  • Risk score (0-1 scale)
Your change:
  src/auth.ts: verifyToken() signature changed

NEXUS calculates:
  ├── Direct consumers: 3 files
  ├── Indirect consumers: 12 files
  ├── External packages: 2 services
  ├── Risk score: 0.85 (HIGH)
  └── Estimated work: 3-5 days
Enter fullscreen mode Exit fullscreen mode

3. Version Analysis - Semver Done Right

Follows conventional commits → automatically suggests version bump:

v1.0.0
  ├── BREAKING CHANGE footer? → v2.0.0
  ├── feat: → v1.1.0
  └── fix: → v1.0.1
Enter fullscreen mode Exit fullscreen mode

4. Release Notes Generator - Professional Documentation

Auto-generates markdown with:

  • Breaking changes (with migration guides)
  • New features (with examples)
  • Bug fixes (organized by component)
  • Contributors
  • Timeframe for updates
# 2.0.0 - Released Apr 22, 2024

## ⚠️ Breaking Changes

### auth.verifyToken() signature changed
**Why**: Improved security
**Migration time**: ~5 min
**Affected**: 3 consumers

Before:
Enter fullscreen mode Exit fullscreen mode


typescript
const verified = verifyToken(token);


After:
Enter fullscreen mode Exit fullscreen mode


typescript
const verified = verifyToken(token, { algorithm: 'HS256' });


## 🎉 New Features
...
Enter fullscreen mode Exit fullscreen mode


plaintext

5. Technical Debt Analyzer - Future-Proof Your Code

Detects problems BEFORE they bite you:

  • Cyclomatic complexity per function
  • Code duplication
  • Functions that are too long
  • Missing tests
  • Unresolved TODOs
  • Predicted breaking points (ML-based)

Real Example: How It Saved Us

We have a mid-sized app: 340 TypeScript files, 5 services.

Scenario: Refactored src/auth/verify.ts to use a new algorithm.

Without NEXUS:

Deploy → Test manually → Find 3 broken services
→ Hotfix at 2 AM → Another deploy
→ 6 hours of chaos
Enter fullscreen mode Exit fullscreen mode


plaintext

With NEXUS:

git push → NEXUS analyzes
→ "Breaking change detected: 3 direct consumers, 12 indirect"
→ "Risk score: 0.85"
→ "Create migration PR for: auth.ts, api.ts, controllers/user.ts"
→ "Estimated work: 3 days"

→ We KNOW before deploying
→ We coordinate updates
→ Deploy happens smoothly
Enter fullscreen mode Exit fullscreen mode


plaintext


How It Works (The Tech)

The Process

  1. Parse commits between two versions
  2. Extract code changes:
    • Function signatures
    • Type definitions
    • Exported symbols
  3. Build dependency graph:
    • Direct imports
    • Re-exports
    • Dynamic imports (when possible)
  4. Calculate ripple effects:
    • Consumers of each changed file
    • Transitivity (if A imports B and B changed, A breaks)
  5. Risk scoring:
    • Breaking changes = 2x risk
    • Critical files = 2x risk
    • Many consumers = risk
  6. Workload estimation:
    • ~5 files per day baseline
    • 50% more for breaking changes

Multi-Language Support

Works with:

  • TypeScript ✅ (full AST parsing, type inference)
  • JavaScript ✅ (dynamic imports handled)
  • Python ✅ (AST analysis)
  • Java/Go ✅ (structural analysis)

Performance

Tested on real projects:

Syncwave (45 files)    → 0.2 seconds
Medium App (340 files) → 1.2 seconds
Large App (2400 files) → 8.5 seconds
Enter fullscreen mode Exit fullscreen mode


json


Installation

As an MCP Server (Recommended)

# In your Claude config
{
  "mcpServers": {
    "nexus": {
      "command": "npx",
      "args": ["@frxncisxo/nexus"],
      "env": {
        "NEXUS_REPO": "/path/to/your/repo"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Then in Claude:

"Analyze impact of my recent changes"
"Generate release notes from v1.0.0 to HEAD"
"What's the technical debt in my codebase?"
Enter fullscreen mode Exit fullscreen mode

As an NPM Package

npm install -D @frxncisxo/nexus
Enter fullscreen mode Exit fullscreen mode
import { Nexus } from '@frxncisxo/nexus';

const nexus = new Nexus({
  repositoryPath: '/path/to/repo',
  languages: ['ts', 'js', 'py'],
  enableMLAnalysis: true,
});

// Analyze impact
const impact = await nexus.analyzeImpactFromCommits('v1.0.0', 'HEAD');
console.log(impact);
// {
//   breakingChanges: true,
//   riskScore: 0.65,
//   directlyAffected: ['src/auth.ts', 'src/api.ts'],
//   estimatedWorkDays: 3,
// }

// Generate release notes
const { versionAnalysis, markdown } = await nexus.generateReleaseNotes('v1.0.0', 'HEAD');
console.log(versionAnalysis.suggestedVersion); // "2.0.0"
console.log(markdown); // Full markdown file
Enter fullscreen mode Exit fullscreen mode

Why We Built This

Existing tools are fragmented:

Need Tool Problem
Versioning semantic-release Doesn't analyze impact
Code quality SonarQube Doesn't understand your changes
Docs conventional-changelog Manual, stale
Tech debt Various linters Reactive, not predictive

We wanted ONE tool that:

  • ✅ Understands code deeply
  • ✅ Predicts impact before deploy
  • ✅ Generates docs automatically
  • ✅ Works with your existing workflow
  • ✅ No tool integration nightmare

Real-World Use Cases

1. Enterprise Deployments

"We need to know what breaks before we deploy to 100k users"

2. Monorepo Management

"Change in workspace A affects workspace B and C... where else?"

3. API Versioning

"Can we deprecate this endpoint?" → "Yes, 1 consumer, we can migrate in 3 hours"

4. Team Onboarding

"What changed in the last sprint?" → Automatic migration guide for new devs

5. Release Planning

"Should this be 1.0.1 or 2.0.0?" → NEXUS knows


What's Next?

  • 🔜 GitHub Actions integration
  • 🔜 Slack notifications ("Hey, this is a breaking change!")
  • 🔜 VS Code extension
  • 🔜 Web dashboard for teams
  • 🔜 Enterprise features (custom rules, Jira integration)

Try It Now

Option 1: Use with Claude (easiest)

Add to your claude.json config, then ask:
"What's the impact of my recent changes?"
Enter fullscreen mode Exit fullscreen mode

Option 2: Use as CLI

npx @frxncisxo/nexus impact v1.0.0 HEAD
npx @frxncisxo/nexus release v1.0.0 HEAD --markdown
npx @frxncisxo/nexus debt
Enter fullscreen mode Exit fullscreen mode

Option 3: Use as library

npm install @frxncisxo/nexus
Enter fullscreen mode Exit fullscreen mode

The Bigger Picture

At 3 AM on Friday, you don't want to debug production. You want to know before you deploy what's going to break.

NEXUS is that early warning system.

It's what every team building in the cloud actually needs, but nobody built it until now.


Links


Questions? Open an issue on GitHub or reach out. We built this for you.

Made with ❤️ by developers, for developers.


Share This

If you found this useful, share with your team!

  • DevOps engineers → Impact analysis before deploy
  • Release managers → Automatic versioning + docs
  • Tech leads → Understand codebase complexity
  • New team members → Migration guides when things change

Originally published on [Dev.to / Medium / HashNode]. Follow for more tools that actually solve problems.

Top comments (0)