goodvibes-cli
Guard rails for coding with AI. One command, no setup.
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 andgit reset --hard. - Fewer tokens: the read guard, caveman (short replies from the first message;
/caveman fullorstop cavemanif too terse), headroom (compresses what Claude reads) andgoodvibes 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.
Links
- Full README: every file goodvibes writes, the permissions, updating, and uninstalling
- Getting started, FAQ, Changelog
- npm package:
npx goodvibes-cli init - Issues
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)
| File | Size | Uploaded | |
|---|---|---|---|
| goodvibes_cli-1.10.0.tar.gz | 176.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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