Your software architecture is eroding.
Now you'll know where.
erode analyzes code changes against your architecture model using AI β catching undeclared dependencies and violations before they ship.
View on GitHub →—— Analysis Results: #1 ——
Add admin user management
Component: Web Frontend (frontend)
Summary:
Frontend bypasses API Gateway with direct User Service call.
Violations (1):
[HIGH] Direct dependency on User Service bypasses API Gateway
packages/frontend/src/index.ts
Suggestion: Route through API Gateway β extend it to
expose the admin/users endpoint instead
Model Updates:
Remove:
- frontend -> user_service (undeclared)
Add:
+ api_gateway -> user_service.admin_users Why erode?
AI is writing more code than ever
Agents and LLMs ship features fast β often faster than architecture docs can keep up with.
Dependencies grow silently
New integrations appear in the codebase without anyone updating the architecture model. Over time, the model stops reflecting reality.
Manual reviews can't keep up
Reviewers catch bugs, but rarely notice when a service starts calling another. By the time drift is noticed, it's hard to untangle.
Mature systems have more at stake
The larger the system, the harder it is to untangle an undeclared dependency after it ships.
How It Works
A multi-stage AI pipeline analyzes every code change against your architecture model.
Resolve
Identifies which architecture component maps to the repository being changed.
Scan
Extracts dependency changes and new integrations from the PR diff.
Analyze
Compares changes against the declared architecture model to detect drift.
Generate
Produces architecture model updates to bring the model back in sync.
Features
Multi-Provider AI
Choose between Gemini and Anthropic. Cheaper models for extraction, stronger models for analysis.
CI Integration
Runs as a GitHub Action with PR commenting and configurable failure thresholds. GitLab and Bitbucket support planned.
Auto-Fix PRs Coming soon
Optionally generates a change request with LikeC4 DSL updates to fix detected drift.
Violation Severity
Categorizes findings as high, medium, or low severity β each with a concrete suggestion.
Monorepo Aware
Resolves the correct architecture component when a single repo maps to multiple components.
Architecture-as-Code
First-class LikeC4 support today, with more architecture model formats on the roadmap.
Get Started
Add erode to your CI pipeline.
# .github/workflows/erode.yml
name: Architecture Drift Check
on: [pull_request]
jobs:
erode:
runs-on: ubuntu-latest
steps:
- uses: erode-app/core@main
with:
model-repo: your-org/architecture
github-token: ${{ secrets.GITHUB_TOKEN }}
gemini-api-key: ${{ secrets.GEMINI_API_KEY }}