Package Details: crush 0.86.0-1

Git Clone URL: https://aur.archlinux.org/crush.git (read-only, click to copy)
Package Base: crush
Description: A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal.
Upstream URL: https://charm.sh/crush
Licenses: FSL-1.1-MIT
Conflicts: crush
Provides: crush
Submitter: k0ste
Maintainer: caarlos0 (aymanbagabas)
Last Packager: caarlos0
Votes: 3
Popularity: 0.008946
First Submitted: 2017-12-10 06:20 (UTC)
Last Updated: 2026-07-20 20:09 (UTC)

Latest Comments

aymanbagabas commented on 2025-11-24 21:01 (UTC)

@rubin55 This should be fixed in Crush v0.18.6

rubin55 commented on 2025-11-24 20:41 (UTC)

What's the deal with the update of about 4 hours ago? it updates to the same v0.18.5 but switches the source to another URL:

-       source = https://github.com/charmbracelet/crush/releases/download/v0.18.5/crush-0.18.5.tar.gz
+       source = https://github.com/charmbracelet/crush-internal/releases/download/v0.18.5/crush-0.18.5.tar.gz

What is crush-internal?

vcalv commented on 2025-07-31 01:14 (UTC) (edited on 2025-07-31 01:15 (UTC) by vcalv)

No description?

Also:

provides=('crush')
conflicts=('crush')

I was trying to upload this but for some reason I couldn't.

I have no idea how you managed to do it.

Anyway, for reference, here is my version:

pkgname="crush"
_user="charmbracelet"
pkgver=0.1.8
pkgrel=1
pkgdesc="A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal."
arch=('x86_64')
url="https://github.com/${_user}/${pkgname}"
license=('FSL-1.1-MIT')
provides=("${pkgname}=${pkgver}")
conflicts=("${pkgname}-bin" "${pkgname}-git")
makedepends=(go)
source=(
    "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
)
sha512sums=('e3d5cd69745cc2a9178ca1dc6b77b54d1a4f6d3030f00a95f69a8a60a8a3b1d3ecb49fc0cf849fcd01d84f73e04fb41e1ef000464b0b987a2ec1eb626b557dc2')

prepare() {
    cd "${pkgname}-${pkgver}"

    mkdir -p ./completions
    mkdir -p ./manpages
}

build() {
    cd "${pkgname}-${pkgver}"
    export CGO_CPPFLAGS="${CPPFLAGS}"
    export CGO_CFLAGS="${CFLAGS}"
    export CGO_CXXFLAGS="${CXXFLAGS}"
    export CGO_LDFLAGS="${LDFLAGS}"
    export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
    go build

    for ext in bash zsh fish ; do
        go run . completion $ext >./completions/crush.$ext
    done;

    go run . man | gzip -9 -c >./manpages/crush.1.gz
}

package() {
    cd "${pkgname}-${pkgver}"
    install -Dm755 crush "${pkgdir}/usr/bin/${pkgname}"
    install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    install -Dm644 -t "${pkgdir}/usr/share/doc/${pkgname}" *.md

    # cmopletions
    install -Dm644 "./completions/crush.bash" "${pkgdir}/usr/share/bash-completion/completions/crush"
    install -Dm644 "./completions/crush.zsh" "${pkgdir}/usr/share/zsh/site-functions/_crush"
    install -Dm644 "./completions/crush.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/crush.fish"
    # man pages
    install -Dm644 "./manpages/crush.1.gz" "${pkgdir}/usr/share/man/man1/crush.1.gz"
}

k0ste commented on 2022-06-09 10:17 (UTC)

@MarsSeed py2 removed, thanks

MarsSeed commented on 2022-06-08 16:50 (UTC)

I see this is an old package. Don't know if still needed.

But I'd like to ask you to drop the subpackage for python2, if possible, because it makes even the Python 3 based other subpackage fail to build (because of missing python2 dependencies, which should not be needed for Python 3).

It helps also to eliminate those Python 2 based packages that are really not needed, especially if Python 3 equivalents are available.

The reason for the benefit of such python2 "cleanup" is, it helps the community members to focus more on the broken but still important python2 dependencies to potentially fix (given there are volunteers for the remaining ones, and because right now there are way too many deleted or broken packages using Python 2).

Thanks in advance!