Lifestyle Improvements
At Charm, we're all about creature comforts. This release contains a couple nice quality-of-life features and a handful of fixes, particularly around MCPs. Let’s see what’s new:
Crushignore
Crush respects .gitignore files by default, but now you can also use a .crushignore file to specify additional files and directories that Crush should not pay attention to. This is useful for excluding files that you want in version control but don't want Crush to consider when providing context.
The .crushignore file uses the same syntax as .gitignore and can be placed in both the root of your project and in subdirectories.
Debug Harder
Now when you run crush --debug Crush will also log provider responses, allowing you to really get an idea about what’s going on. Logs are stored in .crush/logs/crush.log and can be viewed and tailed with the crush logs command. More on logging.
Thanks
Special thanks to @andreynering from the Charm team for automating issue labeling to help us wrangle issues and contributions. We're at least 125% more organized thanks to him.
🌈 And thank you for using, Crush. Enjoy the release and stay tuned: we have so much coming.
Changelog
New!
- 0e52ccd: feat: --debug also logs request response details (#407) (@caarlos0)
- 2a43184: feat: grep should also support gitignore/crushignore (#428) (@caarlos0)
- 5a6329c: feat: support
.crushignorein addition to.gitignore(@caarlos0)
Fixed
- b1b5851: fix(tui): background color of file view component (#349) (@ras0q)
- cd3ef8d: fix: do not init MCP client on every tool request (#459) (@caarlos0)
- 6da6500: fix: MCP client must be started (#474) (@caarlos0)
- 428d71a: fix: MCP clients (@kujtimiihoxha)
- d3f28dd: fix: handle code agent not initialized (@kujtimiihoxha)
- 5b79510: fix: improve path prefix checking reliability (@kujtimiihoxha)
- e698239: fix: lint noctx issues (@caarlos0)
- 3eed184: fix: permissions path (@kujtimiihoxha)
- c990349: fix: default permissions of 0600 in crush.json (@petersanchez)
Other stuff
- 867484b: refactor: move
runto its own file (@caarlos0) - 2ddc453: chore: refactor prefix implementation (@kujtimiihoxha)
Verifying the artifacts
First, download the checksums.txt file, for example, with wget:
wget 'https://github.com/charmbracelet/crush/releases/download/v0.2.0/checksums.txt'Then, verify it using cosign:
cosign verify-blob \
--certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
--cert 'https://github.com/charmbracelet/crush/releases/download/v0.2.0/checksums.txt.pem' \
--signature 'https://github.com/charmbracelet/crush/releases/download/v0.2.0/checksums.txt.sig' \
./checksums.txtIf the output is Verified OK, you can safely use it to verify the checksums of other artifacts you downloaded from the release using sha256sum:
sha256sum --ignore-missing -c checksums.txtDone! You artifacts are now verified!
Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, Discord, Slack, The Fediverse.