Configuration
Slopcannon can be configured at the organization level and per-repository.
Organization Settings
Access via Dashboard → Settings.
Slop Threshold
The score at which a PR is considered "flagged" for review.
| Setting | Description |
|---|---|
| Default | 30 |
| Range | 10-200 |
| Effect | PRs at or above threshold appear in "Flagged" stats |
Lower thresholds are stricter; higher thresholds are more permissive.
Analyze Draft PRs
Controls whether draft pull requests are analyzed.
| Setting | Behavior |
|---|---|
| Off (default) | Draft PRs are skipped |
| On | All PRs analyzed including drafts |
This is the organization default. Individual repos can override.
Repository Settings
Access via Dashboard → Repos and click a repository row.
Enabled
Toggle PR analysis for this repository.
| Setting | Behavior |
|---|---|
| Enabled (default) | PRs are analyzed |
| Disabled | PRs are ignored |
Disabling a repo:
- Stops new PR analysis
- Keeps existing scan history
- Does not remove the repo from your installation
Analyze Drafts (Per-Repo)
Override the organization setting for this specific repository.
| Setting | Behavior |
|---|---|
| Inherit (default) | Uses organization setting |
| On | Always analyze drafts for this repo |
| Off | Never analyze drafts for this repo |
Ghost Mode
Currently, Slopcannon operates in ghost mode by default:
- Analysis results are stored in the database
- Results are visible in the dashboard
- No comments are posted to GitHub
- No check runs are created
This allows you to evaluate Slopcannon's analysis without impacting your PR workflow.
GitHub comment/check integration is coming in a future release. Ghost mode will become a configurable option.
File Filtering
Slopcannon automatically skips certain paths and file types:
Skipped Paths
node_modules/vendor/third_party/dist/build/.git/
Skipped Files
- Lock files (
package-lock.json,yarn.lock,*.lock) - Minified files (
*.min.js,*.min.css) - Source maps (
*.map) - Generated files (detected by path patterns)
File Classification
Files are classified to apply appropriate analysis:
| Classification | File Types | Analysis |
|---|---|---|
| Executable | .js, .ts, .jsx, .tsx, .py, .go, .rb, .java, .cs, .php | Full slop detection |
| Declarative | .json, .yaml, .yml, .toml, .xml, .css, .scss, .sql | Structure only |
| Test | *_test.*, *.test.*, *.spec.*, test_*.* | Reduced sensitivity |
| Documentation | .md, .mdx, .txt, .rst | Skipped |
| Generated | Auto-detected | Skipped |
Best Practices
Starting Out
- Install on a few repositories first
- Review the dashboard to understand baseline scores
- Adjust thresholds based on your team's standards
Threshold Tuning
- Start with the default (30)
- If too many false positives, raise the threshold
- If missing obvious issues, lower it
- Different repos may warrant different approaches
Draft PRs
Consider enabling draft analysis if:
- Your team uses drafts for early feedback
- You want to catch issues before PRs are marked ready
Keep drafts disabled if:
- Drafts are frequently incomplete/experimental
- You don't want noise from work-in-progress