Skip to main content

goodvibes-cli

Guard rails for coding with AI. One command, no setup.

PyPI npm License

AI coding assistants write code fast, but left alone they over-build, read whole files until the context runs out, call things done without running the tests, forget earlier decisions, and run commands you would rather approve. goodvibes gives your AI tool clear working rules, adds checks that stop the most common mistakes, and sets up GitHub so every change is tested. Free, open source, no account or key.

Quick start

pip install goodvibes-cli
goodvibes init

Or with uv: uv tool install goodvibes-cli, then goodvibes init. With Node.js instead: npx goodvibes-cli init.

Then open the folder in your AI coding tool and ask for what you want to build. Run goodvibes doctor to check the setup. Getting started walks you through your first change.

What you get

  • Rules for 14 AI tools: Claude Code, Cursor, GitHub Copilot, Windsurf, Devin Desktop, Kiro, Antigravity, Cline, Amazon Q, Continue.dev, OpenAI Codex CLI, Lovable, Replit Agent and Bolt.new. Plan first, smallest change that works, tests before "done", decisions recorded in JOURNAL.md, ask before risky steps.
  • Journal check in every tool: a git hook blocks any commit that leaves out JOURNAL.md, from any AI tool or from you.
  • Claude Code guard rails: whole-file reads of big files and reads of .env, SSH keys and credential files are blocked; it asks before pushing, publishing, deploying or editing its own settings, and refuses force-push and git reset --hard.
  • Fewer tokens: the read guard, caveman (short replies from the first message; /caveman full or stop caveman if too terse), headroom (compresses what Claude reads) and goodvibes usage (where your tokens went).
  • context7: current library docs for Claude Code. Free, no key.
  • GitHub checks: tests, CodeQL and gitleaks scans, dependency review, a file size check, and Dependabot.

By default the Claude Code parts are set up for every project on your computer (in ~/.claude) and the project files go in the current folder. --scope project keeps everything in the folder. Existing files and your own settings are kept. Details: What goodvibes init sets up.

Commands

Command What it does
goodvibes init Set goodvibes up. --scope project, --minimal (skips headroom, .github/ and docs/), --dry-run
goodvibes doctor Check the setup and your MCP servers: ✓ fine, ! warning, ✗ problem
goodvibes update Bring goodvibes files up to date, keeping your edits. Shows the plan and asks once; --dry-run only shows it
goodvibes upgrade Install the newest goodvibes, then run update
goodvibes usage Tokens used by recent Claude Code sessions in this project. --all, --days N, --json. Offline

Requirements

  • Python 3.10 or later, and git
  • Optional: a GitHub account for the CI checks

Linux, macOS and Windows through WSL2 are supported; native Windows is best effort.

Privacy

goodvibes init sends one anonymous install count: an empty request with a random ID, nothing about you or your code (the server sees your IP address, as with any request). It is skipped in CI. Set DO_NOT_TRACK=1 (or true, yes) or GOODVIBES_NO_TELEMETRY=1 to turn it off. doctor and usage never send anything.

License

Apache 2.0

Release files for goodvibes-cli 1.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for goodvibes-cli 1.10.0
File Size Uploaded
goodvibes_cli-1.10.0.tar.gz 176.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for goodvibes-cli 1.10.0
File Interpreter ABI Platform
goodvibes_cli-1.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 317.3 kB

Release files / goodvibes_cli-1.10.0.tar.gz

Download URL goodvibes_cli-1.10.0.tar.gz
Size 176.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f388445d6f2eb7f72ac565682c18f39ba0ad15db9a891e5c4a90aa2aa7c8e41a
BLAKE2b-256 checksum
How to use checksums
b27c882d26277234cd1815a895b085efd4b0d0fadba3b406f95366e2d1fc99ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / goodvibes_cli-1.10.0-py3-none-any.whl

Download URL goodvibes_cli-1.10.0-py3-none-any.whl
Size 140.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
642b7fd08150f8515159bfd1d806983f078d8f3dc8db752d49b8cbc2bf8915a6
BLAKE2b-256 checksum
How to use checksums
2d6b6454fd5389a11d8f1b0fc38fe65fff6ee384eb6717ce0d08f1d57d430aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.10.0 This release

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page