LucidShark
[CI]
[codecov]
[License]
Ship AI-generated code without the fear
The quality gate for agentic engineering. As AI agents increasingly write production code, LucidShark ensures high standards through automated, comprehensive quality checks - no manual code review bottlenecks.
[LucidShark Demo]
Why LucidShark
-
Local-first - No server, no SaaS account. Runs on your machine and in CI with the same results.
-
Configuration-as-code - lucidshark.yml lives in your repo. Same rules for everyone, changes go through code review.
-
AI-native - MCP integration with Claude Code, Cursor and Windsurf, plus a lint hook for Aider. Structured feedback that AI agents can act on directly.
-
Unified pipeline - Linting, type checking, formatting, security (SAST/SCA/IaC), tests, coverage, and duplication detection in one tool. Stop configuring 5+ separate tools.
-
Open source & extensible - Apache 2.0 licensed. Add your own tools via the plugin system.
Quick Start
That's it! Your AI assistant will analyze your codebase, ask you a few questions, and generate the lucidshark.yml configuration.
Installation Options
Important: LucidShark is distributed as a standalone binary. The installation creates a project-local ./lucidshark file. Always use ./lucidshark to ensure you're running the project-specific version.
Verified Downloads
Nothing LucidShark installs runs unverified:
-
The LucidShark binary. Every release publishes a SHA256SUMS file and a signed build provenance attestation. The install script checks the binary against SHA256SUMS before making it executable and aborts on mismatch. The self-updater does the same before staging an update, and checks the hash again before applying it. SHA256SUMS comes from the same release as the binary, so it catches corrupted or tampered transfers. The attestation is what proves a binary was built by this repository's release workflow. To verify a manual download:
-
Scanner and tool binaries (Trivy, OpenGrep, Checkov, gosec, PMD, Checkstyle, SpotBugs, ktlint, detekt, duplo). Each download is checked against a SHA-256 pinned inside LucidShark for that exact version, asset and platform (checksums.py). A mismatch, or a URL with no pin, is refused before anything is written to disk. The pins are generated by scripts/update_tool_checksums.py, which cross-checks each hash against the digest GitHub recorded when the asset was uploaded.
Running Scans
Scan domains: --linting, --type-checking, --formatting, --sast, --sca, --iac, --container, --testing, --coverage, --duplication
Incremental Scanning
By default, LucidShark scans only uncommitted changes (staged, unstaged, untracked files):
See Incremental Scanning for threshold scopes, CI integration, and advanced usage.
Note: LucidShark runs in strict mode by default - all configured tools must run successfully. If a tool is missing, not applicable, or fails to execute, the scan fails with a HIGH severity issue and fix suggestions. Security tools (trivy, opengrep, gosec, checkov), duplo, PMD, Checkstyle, SpotBugs, ktlint, and detekt are downloaded automatically.
Example Output
When issues are found:
When everything passes:
Use --format table for a detailed per-issue breakdown, or --format json for machine-readable output.
Diagnostics
Check your LucidShark setup with the doctor command:
This checks:
- Configuration file presence and validity
- Tool availability (security scanners, linters, type checkers)
- Python environment compatibility
- Git repository status
- MCP integration (Claude Code)
AI Tool Setup
init configures Claude Code by default. Tool flags select other tools and combine freely; --all-tools configures all of them. --dry-run, --force and --remove apply to every selected tool, and shared files (CLAUDE.md, CONVENTIONS.md, .aider.conf.yml, MCP JSON files) are merged, never overwritten.
Restart your AI tool after running init to activate.
Any other MCP client can run the server directly with lucidshark serve --mcp .. Or tell your agent:
Add the LucidShark MCP server so you can test your own output before committing.
Supported Languages
LucidShark supports 14 programming languages with full tool coverage:
For detailed per-language tool coverage, configuration examples, and detection info, see the Language Reference.
What It Checks
All results are normalized to a common format.
Quality Overview
Track quality trends over time with a git-committed quality dashboard - no server or SaaS required.
This creates QUALITY.md at your repo root showing:
- Health score (0-10) with visual bar
- Domain status table with trends
- Issues breakdown by severity
- Top files by issue count
- Test coverage and duplication metrics
- Historical trend chart
Add to your CI pipeline to auto-update on merge to main. See docs/help.md for configuration options.
Configuration
LucidShark auto-detects your project. For custom settings, create lucidshark.yml:
See docs/help.md for the full configuration reference.
CLI Reference
For the full CLI reference, all scan flags, output formats, and exit codes, see docs/help.md.
Development
To build LucidShark from source:
Documentation
License
Apache 2.0