Skip to content
Security & trust

Read every file before you use it.

GrumpyDev is two Markdown files and an installer you can read in a few minutes. Your coding agent does the setup and the reviews; this website is static and never sees your code. These files guide your agent; they do not override its permissions or your approval controls.

SOURCE

One site

The installer fetches only the two skill files, only from grumpydev.ai, and refuses a redirect to another site.

LOCAL

No fetching during reviews

A review uses the installed files only. The skill names a URL just once, for Grump update and Grump remove.

BOUNDED

Reviews write one place

A review writes only to .grumpydev/reviews/. It never edits your code, your plan or .grump.

EXPLICIT

Only when asked

Nothing runs unless you say Grump. Writing or implementing a plan never starts a review.

What setup changes

Four kinds of file, all in your project.

  • .claude/skills/grumpydev/ or your harness's skill folder: the skill.
  • .grump: your project doctrine. Changed later only after you confirm a Grump accept.
  • .grumpydev/reviews/: the issue ledgers.
  • One marked block in each agent context file you choose, for example CLAUDE.md. Nothing outside the block is ever changed; Grump remove deletes only the block.

If your agent cannot discover project skills, setup adds one routing block instead, telling it to read the local skill only when you ask for GrumpyDev and never to fetch it automatically.

Keep secrets out of .grump

.grump and the ledgers are plain text meant for your repository. Record decisions and versions, never passwords, keys or production data.

Your agent's permissions still apply

GrumpyDev grants no access to production, publishing or external systems. Keep your normal approval controls on.

Found a security problem?

Open a GitHub issue. Leave out secrets, credentials and private code. Read the policy.