git: 140e508d96b1 - main - misc/crush: add port: Glamourous AI coding agent for your favourite terminal
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Sep 2025 08:19:49 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=140e508d96b106dc63aff68e54ff055d89075f82
commit 140e508d96b106dc63aff68e54ff055d89075f82
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-09-26 08:18:19 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-09-26 08:18:19 +0000
misc/crush: add port: Glamourous AI coding agent for your favourite terminal
Your new coding bestie, now available in your favourite terminal. Your
tools, your code, and your workflows, wired into your LLM of choice.
Features:
- Multi-Model: choose from a wide range of LLMs or add your own via
OpenAI- or Anthropic-compatible APIs
- Flexible: switch LLMs mid-session while preserving context
- Session-Based: maintain multiple work sessions and contexts per
project
- LSP-Enhanced: Crush uses LSPs for additional context, just like you
do
- Extensible: add capabilities via MCPs (http, stdio, and sse)
- Works Everywhere: first-class support in every terminal on macOS,
Linux, Windows (PowerShell and WSL), FreeBSD, OpenBSD, and NetBSD
WWW: https://github.com/charmbracelet/crush
---
misc/Makefile | 1 +
misc/crush/Makefile | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
misc/crush/distinfo | 5 ++++
misc/crush/pkg-descr | 14 ++++++++++++
4 files changed, 84 insertions(+)
diff --git a/misc/Makefile b/misc/Makefile
index e378074a4271..75433ffc5b7a 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -78,6 +78,7 @@
SUBDIR += cpp-mcp
SUBDIR += cpuid
SUBDIR += crosti
+ SUBDIR += crush
SUBDIR += cryptoballot
SUBDIR += cs
SUBDIR += cstream
diff --git a/misc/crush/Makefile b/misc/crush/Makefile
new file mode 100644
index 000000000000..7f21afdd4823
--- /dev/null
+++ b/misc/crush/Makefile
@@ -0,0 +1,64 @@
+PORTNAME= crush
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.10.0
+CATEGORIES= misc devel
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Glamourous AI coding agent for your favourite terminal
+WWW= https://github.com/charmbracelet/crush
+
+LICENSE= FSL-1.1-MIT
+LICENSE_NAME= Functional Source License, Version 1.1, MIT Future License
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
+
+USES= go:1.25,modules
+
+GO_MODULE= github.com/charmbracelet/crush
+GO_BUILDFLAGS= -ldflags '-s -w -X github.com/charmbracelet/crush/internal/version.Version=${DISTVERSION}'
+
+PLIST_FILES= bin/${PORTNAME}
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= COMPLETIONS DOCS MANPAGES
+OPTIONS_DEFAULT= COMPLETIONS MANPAGES
+
+COMPLETIONS_DESC= Build and/or install shell completions
+
+COMPLETIONS_PLIST_FILES=etc/bash_completion.d/${PORTNAME} \
+ share/fish/completions/${PORTNAME}.fish \
+ share/zsh/site-functions/_${PORTNAME}
+
+MANPAGES_PLIST_FILES= share/man/man1/${PORTNAME}.1.gz
+
+post-build-COMPLETIONS-on:
+ @${MKDIR} ${GO_WRKSRC}/completions
+.for sh in bash fish zsh
+ ${GO_WRKDIR_BIN}/${PORTNAME} completion ${sh} > \
+ ${GO_WRKSRC}/completions/${PORTNAME}.${sh}
+.endfor
+
+post-build-MANPAGES-on:
+ @${MKDIR} ${GO_WRKSRC}/manpages
+ ${GO_WRKDIR_BIN}/${PORTNAME} man > ${GO_WRKSRC}/manpages/${PORTNAME}.1
+
+post-install-COMPLETIONS-on:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
+ ${STAGEDIR}${PREFIX}/share/fish/completions \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions
+ ${INSTALL_DATA} ${GO_WRKSRC}/completions/${PORTNAME}.bash \
+ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
+ ${INSTALL_DATA} ${GO_WRKSRC}/completions/${PORTNAME}.fish \
+ ${STAGEDIR}${PREFIX}/share/fish/completions/${PORTNAME}.fish
+ ${INSTALL_DATA} ${GO_WRKSRC}/completions/${PORTNAME}.zsh \
+ ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${GO_WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+post-install-MANPAGES-on:
+ ${INSTALL_MAN} ${GO_WRKSRC}/manpages/${PORTNAME}.1 \
+ ${STAGEDIR}/${PREFIX}/share/man/man1
+
+.include <bsd.port.mk>
diff --git a/misc/crush/distinfo b/misc/crush/distinfo
new file mode 100644
index 000000000000..47ef47e7c232
--- /dev/null
+++ b/misc/crush/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1758850313
+SHA256 (go/misc_crush/crush-v0.10.0/v0.10.0.mod) = cb98fa5300921546e5b1d9686f42a5332767b7173b1150a880425e6def1d279f
+SIZE (go/misc_crush/crush-v0.10.0/v0.10.0.mod) = 8048
+SHA256 (go/misc_crush/crush-v0.10.0/v0.10.0.zip) = dc69be92b03168d6274f7e9cb5a8cacc5698780890de893e9a45304ac178c276
+SIZE (go/misc_crush/crush-v0.10.0/v0.10.0.zip) = 757602
diff --git a/misc/crush/pkg-descr b/misc/crush/pkg-descr
new file mode 100644
index 000000000000..cc5a9b3b3361
--- /dev/null
+++ b/misc/crush/pkg-descr
@@ -0,0 +1,14 @@
+Your new coding bestie, now available in your favourite terminal. Your
+tools, your code, and your workflows, wired into your LLM of choice.
+
+Features:
+- Multi-Model: choose from a wide range of LLMs or add your own via
+ OpenAI- or Anthropic-compatible APIs
+- Flexible: switch LLMs mid-session while preserving context
+- Session-Based: maintain multiple work sessions and contexts per
+ project
+- LSP-Enhanced: Crush uses LSPs for additional context, just like you
+ do
+- Extensible: add capabilities via MCPs (http, stdio, and sse)
+- Works Everywhere: first-class support in every terminal on macOS,
+ Linux, Windows (PowerShell and WSL), FreeBSD, OpenBSD, and NetBSD