Home
░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██░████████ ░████████ ░███████ ░████████ ░████████ ░██ ░██░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██░██ ░██ ░██ ░█████████ ░██ ░██ ░██ ░██ ░██░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██░██ ░██ ░████ ░███████ ░██ ░██ ░████
Lint + Intent
Make slop illegal. Give your AI agent a map to write clean code.
Linters say what's wrong — lintent explains why and how to fix it.
❌ Raw Linter
{
"code": "F401",
"message": "`os` imported but unused"
}
AI: deletes the import 🤷
✅ With lintent
{
"code": "F401",
"semantic": {
"illegal": "Unused imports",
"legal": "Remove, or # noqa for side-effects",
"why": "Clean deps, faster startup"
}
}
AI: understands the intent ✨
🚀 Quickstart: Let Your Agent Set It Up
Copy this prompt to your AI agent:
Set up lintent in this project for semantic linting:
1. Install: npm install -g lintent
2. Initialize: lintent init
3. Run: lintent run --pretty
4. Fix violations using semantic context (illegal/legal/why)
5. Check summary.without_semantic - if > 0, help me add custom rules:
- Run: lintent guide customize
- For each violation without semantic context, analyze my codebase patterns
- Ask me about conventions and exceptions
- Add rules to lintent.yaml
6. Create .cursor/rules/lintent.mdc with:
- Always run `lintent run --pretty` before fixing lint issues
- Use semantic context to understand violations
- Follow the "legal" guidance, don't just delete code
Set up lintent for semantic linting in this project:
1. Run: npm install -g lintent
2. Run: lintent init
3. Run: lintent run --pretty
4. Fix violations using semantic context (illegal/legal/why)
5. Check summary.without_semantic count. If > 0:
- Run: lintent guide customize
- Analyze codebase for patterns
- Ask me about our conventions
- Create custom rules in lintent.yaml
6. Add to CLAUDE.md:
## Linting
- Run `lintent run --pretty` before fixing lint issues
- Use semantic context: illegal (what's wrong), legal (how to fix), why (reasoning)
- Follow "legal" guidance, don't just delete code
Set up lintent for semantic linting in this project:
1. Install: npm install -g lintent
2. Initialize: lintent init
3. Run: lintent run --pretty
4. Fix violations using semantic fields (illegal/legal/why)
5. If summary.without_semantic > 0, customize rules:
- Run: lintent guide customize
- Search codebase for patterns related to violations
- Ask about conventions and exceptions
- Add project-specific rules to lintent.yaml
6. Add to AGENTS.md:
## Linting
- Run `lintent run --pretty` before fixing lint issues
- Use semantic context (illegal/legal/why)
- Follow "legal" guidance, don't just delete code
The Problem: AI Agents Need Context
❌ Without lintent
{
"code": "F401",
"message": "`os` imported but unused"
}
AI: deletes the import
But what if it was for side effects? What's the principle?
✅ With lintent
{
"code": "F401",
"semantic": {
"illegal": "Unused imports",
"legal": "Import only what you use, or # noqa for side-effects",
"why": "Clean deps, faster startup"
}
}
AI understands the intent.
Why lintent?
🎯 Semantic Context
Every violation includes illegal, legal, and why — the full picture for intelligent fixes.
⚡ Zero Config
Auto-detects ruff, pyright, eslint, and tsc from your existing config files. Just run it.
🤖 Agent-First
JSON output optimized for LLMs. Includes lintent guide for injectable AI instructions.
📦 Presets Included
Start with semantic rules for common violations. Customize as you grow.
🔧 Your Linters
lintent runs YOUR existing linters. No new tool to learn — just enriched output.
📊 Full Visibility
See which linters ran, which failed, and track semantic coverage over time.
Supported Linters
🐍 ruff 🐍 pyright 📜 eslint 📜 typescript
Coming soon: Rust (clippy), Go (golangci-lint), Java (checkstyle), and more.
Manual Setup
# Install
npm install -g lintent
# Initialize with preset
lintent init --preset python # or typescript
# Run
lintent run --pretty
# Get AI guide
lintent guide
Pro tip
Run lintent guide to get an injectable AI guide tailored to your project.