chore: remove goose-cli package and cleanup configuration
- Delete packages/goose-cli/ (librusty_v8 pre-built binary dependency) - Remove global nixpkgs.config.allowUnfree from flake.nix (goose-cli was the only package requiring unfree binaries) - Add .claude/ to .gitignore - Update README.md and AGENTS.md to remove all goose-cli references
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,5 +1,6 @@
|
|||||||
.qoder
|
.qoder
|
||||||
.qwen
|
.qwen
|
||||||
|
.claude/
|
||||||
result
|
result
|
||||||
result-*
|
result-*
|
||||||
.direnv/
|
.direnv/
|
||||||
|
|||||||
11
AGENTS.md
11
AGENTS.md
@@ -87,13 +87,7 @@ nix-overlay/
|
|||||||
├── packages/
|
├── packages/
|
||||||
│ ├── default/ # Meta-package listing all visible packages
|
│ ├── default/ # Meta-package listing all visible packages
|
||||||
│ │ ├── default.nix
|
│ │ ├── default.nix
|
||||||
│ │ └── package.nix
|
│ │ └── package.nix
|
||||||
│ ├── goose-cli/ # Example package: Goose AI agent CLI
|
|
||||||
│ │ ├── default.nix
|
|
||||||
│ │ ├── package.nix # Main package definition
|
|
||||||
│ │ ├── fetchers.nix # Custom fetchers (if needed)
|
|
||||||
│ │ ├── librusty_v8.nix # V8 library pre-built binary
|
|
||||||
│ │ └── update.py # Update script for version bumps
|
|
||||||
│ └── flake-inputs/ # Utility to cache all flake inputs
|
│ └── flake-inputs/ # Utility to cache all flake inputs
|
||||||
│ └── default.nix
|
│ └── default.nix
|
||||||
├── README.md # User-facing documentation
|
├── README.md # User-facing documentation
|
||||||
@@ -232,7 +226,7 @@ When adding a new package:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build specific package
|
# Build specific package
|
||||||
nix build .#goose-cli
|
nix build .#mcp-gateway
|
||||||
|
|
||||||
# Build all packages for current system
|
# Build all packages for current system
|
||||||
nix build .#packages
|
nix build .#packages
|
||||||
@@ -319,7 +313,6 @@ nix build .#<package-name>
|
|||||||
|
|
||||||
### Package-Specific Notes
|
### Package-Specific Notes
|
||||||
|
|
||||||
- **goose-cli**: Also updates `librusty_v8` hashes automatically via the custom fetcher
|
|
||||||
- **mcp-gateway**: Standard Rust package, `nix-update` handles version + cargoHash
|
- **mcp-gateway**: Standard Rust package, `nix-update` handles version + cargoHash
|
||||||
- **skillsmcp**: Pinned to a commit hash; use `--version=branch=main` or specify the target commit with `--commit`
|
- **skillsmcp**: Pinned to a commit hash; use `--version=branch=main` or specify the target commit with `--commit`
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ A custom Nix overlay and flake providing additional packages not found in upstre
|
|||||||
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
|
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
|
||||||
| `desloppify` | Multi-language codebase health scanner and technical debt tracker for AI agents | AI Coding Agents |
|
| `desloppify` | Multi-language codebase health scanner and technical debt tracker for AI agents | AI Coding Agents |
|
||||||
| `freebuff` | The world's strongest free coding agent | AI Coding Agents |
|
| `freebuff` | The world's strongest free coding agent | AI Coding Agents |
|
||||||
| `goose-cli` | CLI for Goose - a local, extensible, open source AI agent that automates engineering tasks | AI Coding Agents |
|
|
||||||
| `graphify` | Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph | AI Coding Agents |
|
| `graphify` | Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph | AI Coding Agents |
|
||||||
| `hipengine` | ROCm-native local LLM inference engine with torch-free runtime for AMD RDNA GPUs | AI Inference |
|
| `hipengine` | ROCm-native local LLM inference engine with torch-free runtime for AMD RDNA GPUs | AI Inference |
|
||||||
| `mcp-gateway` | Universal Model Context Protocol gateway that sits between AI client and MCP tools/servers | MCP Servers |
|
| `mcp-gateway` | Universal Model Context Protocol gateway that sits between AI client and MCP tools/servers | MCP Servers |
|
||||||
@@ -74,10 +73,10 @@ With flakes enabled:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Try a package
|
# Try a package
|
||||||
nix run git+https://git.millerson.name/alex/millerson-overlay.nix.git#goose-cli
|
nix run git+https://git.millerson.name/alex/millerson-overlay.nix.git#mcp-gateway
|
||||||
|
|
||||||
# Install permanently
|
# Install permanently
|
||||||
nix profile install git+https://git.millerson.name/alex/millerson-overlay.nix.git#goose-cli
|
nix profile install git+https://git.millerson.name/alex/millerson-overlay.nix.git#mcp-gateway
|
||||||
```
|
```
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
@@ -94,7 +93,7 @@ nix profile install git+https://git.millerson.name/alex/millerson-overlay.nix.gi
|
|||||||
nix build .#packages
|
nix build .#packages
|
||||||
|
|
||||||
# Build specific package
|
# Build specific package
|
||||||
nix build .#goose-cli
|
nix build .#mcp-gateway
|
||||||
|
|
||||||
# Enter development shell
|
# Enter development shell
|
||||||
nix develop
|
nix develop
|
||||||
@@ -116,7 +115,6 @@ nix-overlay/
|
|||||||
│ ├── desloppify/ # Codebase health scanner for AI agents
|
│ ├── desloppify/ # Codebase health scanner for AI agents
|
||||||
│ ├── flake-inputs/ # Utility for caching flake inputs
|
│ ├── flake-inputs/ # Utility for caching flake inputs
|
||||||
│ ├── freebuff/ # Free coding agent (Codebuff)
|
│ ├── freebuff/ # Free coding agent (Codebuff)
|
||||||
│ ├── goose-cli/ # Goose AI agent CLI
|
|
||||||
│ ├── graphify/ # Knowledge graph generator for code folders
|
│ ├── graphify/ # Knowledge graph generator for code folders
|
||||||
│ ├── hipengine/ # ROCm-native LLM inference engine for AMD GPUs
|
│ ├── hipengine/ # ROCm-native LLM inference engine for AMD GPUs
|
||||||
│ ├── kubernetes-mcp-server/ # MCP server for Kubernetes and OpenShift
|
│ ├── kubernetes-mcp-server/ # MCP server for Kubernetes and OpenShift
|
||||||
|
|||||||
@@ -33,9 +33,6 @@
|
|||||||
let
|
let
|
||||||
blueprintOutputs = inputs.blueprint {
|
blueprintOutputs = inputs.blueprint {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
# allowUnfree is needed for packages that depend on pre-built
|
|
||||||
# binaries (e.g., goose-cli's librusty_v8)
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
blueprintOutputs
|
blueprintOutputs
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
pkgs.callPackage ./package.nix {
|
|
||||||
librusty_v8 = pkgs.callPackage ./librusty_v8.nix {
|
|
||||||
inherit (pkgs.callPackage ./fetchers.nix { }) fetchLibrustyV8;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Fetchers for goose-cli pre-built dependencies
|
|
||||||
# Based on deno's approach for handling rusty_v8
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchurl,
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
fetchLibrustyV8 =
|
|
||||||
args:
|
|
||||||
fetchurl {
|
|
||||||
name = "librusty_v8-${args.version}";
|
|
||||||
url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a.gz";
|
|
||||||
hash = args.shas.${stdenv.hostPlatform.system};
|
|
||||||
meta = {
|
|
||||||
inherit (args) version;
|
|
||||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# Pre-built librusty_v8 library for goose-cli
|
|
||||||
# This file specifies the rusty_v8 version and hashes for all supported platforms
|
|
||||||
{ fetchLibrustyV8 }:
|
|
||||||
|
|
||||||
fetchLibrustyV8 {
|
|
||||||
version = "145.0.0";
|
|
||||||
shas = {
|
|
||||||
x86_64-linux = "sha256-chV1PAx40UH3Ute5k3lLrgfhih39Rm3KqE+mTna6ysE=";
|
|
||||||
aarch64-linux = "sha256-4IivYskhUSsMLZY97+g23UtUYh4p5jk7CzhMbMyqXyY=";
|
|
||||||
x86_64-darwin = "sha256-1jUuC+z7saQfPYILNyRJanD4+zOOhXU2ac/LFoytwho=";
|
|
||||||
aarch64-darwin = "sha256-yHa1eydVCrfYGgrZANbzgmmf25p7ui1VMas2A7BhG6k=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
rustPlatform,
|
|
||||||
pkg-config,
|
|
||||||
cmake,
|
|
||||||
cacert,
|
|
||||||
openssl,
|
|
||||||
libxcb,
|
|
||||||
dbus,
|
|
||||||
versionCheckHook,
|
|
||||||
librusty_v8,
|
|
||||||
llvmPackages,
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "goose-cli";
|
|
||||||
version = "1.33.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "block";
|
|
||||||
repo = "goose";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-FBICGOfVs2jbOdLWSInqfTYBdnCcbcGWHwqY/b6v8eg=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoHash = "sha256-fN0FKDYFkZrQQPWdUlemOaGzIAZhqFyskz9TEmG+X4o=";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pkg-config
|
|
||||||
cmake
|
|
||||||
llvmPackages.libclang
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
libxcb
|
|
||||||
dbus
|
|
||||||
];
|
|
||||||
|
|
||||||
# The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
|
|
||||||
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
|
|
||||||
env.RUSTY_V8_ARCHIVE = librusty_v8;
|
|
||||||
|
|
||||||
# bindgen (used by llama-cpp-sys-2) needs libclang and C headers
|
|
||||||
env.LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
|
||||||
env.BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${lib.getDev stdenv.cc.libc}/include";
|
|
||||||
|
|
||||||
# reqwest needs CA certificates in the sandbox
|
|
||||||
env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
|
||||||
|
|
||||||
# Build only the CLI package
|
|
||||||
cargoBuildFlags = [
|
|
||||||
"--package"
|
|
||||||
"goose-cli"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable tests with proper environment
|
|
||||||
doCheck = true;
|
|
||||||
checkPhase = ''
|
|
||||||
export HOME=$(mktemp -d)
|
|
||||||
export XDG_CONFIG_HOME=$HOME/.config
|
|
||||||
export XDG_DATA_HOME=$HOME/.local/share
|
|
||||||
export XDG_STATE_HOME=$HOME/.local/state
|
|
||||||
export XDG_CACHE_HOME=$HOME/.cache
|
|
||||||
mkdir -p $XDG_CONFIG_HOME $XDG_DATA_HOME $XDG_STATE_HOME $XDG_CACHE_HOME
|
|
||||||
|
|
||||||
# Run tests for goose-cli package only
|
|
||||||
cargo test --package goose-cli
|
|
||||||
'';
|
|
||||||
|
|
||||||
doInstallCheck = true;
|
|
||||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
category = "AI Coding Agents";
|
|
||||||
updateScript = [
|
|
||||||
"nix-update"
|
|
||||||
"--flake"
|
|
||||||
".#goose-cli"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "CLI for Goose - a local, extensible, open source AI agent that automates engineering tasks";
|
|
||||||
homepage = "https://github.com/block/goose";
|
|
||||||
changelog = "https://github.com/block/goose/releases/tag/v${version}";
|
|
||||||
license = lib.licenses.asl20;
|
|
||||||
sourceProvenance = with lib.sourceTypes; [ fromSource ];
|
|
||||||
mainProgram = "goose";
|
|
||||||
platforms = lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/usr/bin/env nix-shell
|
|
||||||
#!nix-shell -i python3 -p python3 nix-update
|
|
||||||
|
|
||||||
"""
|
|
||||||
Update script for goose-cli package.
|
|
||||||
|
|
||||||
This script uses nix-update to fetch the latest version of goose-cli
|
|
||||||
and update the package.nix file with the new version, src hash, and cargoHash.
|
|
||||||
It also updates the librusty_v8 hashes via the custom fetchers.nix.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
./update.py # Update to latest release
|
|
||||||
./update.py --version 1.34.0 # Update to specific version
|
|
||||||
"""
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
args = ["nix-update", "--flake", ".#goose-cli"] + sys.argv[1:]
|
|
||||||
subprocess.check_call(args)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
Reference in New Issue
Block a user