github charmbracelet/crush v0.77.0

6 hours ago

Global context, better commit messages, and you

It's been a bit! There’s lots of good stuff in this release, so let’s right get to it.

Global context

Want Crush to always call you Shirley? Or maybe you want it to default to Jujutsu? This is now a piece of cake with user-level context files thanks to @Amolith.

If you set an ~/.config/AGENTS.md or ~/.config/crush/CRUSH.md and Crush will reference on session start, just like your usual project-level AGENTS.md and CRUSH.md. Nice!

Crashes? Not on Kieran’s watch.

Kieran, otherwise known as @taciturnaxolotl, is fast. Really fast. The other day Crush crashed for him, he honed in on two bugs in Lip Gloss and Glamour, and patched them before we could say, "Don’t panic!" Thanks, Kieran!

Better commit messages and PR descriptions

You know what drives us crazy? When LLMs write overly-technical commit messages and PR descriptions. Commit messages and PRs should be understandable to readers unfamiliar with the codebase.

This PR improves the system prompt so LLMs author clearer, more understandable commit messages for human beings.

Named hooks

Thanks to contributor @BrunoKrugel, you can now name your hooks, making them easier to identify in the CLI.

{
  "hooks": {
    "PreToolUse": [
      {
        "name": "Mr. Hot Hook",
        "matcher": "bash",
        "command": "./hooks/my-hot-hook.sh",
      },
    ],
  },
}

For more info see #2778.

Client-server: socket fixes

Client-server mode isn’t quite ready for prime time yet, but many of us are using it day-to-day regardless. One of the coolest things about client server mode is that it runs over unix domain sockets (which absolutely rock) and named pipes on Windows. This release fixes two bugs around that:

  • Stale sockets are now cleaned up on startup, allowing Crush to run properly
  • On unix systems sockets now live in the places they actually belong: $XDG_RUNTIME_DIR on Linux and $TMPDIR on macOS, rather than /tmp.

Try out client-server mode with CRUSH_CLIENT_SERVER=1.

See u soon

Thanks for all the positive feedback about Crush. We ❤️ you!

Charm

Changelog

New!

Fixed

Docs


Verifying the artifacts

First, download the checksums.txt file and the checksums.txt.sigstore.json file files, for example, with wget:

wget 'https://github.com/charmbracelet/crush/releases/download/v0.77.0/checksums.txt'
wget 'https://github.com/charmbracelet/crush/releases/download/v0.77.0/checksums.txt.sigstore.json'

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' \
  --bundle 'checksums.txt.sigstore.json' \
  ./checksums.txt

If 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.txt

Done! You artifacts are now verified!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

Don't miss a new crush release

NewReleases is sending notifications on new releases.