SLOP ✦ CTL
ReleasesGitHub

Rust CLI · agents.md standard · MIT · v23.1.2 · 2026-08-29

One AGENTS.md, every agent.

One AGENTS.md, ten coding agents, zero drift. slopctl installs, updates, and synchronizes agent instructions and skills across every workspace you touch.

10agents supported
6languages shipped
11CLI commands
4merge providers
0auto-commits
● ON AIRAGENTS.MD STANDARDSCROLL ↓
00The short version

Write it once.

Every agent invents its own instruction files. slopctl keeps one source of truth and routes it to wherever each agent looks.

One source

One AGENTS.md

A single AGENTS.md works across every agent that follows the agents.md standard. Agent-specific files only reference it.

Skills

Agent Skills built in

Define skills per agent, per language, or top-level. Local directories and full GitHub URLs both work, routed to the right folder for each agent.

Catalog

Data, not code

Agents and languages are entries in YAML. Add a new one by editing templates.yml. No rebuild required.

Merge

AI-assisted merge

Reconcile customized files with updated templates using OpenAI, Anthropic, Ollama, or Mistral. Never a blind overwrite.

Log

Append-only decision log

UPDATES.md keeps a "Recent Updates & Decisions" history below a changelog marker that init, update, and merge never overwrite.

Guardrails

No auto-commits, ever

Every destructive operation requires explicit human confirmation. --dry-run previews any command first.

01Install

Four steps, one file.

From a clean checkout to a configured workspace in under a minute.

  1. Install

    Build from source with Cargo.

    git clone https://github.com/heikopanjas/slopctl.git
    cd slopctl
    cargo build --release
    sudo cp target/release/slopctl /usr/local/bin/
    # or: cargo install --path .
  2. Download the template catalog

    Fetches templates.yml and every template into your global cache.

    slopctl templates --update
  3. Initialize your project

    Choose a language, an agent, or both. One init call installs AGENTS.md, UPDATES.md, config files and skills under .agents/skills/.

    cd your-project
    slopctl init --lang rust --agent claude   # Rust conventions + Claude prompts
    slopctl init --agent cursor               # agent only, no language files
  4. Keep it fresh

    Pull catalog changes into the workspace, or merge customized files with an LLM.

    slopctl templates --update && slopctl update
    slopctl merge --preview
02Commands

11 commands, one rack.

Open any unit for usage, options, examples and behavior.

Set up
Maintain
Inspect
03Agents & languages

10 agents, zero drift.

A single AGENTS.md works with every agent following the agents.md standard. Claude Code, Cursor and Copilot also get a slim redirect stub, since each auto-loads its own file first. Session prompts use native folders where agents have them and an init-session skill where they don't.

AGENTS.mdRedirect stubPromptSkill.agents/skills
Claude Code
Cursor
GitHub Copilot
Codex
Mistral Vibe
OpenCode
Pi
Kiro
Goose
Cline
Languages
2 config

C

c-coding-conventions cmake-build-commands

2 config

C++

cpp-coding-conventions cmake-build-commands

2 config

Rust

rust-coding-conventions rust-build-commands

no config

Shell

shell-coding-conventions shell-build-commands

2 config

Swift

swift-coding-conventions swift-build-commands swift-concurrency-pro swift-testing-pro

1 config

SwiftUI

all Swift skills swiftui-pro

04Templates & skills

Your catalog, your rules.

Everything slopctl installs is described in templates.yml. Point --from at your own repo or a local folder and add agents, languages or Agent Skills without touching the CLI. Skill sources can be local directories or full GitHub URLs, cached with one tarball download per repository. The default catalog lives in slopctl-templates.

# templates.yml (excerpt)
languages:
  rust:
    skills:
      - source: https://github.com/you/skills/tree/main/rust-style
      - source: skills/rust-build-commands   # local path
05FAQ

Quick answers.

  1. Where are templates stored?
    Global templates live in $HOME/.cache/slopctl/templates/ on every platform. $XDG_CACHE_HOME is honored if set.
  2. What happens if I modify AGENTS.md?
    slopctl detects customization through the removed template marker and skips AGENTS.md when updating. Use --force to override, or slopctl merge to combine.
  3. Can I use my own template repository?
    Yes. Pass --from to templates --update with a local path or GitHub URL. The source needs a templates.yml.
  4. How do I preview changes?
    Add --dry-run to any command, for example slopctl init --lang rust --dry-run.
  5. How do I customize the mission statement?
    Use --mission "text" with init, or --mission @mission.md to read it from a file.
  6. How do I switch agents without changing the language?
    Run slopctl init --agent <new-agent>. The language is read from the file tracker, so switching from Cursor to Claude keeps your Rust setup.
  7. What if I don't pass --lang?
    You still get AGENTS.md, UPDATES.md and the top-level skills, just no language conventions or config files. Good for docs repos and polyglot projects.
  8. How do I remove things?
    slopctl remove --agent claude, --lang rust, --all (keeps AGENTS.md) or --purge (everything).
  9. How do I fix stale or broken managed files?
    Run slopctl doctor to list issues and slopctl doctor --fix to repair them. --smart adds LLM linting of AGENTS.md.
  10. Where are skills installed?
    Cross-client agents (cursor, codex, copilot, opencode, pi, goose) share .agents/skills/. Native-only agents (claude, vibe, kiro, cline) get a copy in their own folder, such as .claude/skills/.
  11. Can I use this commercially?
    Yes. MIT license.
06Get it

Stop copying AGENTS.md around.

Install once, init anywhere, and let every agent read the same instructions.