Optimized for TypeScript & NextJS

Your AI writes code.Deslop makes it good.

The Clean Code guardrail for the Agentic era. Removes AI slop and enforces architectural boundaries via MCP for Cursor and Claude Code.

Embrace the full potential of vibe-coding without sacrificing quality. Add Deslop to your CI and stop the AI slop tech-debt via advanced static analysis.

deslop/rules/architecture.yaml
1name: Clean Architecture
2rules:
3- id: enforce-pure-domain
4target:
5- "@/domain/**/*.ts"
6forbidden:
7# Core logic must not depend on UI or Frameworks
8- import: "@/components/**/*"
9transitive: true
10- import: "next/*"
11transitive: true
12- import: "react"
13transitive: true

The Big Three

Deslop bridges the gap between high-speed AI code generation and senior-level architectural standards.

Architectural Rulebook

Enforces dependency boundaries and bans problematic imports, function calls, and more. Define your own rules or start from vetted Clean Code templates.

A high-speed Haskell engine enforces them algorithmically with correctness guarantees.

deslop.config.yaml
rules:
  - id: no-react-in-core
    forbidden:
      - import: react
        transitive: true

Native MCP and CI integration

Expose tools, context, and prompts to your AI agent through a local MCP server—so generated code stays aligned with your rulebook.

When the model drifts, the Deslop GitHub Action enforces the same rules in CI.

Local MCP server

Tools, context, and prompts wired into your agent's loop.

GitHub Action

Hard enforcement on every pull request—same rules as local.

Code Smells Fixer

Goes beyond Biome and ESLint with project-wide, AST-aware checks and fixes.

For example, the Relative Import Fixer replaces brittle ../../ paths in one pass—keep your existing linters and add Deslop as an extra quality gate.

BiomeESLintDeslop
Before AI Slop
Profile.tsx
import { User } from '../../../../types';
After Deslop
Profile.tsx
import { User } from '@/types';

Integration Ecosystem

Deslop lives where you code. Whether it's real-time feedback in your editor or automated gatekeeping in your CI.

Local MCP Server

Native integration with Cursor and Claude Code for real-time sanitization.

CI Mode

Deslop GitHub Action for automated PR gatekeeping and slop detection.

Console

> deslop --check

deslop 0.4.10 · check · workspace default

Deslopping project: .

847 files in scope · acme-dashboard

RuleBook loaded · 58 rules

Imports & dependency boundaries checked

0 violations · 0 warnings

Success: No problems found.

Finished in 50.89ms

Simple, transparent pricing

Per-user pricing for local tooling and CI. No hidden tiers—what you see is what you pay.

Most Popular

Personal License

$10.99/mo per user

Local Deslop CLI and MCP server. Sign in with your Deslop account to activate this plan.

  • Deslop RuleBook
  • Enforce architecture
  • MCP server for Cursor and Claude Code—native agent communication
  • LLM-friendly Markdown reporting, optimized for AI workflows
  • Code smells: reporting and fixes (e.g. relative imports)

CI / Team License

$24.99/mo

Includes one Personal License (full local CLI + MCP). Add seats as your team grows.

  • Everything in Personal License
  • GitHub Actions CI integration
  • Project-wide RuleBook
  • Easier reviews and cleaner PRs

Additional seats: each extra Personal License is $10.99/mo per user.

Under the hood

How Deslop understands your codebase

Deslop operates like a true compiler frontend. A pure Haskell engine ingests your TypeScript alongside your tsconfig.json, distilling raw syntax into normalized semantics—where superficial code variations resolve into a single, unified model. By building a lossless pipeline from exact source tokens to a fully connected, whole-repo graph, it unlocks surgical automated fixes and unbreakable architectural rules.

Concrete Syntax Tree (CST)

Deslop builds a fully lossless CST, retaining all compiler trivia—every whitespace character and comment is accounted for. This allows the engine to round-trip edits directly to the original source text without destroying your formatting or causing noisy diffs.

Abstract Syntax Tree (AST)

The CST is lowered into a semantic AST. This is where structural bindings, control flow, and data flow are computed. It provides a deeper layer of static analysis that goes far beyond the capabilities of standard regex or purely text-based grep tools.

Whole-Repo Dependency Graph

Finally, Deslop resolves cross-file references to assemble a global topological graph of modules, imports, and symbols. This overarching view allows your RuleBook to enforce complex architectural boundaries and systemic invariants that single-file linters simply cannot see.

Why Biome and ESLint aren't enough

Linters like Biome and ESLint are phenomenal at single-file AST traversal, stylistic formatting, and localized bug detection. However, they lack a unified, cross-file semantic model. They operate in isolation. When you need to enforce complex architectural contracts—like preventing your domain layer from importing React components—localized AST visitors fall short.

Deslop isn't a replacement; it's a structural complement. Keep your linters for fast, local feedback, and use Deslop as the deterministic, project-wide enforcement layer that guarantees architectural integrity.

The blind spot of AI coding agents

Modern AI harnesses like Cursor and Claude Code rely on RAG (Retrieval-Augmented Generation) to understand your repository. They chunk code based on text embeddings, which is inherently probabilistic and easily fragmented. Vector search frequently misses crucial edge cases, buried import chains, or implicit type dependencies, resulting in hallucinatory refactors.

Deslop solves this by exposing a complete, deterministic graph via MCP (Model Context Protocol). Instead of guessing based on semantic similarity, agents can query exact topological contexts, ensuring AI-generated code perfectly aligns with your pipeline's architectural rules.

Built in Haskell. Purely functional and mathematically correct — bringing strict determinism to our increasingly non-deterministic, LLM-driven world.

LLM-friendly reporting

Deslop reports errors in a LLM-friendly Markdown format with clear instructions on how to fix them. Perfect for integration with Cursor, Claude Code, Codex, or your custom MCP server.

  • Machine-readable Markdown output
  • Clear 'FIX' instructions for agents
  • Context-aware error reporting
  • Seamless CI/CD integration
deslop-report.md
# /src/app/[locale]/dashboard/settings/security/mfa/page.tsx: no-relative-imports
Relative imports are not allowed. Use absolute path aliased ones.

```ts
import { assertOrgRole } from '../../../../lib/auth/rbac';
```

FIX: Use `import { assertOrgRole } from '@/lib/auth/rbac';` instead.
---------

Your AI writes code.
Deslop makes it Senior-grade.

Join 500+ developers turning fragmented AI output into clean, maintainable, and architectural code.