diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 72f64e9..eac68aa 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,14 +1,14 @@ { - "name": "anti-slop", + "name": "curt", "owner": { "name": "NovusEdge", "url": "https://github.com/NovusEdge" }, "plugins": [ { - "name": "anti-slop", + "name": "curt", "source": "./", - "description": "Enforce clear technical prose — STE grammar, no AI buzzwords, no LinkedIn cadence", + "description": "Makes Claude Code write like Curt: terse, no buzzwords, no flattery. STE grammar and an anti-slop linter.", "keywords": [ "writing", "style", diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index b0fd6cc..7f989d7 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,13 +1,13 @@ { - "name": "anti-slop", - "displayName": "anti-slop", + "name": "curt", + "displayName": "Curt", "version": "0.3.0", - "description": "Enforce clear technical prose — STE grammar, no AI buzzwords, no LinkedIn cadence", + "description": "Makes Claude Code write like Curt: terse, no buzzwords, no flattery. STE grammar and an anti-slop linter.", "author": { "name": "NovusEdge" }, "license": "MIT", - "homepage": "https://github.com/NovusEdge/anti-slop", + "homepage": "https://github.com/NovusEdge/curt", "keywords": [ "writing", "style", diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml index 2a8ba38..a9028ed 100644 --- a/.pre-commit-hooks.yaml +++ b/.pre-commit-hooks.yaml @@ -1,12 +1,12 @@ -- id: anti-slop - name: anti-slop +- id: curt + name: curt description: Check prose for AI-generated patterns and STE violations entry: tools/lint.py --check language: script types: [markdown] -- id: anti-slop-commit-msg - name: anti-slop (commit message) +- id: curt-commit-msg + name: curt (commit message) description: Check the commit message for AI-generated patterns and STE violations entry: tools/lint.py --check --strip-comments language: script diff --git a/README.md b/README.md index 0529a36..3915876 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# anti-slop +# curt -Makes Claude Code stop writing like a chatbot. No "you're absolutely right", no recap of the diff you just read, no `leverage` where `use` works. +Curt makes Claude Code stop writing like a chatbot. No "you're absolutely right", no recap of the diff you just read, no `leverage` where `use` works. The rules load before the model writes. A linter catches the rest. @@ -9,14 +9,14 @@ The rules load before the model writes. A linter catches the rest. Inside Claude Code: ``` -/plugin marketplace add NovusEdge/anti-slop -/plugin install anti-slop@anti-slop +/plugin marketplace add NovusEdge/curt +/plugin install curt@curt ``` From a shell: ```shell -curl -fsSL https://raw.githubusercontent.com/NovusEdge/anti-slop/main/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/NovusEdge/curt/main/install.sh | bash # or, from a local checkout: ./install.sh --local @@ -41,8 +41,8 @@ No hard word cap. Anthropic tried one (100 words) in April 2026 and pulled it fo ## Usage ``` -/anti-slop:anti-slop prose: comments, docstrings, commits, PRs, docs -/anti-slop:anti-slop-code code: narrator comments, dead generality, mock tests +/curt:anti-slop prose: comments, docstrings, commits, PRs, docs +/curt:anti-slop-code code: narrator comments, dead generality, mock tests ``` Env: `ANTI_SLOP_REMIND_EVERY` (reminder cadence, default 9), `ANTI_SLOP_TOOL_GUARD` (`ask`, `deny`, `off`). diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f59e75a..0b3214b 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,6 +2,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Changed + +- Renamed the project from anti-slop to curt. Re-add the marketplace as `NovusEdge/curt` and install `curt@curt`. The rules it enforces stay the anti-slop discipline, so the `ANTI_SLOP_*` env vars and the ignore markers are unchanged. + ## [0.3.0] ### Added @@ -32,6 +38,6 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and - The prose linter, the banned-vocabulary and sycophancy layers, and the session-start directive. -[0.3.0]: https://github.com/NovusEdge/anti-slop/releases/tag/v0.3.0 -[0.2.0]: https://github.com/NovusEdge/anti-slop/releases/tag/v0.2.0 -[0.1.0]: https://github.com/NovusEdge/anti-slop/releases/tag/v0.1.0 +[0.3.0]: https://github.com/NovusEdge/curt/releases/tag/v0.3.0 +[0.2.0]: https://github.com/NovusEdge/curt/releases/tag/v0.2.0 +[0.1.0]: https://github.com/NovusEdge/curt/releases/tag/v0.1.0 diff --git a/docs/hooks.md b/docs/hooks.md index dbdb299..c81c0d4 100644 --- a/docs/hooks.md +++ b/docs/hooks.md @@ -14,7 +14,7 @@ The prose-lint hooks never block. `PostToolUse` and `UserPromptSubmit` carry the ## Configuration -`ANTI_SLOP_REMIND_EVERY` sets the reminder cadence (default 9). `ANTI_SLOP_TOOL_GUARD` sets the guard posture (below). Turn the whole plugin off with `/plugin disable anti-slop`. +`ANTI_SLOP_REMIND_EVERY` sets the reminder cadence (default 9). `ANTI_SLOP_TOOL_GUARD` sets the guard posture (below). Turn the whole plugin off with `/plugin disable curt`. ## Tool discipline diff --git a/docs/linting.md b/docs/linting.md index 1e8f681..577c5ab 100644 --- a/docs/linting.md +++ b/docs/linting.md @@ -37,11 +37,11 @@ pip install tree-sitter tree-sitter-language-pack ## Pre-commit hook ```yaml -- repo: https://github.com/NovusEdge/anti-slop +- repo: https://github.com/NovusEdge/curt rev: main hooks: - - id: anti-slop # markdown files - - id: anti-slop-commit-msg # the commit message + - id: curt # markdown files + - id: curt-commit-msg # the commit message stages: [commit-msg] ``` diff --git a/install.sh b/install.sh index 0704eb2..f83d360 100755 --- a/install.sh +++ b/install.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash -# anti-slop installer -# Usage: curl -fsSL https://raw.githubusercontent.com/NovusEdge/anti-slop/main/install.sh | bash +# curt installer +# Usage: curl -fsSL https://raw.githubusercontent.com/NovusEdge/curt/main/install.sh | bash # ./install.sh --local # install from this checkout instead of GitHub set -euo pipefail -REPO="NovusEdge/anti-slop" +REPO="NovusEdge/curt" MODE="${1:-remote}" if ! command -v claude &> /dev/null; then @@ -24,27 +24,27 @@ echo "Adding marketplace from $SOURCE ..." # `add` fails when the marketplace is already registered. Grepping the list # output instead ties the installer to a format that is not a contract. claude plugin marketplace add "$SOURCE" --scope user 2>/dev/null \ - || claude plugin marketplace update anti-slop + || claude plugin marketplace update curt echo "Installing plugin ..." -claude plugin uninstall anti-slop@anti-slop --scope user >/dev/null 2>&1 || true -claude plugin install anti-slop@anti-slop --scope user +claude plugin uninstall curt@curt --scope user >/dev/null 2>&1 || true +claude plugin install curt@curt --scope user cat <<'EOF' Installed. Restart Claude Code, then: - /anti-slop:anti-slop invoke the skill - /plugin disable anti-slop turn the hooks off + /curt:anti-slop invoke the skill + /plugin disable curt turn the hooks off Standalone linter (no Claude Code needed): - python3 ~/.claude/plugins/cache/anti-slop/anti-slop/*/tools/lint.py file.md + python3 ~/.claude/plugins/cache/curt/curt/*/tools/lint.py file.md Pre-commit hook: - - repo: https://github.com/NovusEdge/anti-slop + - repo: https://github.com/NovusEdge/curt rev: main hooks: - - id: anti-slop + - id: curt EOF