CLI Reference
All 18 Sailop CLI commands with their options, flags, and output examples. Commands marked Pro require a Pro license ($39 one-time).
Global options
These flags work with any command:
| --help, -h | Show help for any command |
| --version, -v | Print version number |
| --no-color | Disable colored output |
| --verbose | Show additional debug information |
| --quiet, -q | Suppress all output except errors |
sailop scanFree
Scan files or directories for AI-generated visual patterns. Outputs a slop score, grade, and a list of triggered rules organized by dimension.
sailop scan <path> [options]| --format <type> | Output format(default: pretty) |
| --threshold <n> | Fail with exit code 1 if score exceeds this value |
| --include <glob> | Only scan files matching this pattern |
| --exclude <glob> | Skip files matching this pattern |
| --verbose | Show every rule check, not just triggered ones |
| --no-color | Disable color output |
sailop scan ./src --format json --threshold 40{
"score": 67,
"grade": "D",
"dimensions": {
"colors": { "score": 12, "weight": 0.20, "findings": 4 },
"typography": { "score": 8, "weight": 0.15, "findings": 2 },
"spacing": { "score": 10, "weight": 0.15, "findings": 3 },
...
},
"findings": [ ... ],
"filesScanned": 24
}sailop fixPro
Auto-transform your code to replace AI patterns with a unique design system. Rewrites CSS, Tailwind classes, and inline styles while keeping your markup semantic.
sailop fix <path> [options]| --seed <string> | Deterministic seed for design system generation |
| --dry-run | Preview changes without writing files |
| --no-backup | Skip creating .sailop-backup/ before transforms |
| --dimensions <list> | Only fix specific dimensions (comma-separated) |
| --aggressive | Apply deeper transforms including layout restructuring |
sailop fix ./src --seed my-brand --dry-runDry run — no files will be modified
Would transform 18 files:
src/app/page.tsx — 7 changes (colors, radius, spacing)
src/components/nav.tsx — 3 changes (colors, typography)
src/app/globals.css — 12 changes (all dimensions)
...
Estimated score change: 67 → 19 (Grade A)sailop generateFree
Generate a unique design system as CSS custom properties. The output is a complete set of variables for colors, fonts, spacing, radius, shadows, and more.
sailop generate [options]| --seed <string> | Seed for reproducible output |
| --format <type> | Output format: css, json, tailwind(default: css) |
| --hue <n> | Force a specific base hue (0-360) |
| --mode <type> | Light or dark mode output(default: light) |
| --output <path> | Write to file instead of stdout |
sailop generate --seed acme-corp --format css:root {
--c-bg: #f2ede6;
--c-bg-raised: #faf7f3;
--c-fg: #1e1a15;
--c-fg-body: #504840;
--c-accent: #b05530;
--c-secondary: #2a7568;
--f-display: 'Bitter', Georgia, serif;
--f-body: 'Karla', system-ui, sans-serif;
--r-btn: 3px;
--r-card: 6px;
/* ... 40+ more variables */
}sailop setupFree
Configure Sailop for your environment. Writes MCP server configuration for Claude Code, Cursor, and other compatible editors.
sailop setup [options]| --global | Write configuration to your home directory (all projects) |
| --local | Write configuration to the current project only |
| --editor <name> | Target a specific editor: claude, cursor, all(default: all) |
| --force | Overwrite existing configuration |
sailop setup --global --editor claudesailop autotunePro
Karpathy-style iterative improvement loop. Repeatedly scans, transforms, and re-scans until the score drops below a target threshold or the maximum iterations are reached.
sailop autotune <path> [options]| --target <n> | Target score to reach(default: 20) |
| --max-iter <n> | Maximum number of iterations(default: 5) |
| --seed <string> | Seed for design system generation |
| --verbose | Show per-iteration breakdown |
sailop autotune ./src --target 15 --max-iter 3Iteration 1: score 67 → 34 (improved 33 points)
Iteration 2: score 34 → 21 (improved 13 points)
Iteration 3: score 21 → 14 (improved 7 points)
Target reached: 14/100 (Grade A)
3 iterations, 18 files transformedsailop hookPro
Manage the git pre-commit hook. The hook runs a scan before each commit and blocks if the slop score exceeds your configured threshold.
sailop hook <action> [options]| install | Install the pre-commit hook in the current repo |
| remove | Remove the pre-commit hook |
| --threshold <n> | Maximum allowed score(default: 40) |
| --staged-only | Only scan staged files, not the entire project |
sailop hook install --threshold 30 --staged-onlysailop diffPro
Show a before/after comparison of what the transform would change. Renders a visual diff of CSS properties and Tailwind classes.
sailop diff <path> [options]| --seed <string> | Seed for design system generation |
| --color | Force color output even in non-TTY(default: auto) |
sailop diff ./src/globals.css--- src/globals.css (before)
+++ src/globals.css (after)
- --c-bg: #ffffff;
+ --c-bg: #f2ede6;
- --c-accent: #6366f1;
+ --c-accent: #b05530;
- border-radius: 8px;
+ border-radius: 5px;
12 properties would changesailop rulesFree
List all detection rules. Shows rule ID, dimension, severity, and a short description of what each rule detects.
sailop rules [options]| --dimension <name> | Filter by dimension (colors, typography, spacing, etc.) |
| --severity <level> | Filter by severity: low, medium, high, critical |
| --format <type> | Output format: pretty, json(default: pretty) |
sailop rules --dimension colorsColors dimension — 12 rules
COL-001 high Blue-indigo primary palette (#6366f1, #4f46e5, etc.)
COL-002 high Blue-violet gradient backgrounds
COL-003 medium Pure white background (#ffffff)
COL-004 medium Pure black text (#000000)
COL-005 low Gray-only neutral palette (no warm/cool tint)
COL-006 high AI-band hues (200-290 range)
...sailop reportFree
Generate a detailed HTML report of the scan results. Opens in your browser with interactive charts and per-file breakdowns.
sailop report <path> [options]| --output <path> | Write report file to this path(default: ./sailop-report.html) |
| --open | Open the report in your default browser after generating |
sailop report ./src --opensailop initFree
Create a .sailoprc configuration file in the current directory. Sets project-specific scan options, thresholds, and exclusion patterns.
sailop init [options]| --template <name> | Start from a template: nextjs, react, vue, svelte, default(default: default) |
| --threshold <n> | Set default threshold in config(default: 40) |
sailop init --template nextjsCreated .sailoprc in /Users/you/project/
{
"threshold": 40,
"exclude": ["node_modules", ".next", "dist"],
"include": ["src/**/*.{tsx,css,vue,svelte}"],
"dimensions": { "weights": "default" }
}sailop scoreFree
Quick score check. Prints only the numeric score and grade without the full findings list. Useful for scripting.
sailop score <path>sailop score ./src67 Dsailop compareFree
Compare two scan snapshots or branches. Shows score delta and which rules improved or regressed.
sailop compare <before> <after>| --format <type> | Output format: pretty, json(default: pretty) |
sailop compare baseline.json current.jsonScore: 67 → 22 (improved 45 points)
Grade: D → A
Improved:
Colors: 12 → 3 (-9)
Spacing: 10 → 2 (-8)
Typography: 8 → 1 (-7)
Regressed: nonesailop watchFree
Watch files for changes and re-scan automatically. Shows a live-updating score in the terminal. Useful during development.
sailop watch <path> [options]| --debounce <ms> | Wait this long after a change before re-scanning(default: 500) |
| --clear | Clear terminal on each rescan |
sailop watch ./src --clearsailop exportFree
Export the generated design system in various formats for use outside of Sailop.
sailop export [options]| --format <type> | Format: css, scss, json, tailwind-config, figma-tokens(default: css) |
| --seed <string> | Seed for reproducible output |
| --output <path> | Write to file instead of stdout |
sailop export --format tailwind-config --seed acme > tailwind.config.patch.jssailop cleanFree
Remove Sailop-generated backup files and temporary data from the project directory.
sailop clean [options]| --backups | Remove .sailop-backup/ directories |
| --reports | Remove generated report files |
| --all | Remove everything Sailop-related |
sailop clean --allsailop configFree
View or modify the Sailop configuration for the current project or global scope.
sailop config [key] [value]| --global | Read/write global config instead of project config |
| --list | Print all configuration values |
| --reset | Reset to defaults |
sailop config threshold 30sailop licenseFree
Manage your Pro license. Activate, deactivate, or check license status.
sailop license <action>| activate <key> | Activate a Pro license key |
| deactivate | Deactivate the current license on this machine |
| status | Check current license status |
sailop license activate SAILOP-XXXX-XXXX-XXXXLicense activated successfully.
Plan: Pro (lifetime)
Machine: registered
Features: fix, autotune, hook, diff, exportsailop --versionFree
Print the installed Sailop version.
sailop --versionsailop --versionsailop v1.4.2