Skip to content

Configuration

The CLI has no configuration file to edit. Everything is a flag, an environment variable, or a value slopcop login stored.

ValueOrder
Service URL--service, SLOPCOP_SERVICE, stored by slopcop login, https://slopcop.com
TokenSLOPCOP_TOKEN, stored value
Workspace (check, ignore, repo)-w/--workspace, SLOPCOP_WORKSPACE, the one the login is bound to
Base commit (check)--base-exact, --base, merge base with the upstream, merge base with origin/HEAD, HEAD
Policy selection (check)--policy files, plus .slopcop/policies/**/*.rqlp unless --no-policy-discovery

All under the user config directory: ~/.config/slopcop/ on Linux ($XDG_CONFIG_HOME/slopcop/ when set), ~/Library/Application Support/slopcop/ on macOS, %AppData%\slopcop\ on Windows.

FilePurpose
config.jsonthe stored service URL and token, written owner-only; slopcop logout clears it
update-noticethe time of the last upgrade notice, so it prints at most once a day
skill-backups/<harness>-<time>/a copy of a skill with local edits that an update replaced; see The agent skill

In each agent’s skills directory, slopcop/.slopcop-skill.json records the version that wrote the skill and what each file held.

slopcop init adds a Stop hook to Claude Code’s settings.json (under CLAUDE_CONFIG_DIR or ~/.claude) and Codex’s hooks.json (under CODEX_HOME or ~/.codex), leaving everything else in those files as it was. slopcop init --remove-hooks removes SlopCop’s hook and nothing else. See The Stop hook.

PathPurpose
.slopcop/policies/**/*.rqlprepository rules, evaluated by every check

Nothing else in the repository is read for configuration. The repository’s URL comes from the origin remote.

Terminal window
slopcop --service https://staging.slopcop.com login
slopcop --service https://staging.slopcop.com

A login is stored with the service it was made against. SLOPCOP_SERVICE in the environment saves repeating the flag.