Skip to content

Commit 0f4b3fa

Browse files
committed
Rename project from Agent-Forge to Kash, updating all relevant files, commands, and documentation.
- Created main entry point in cmd/kash/main.go. - Updated root command in cmd/root.go to reflect new project name and description. - Modified serve command in cmd/serve.go to start Kash runtime server. - Changed version command in cmd/version.go to print Kash version information. - Revised Product Requirements Document (PRD) and README to reflect new branding and functionality. - Updated configuration paths and environment variables to use Kash instead of Agent-Forge. - Adjusted internal package imports to align with new module name. - Ensured all references to Agent-Forge in comments and documentation are replaced with Kash.
1 parent f4495c4 commit 0f4b3fa

28 files changed

Lines changed: 374 additions & 368 deletions

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,15 @@ jobs:
7676
GOARCH: ${{ matrix.goarch }}
7777
CGO_ENABLED: 0
7878
run: |
79-
BINARY_NAME=agentforge
79+
BINARY_NAME=kash
8080
if [ "${{ matrix.goos }}" = "windows" ]; then
81-
BINARY_NAME=agentforge.exe
81+
BINARY_NAME=kash.exe
8282
fi
8383
go build \
8484
-trimpath \
8585
-ldflags "-s -w \
86-
-X github.com/agent-forge/agent-forge/cmd.version=dev \
87-
-X github.com/agent-forge/agent-forge/cmd.commit=$(git rev-parse --short HEAD) \
88-
-X github.com/agent-forge/agent-forge/cmd.buildDate=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
86+
-X github.com/akashicode/kash/cmd.version=dev \
87+
-X github.com/akashicode/kash/cmd.commit=$(git rev-parse --short HEAD) \
88+
-X github.com/akashicode/kash/cmd.buildDate=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
8989
-o "bin/${BINARY_NAME}" \
90-
./cmd/agent-forge
90+
./cmd/kash

.github/workflows/release.yml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -63,39 +63,39 @@ jobs:
6363
GOARCH: ${{ matrix.goarch }}
6464
CGO_ENABLED: 0
6565
run: |
66-
BINARY_NAME=agentforge
66+
BINARY_NAME=kash
6767
if [ "${{ matrix.goos }}" = "windows" ]; then
68-
BINARY_NAME=agentforge.exe
68+
BINARY_NAME=kash.exe
6969
fi
7070
go build \
7171
-trimpath \
7272
-ldflags "-s -w \
73-
-X github.com/agent-forge/agent-forge/cmd.version=${VERSION} \
74-
-X github.com/agent-forge/agent-forge/cmd.commit=${COMMIT} \
75-
-X github.com/agent-forge/agent-forge/cmd.buildDate=${BUILD_DATE}" \
73+
-X github.com/akashicode/kash/cmd.version=${VERSION} \
74+
-X github.com/akashicode/kash/cmd.commit=${COMMIT} \
75+
-X github.com/akashicode/kash/cmd.buildDate=${BUILD_DATE}" \
7676
-o "dist/${BINARY_NAME}" \
77-
./cmd/agent-forge
77+
./cmd/kash
7878
7979
- name: Package archive (tar.gz)
8080
if: matrix.archive == 'tar.gz'
8181
run: |
8282
cd dist
83-
tar -czf "agentforge_${{ matrix.suffix }}.tar.gz" agentforge
84-
sha256sum "agentforge_${{ matrix.suffix }}.tar.gz" >> checksums.txt
83+
tar -czf "kash_${{ matrix.suffix }}.tar.gz" kash
84+
sha256sum "kash_${{ matrix.suffix }}.tar.gz" >> checksums.txt
8585
8686
- name: Package archive (zip)
8787
if: matrix.archive == 'zip'
8888
run: |
8989
cd dist
90-
zip "agentforge_${{ matrix.suffix }}.zip" agentforge.exe
91-
sha256sum "agentforge_${{ matrix.suffix }}.zip" >> checksums.txt
90+
zip "kash_${{ matrix.suffix }}.zip" kash.exe
91+
sha256sum "kash_${{ matrix.suffix }}.zip" >> checksums.txt
9292
9393
- name: Upload artifacts
9494
uses: actions/upload-artifact@v4
9595
with:
96-
name: agentforge_${{ matrix.suffix }}
96+
name: kash_${{ matrix.suffix }}
9797
path: |
98-
dist/agentforge_${{ matrix.suffix }}.*
98+
dist/kash_${{ matrix.suffix }}.*
9999
dist/checksums.txt
100100
101101
release:
@@ -138,23 +138,23 @@ jobs:
138138
echo "" >> release_notes.md
139139
echo '```bash' >> release_notes.md
140140
echo "# Linux / macOS" >> release_notes.md
141-
echo "curl -L https://github.com/${{ github.repository }}/releases/download/${VERSION}/agentforge_linux_amd64.tar.gz | tar -xz" >> release_notes.md
142-
echo "sudo mv agentforge /usr/local/bin/" >> release_notes.md
141+
echo "curl -L https://github.com/${{ github.repository }}/releases/download/${VERSION}/kash_linux_amd64.tar.gz | tar -xz" >> release_notes.md
142+
echo "sudo mv kash /usr/local/bin/" >> release_notes.md
143143
echo '```' >> release_notes.md
144144
145145
- name: Create GitHub Release
146146
uses: softprops/action-gh-release@v2
147147
with:
148-
name: "agentforge ${{ github.ref_name }}"
148+
name: "kash ${{ github.ref_name }}"
149149
body_path: release_notes.md
150150
draft: false
151151
prerelease: ${{ contains(github.ref_name, '-') }}
152152
files: |
153-
dist/agentforge_linux_amd64.tar.gz
154-
dist/agentforge_linux_arm64.tar.gz
155-
dist/agentforge_darwin_amd64.tar.gz
156-
dist/agentforge_darwin_arm64.tar.gz
157-
dist/agentforge_windows_amd64.zip
153+
dist/kash_linux_amd64.tar.gz
154+
dist/kash_linux_arm64.tar.gz
155+
dist/kash_darwin_amd64.tar.gz
156+
dist/kash_darwin_arm64.tar.gz
157+
dist/kash_windows_amd64.zip
158158
dist/checksums.txt
159159
160160
docker-publish:
@@ -183,7 +183,7 @@ jobs:
183183
id: meta
184184
uses: docker/metadata-action@v5
185185
with:
186-
images: ghcr.io/${{ github.repository_owner }}/agentforge
186+
images: ghcr.io/${{ github.repository_owner }}/kash
187187
tags: |
188188
type=semver,pattern={{version}}
189189
type=semver,pattern={{major}}.{{minor}}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ coverage.html
2424
.env.local
2525
.env.*.local
2626

27-
# Agent-Forge compiled databases (project-specific, not source code)
27+
# Kash compiled databases (project-specific, not source code)
2828
data/memory.chromem/
2929
data/knowledge.cayley/
3030

.golangci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# GolangCI-Lint configuration for Agent-Forge
1+
# GolangCI-Lint configuration for Kash
22
# Install: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
33

44
run:
@@ -29,7 +29,7 @@ linters:
2929

3030
linters-settings:
3131
goimports:
32-
local-prefixes: github.com/agent-forge/agent-forge
32+
local-prefixes: github.com/akashicode/kash
3333

3434
revive:
3535
rules:

AGENTS.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Agent-Forge: Coding Guidelines for AI Agents
1+
# Kash: Coding Guidelines for AI Agents
22

3-
> **Project Overview**: Agent-Forge is a Go-based CLI framework that compiles raw documents into embedded, pure-Go GraphRAG databases, packaged into ultra-lightweight Docker containers.
3+
> **Project Overview**: Kash is a Go-based CLI framework that compiles raw documents into embedded, pure-Go GraphRAG databases, packaged into ultra-lightweight Docker containers.
44
55
## 1. Build, Lint, and Test Commands
66

77
### Build
88
```bash
99
# Build the CLI binary
10-
go build -o bin/agentforge ./cmd/agent-forge
10+
go build -o bin/kash ./cmd/Kash
1111

1212
# Build for multiple platforms
13-
GOOS=linux GOARCH=amd64 go build -o bin/agentforge-linux ./cmd/agent-forge
14-
GOOS=darwin GOARCH=amd64 go build -o bin/agentforge-darwin ./cmd/agent-forge
15-
GOOS=windows GOARCH=amd64 go build -o bin/agentforge.exe ./cmd/agent-forge
13+
GOOS=linux GOARCH=amd64 go build -o bin/kash-linux ./cmd/Kash
14+
GOOS=darwin GOARCH=amd64 go build -o bin/kash-darwin ./cmd/Kash
15+
GOOS=windows GOARCH=amd64 go build -o bin/kash.exe ./cmd/Kash
1616
```
1717

1818
### Lint
@@ -58,10 +58,10 @@ go test -bench=. ./...
5858
### Docker
5959
```bash
6060
# Build Docker image
61-
docker build -t agent-forge:latest .
61+
docker build -t Kash:latest .
6262

6363
# Run container
64-
docker run -p 8000:8000 agent-forge:latest
64+
docker run -p 8000:8000 Kash:latest
6565
```
6666

6767
---
@@ -71,14 +71,14 @@ docker run -p 8000:8000 agent-forge:latest
7171
Follow standard Go CLI project layout:
7272

7373
```
74-
agent-forge/
74+
Kash/
7575
├── cmd/
76-
│ └── agent-forge/ # Main application entry point
76+
│ └── Kash/ # Main application entry point
7777
│ └── main.go # Imports and invokes cmd/root.go
7878
├── cmd/ # Cobra command definitions
7979
│ ├── root.go # Root command (Execute(), initConfig)
80-
│ ├── init.go # `agentforge init` subcommand
81-
│ └── build.go # `agentforge build` subcommand
80+
│ ├── init.go # `kash init` subcommand
81+
│ └── build.go # `kash build` subcommand
8282
├── internal/ # Private application code
8383
│ ├── config/ # Configuration handling (Viper)
8484
│ ├── vector/ # chromem-go vector store operations
@@ -117,8 +117,8 @@ import (
117117
"go.uber.org/zap"
118118

119119
// 3. Local packages
120-
"github.com/agent-forge/internal/config"
121-
"github.com/agent-forge/internal/vector"
120+
"github.com/Kash/internal/config"
121+
"github.com/Kash/internal/vector"
122122
)
123123
```
124124

@@ -308,7 +308,7 @@ type Embedder interface {
308308
## 5. Configuration (Viper + YAML)
309309

310310
### Global Config Path
311-
`~/.agent-forge/config.yaml`
311+
`~/.Kash/config.yaml`
312312

313313
### Config Structure
314314
```go
@@ -336,7 +336,7 @@ func initConfig() {
336336
viper.SetConfigFile(cfgFile)
337337
} else {
338338
home, _ := os.UserHomeDir()
339-
viper.AddConfigPath(filepath.Join(home, ".agent-forge"))
339+
viper.AddConfigPath(filepath.Join(home, ".Kash"))
340340
viper.SetConfigType("yaml")
341341
viper.SetConfigName("config")
342342
}
@@ -411,4 +411,4 @@ RERANK_MODEL= # Optional
411411
3. **Docker-First Distribution**: Single ~50MB container with baked databases.
412412
4. **Three Interfaces**: REST (`/v1/chat/completions`), MCP (`/mcp`), A2A (`/rpc/agent`).
413413
5. **Build vs Runtime**: Data ingestion happens at `build` time. Runtime only serves queries.
414-
6. **Single Binary**: One `agentforge` binary acts as both CLI (`init`, `build`) and server (`serve`). A multi-arch base image (`ghcr.io/agent-forge/agentforge`) is published to GHCR. Agent Dockerfiles use `FROM ghcr.io/agent-forge/agentforge:latest` so users can build cross-platform images (amd64 + arm64) with `docker buildx`.
414+
6. **Single Binary**: One `kash` binary acts as both CLI (`init`, `build`) and server (`serve`). A multi-arch base image (`ghcr.io/akashicode/kash`) is published to GHCR. Agent Dockerfiles use `FROM ghcr.io/akashicode/kash:latest` so users can build cross-platform images (amd64 + arm64) with `docker buildx`.

CLAUDE.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
Agent-Forge is a Go-based CLI framework that compiles raw documents into embedded, pure-Go GraphRAG databases, packaged into ultra-lightweight Docker containers (~50MB).
7+
Kash is a Go-based CLI framework that compiles raw documents into embedded, pure-Go GraphRAG databases, packaged into ultra-lightweight Docker containers (~50MB).
88

99
The "compiler" approach: data ingestion happens at build time, runtime only serves queries. This allows sharing expert AI agents as Docker images without complex infrastructure.
1010

1111
## Build, Lint, and Test Commands
1212

1313
### Build
1414
```bash
15-
go build -o bin/agentforge ./cmd/agent-forge
15+
go build -o bin/kash ./cmd/Kash
1616

1717
# Cross-platform builds
18-
GOOS=linux GOARCH=amd64 go build -o bin/agentforge-linux ./cmd/agent-forge
19-
GOOS=darwin GOARCH=amd64 go build -o bin/agentforge-darwin ./cmd/agent-forge
20-
GOOS=windows GOARCH=amd64 go build -o bin/agentforge.exe ./cmd/agent-forge
18+
GOOS=linux GOARCH=amd64 go build -o bin/kash-linux ./cmd/Kash
19+
GOOS=darwin GOARCH=amd64 go build -o bin/kash-darwin ./cmd/Kash
20+
GOOS=windows GOARCH=amd64 go build -o bin/kash.exe ./cmd/Kash
2121
```
2222

2323
### Lint
@@ -40,8 +40,8 @@ go test -bench=. ./... # benchmarks
4040

4141
### Docker
4242
```bash
43-
docker build -t agent-forge:latest .
44-
docker run -p 8000:8000 agent-forge:latest
43+
docker build -t Kash:latest .
44+
docker run -p 8000:8000 Kash:latest
4545
```
4646

4747
## Architecture
@@ -71,12 +71,12 @@ The Go runtime multiplexes on port 8000:
7171
3. **Docker-First Distribution**: Single ~50MB container with baked databases.
7272
4. **Build vs Runtime**: Data ingestion at `build` time; runtime only serves queries.
7373
5. **BYOM (Bring Your Own Model)**: Runtime requires user-provided API keys; no bundled inference.
74-
6. **Single Binary**: One `agentforge` binary handles CLI (`init`, `build`) and server (`serve`). A multi-arch base image (`ghcr.io/agent-forge/agentforge`) is published to GHCR. Agent Dockerfiles use it as base so users can build cross-platform images with `docker buildx`.
74+
6. **Single Binary**: One `kash` binary handles CLI (`init`, `build`) and server (`serve`). A multi-arch base image (`ghcr.io/akashicode/kash`) is published to GHCR. Agent Dockerfiles use it as base so users can build cross-platform images with `docker buildx`.
7575

7676
## Configuration
7777

7878
### Global CLI Config (Build-Time)
79-
Location: `~/.agent-forge/config.yaml`
79+
Location: `~/.Kash/config.yaml`
8080

8181
```yaml
8282
build_providers:
@@ -99,22 +99,22 @@ RERANK_BASE_URL, RERANK_API_KEY, RERANK_MODEL # optional
9999

100100
## Developer Workflow
101101

102-
1. **`agentforge init <name>`** - Scaffold project with `data/`, `agent.yaml`, `Dockerfile`
102+
1. **`kash init <name>`** - Scaffold project with `data/`, `agent.yaml`, `Dockerfile`
103103
2. **Add documents** to `data/` directory (PDFs, Markdown, etc.)
104-
3. **`agentforge build`** - Chunk documents, call embedder API, extract graph triples via LLM, generate MCP tool descriptions
104+
3. **`kash build`** - Chunk documents, call embedder API, extract graph triples via LLM, generate MCP tool descriptions
105105
4. **`docker build`** - Package into ~50MB container with baked databases
106106
5. **`docker run`** with user's runtime API keys
107107

108108
## Project Structure
109109

110110
```
111-
agent-forge/
111+
Kash/
112112
├── cmd/ # Cobra commands
113113
│ ├── root.go # Root command, Viper config
114-
│ ├── init.go # `agentforge init`
115-
│ ├── build.go # `agentforge build`
116-
│ ├── serve.go # `agentforge serve` (runtime server)
117-
│ └── version.go # `agentforge version`
114+
│ ├── init.go # `kash init`
115+
│ ├── build.go # `kash build`
116+
│ ├── serve.go # `kash serve` (runtime server)
117+
│ └── version.go # `kash version`
118118
├── internal/ # Private application code
119119
│ ├── config/ # Viper configuration
120120
│ ├── vector/ # chromem-go operations

Dockerfile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Agent-Forge Base Image
2-
# Builds the single agentforge binary (used for both CLI and server).
3-
# Published as a multi-arch image (amd64 + arm64) to ghcr.io/agent-forge/agentforge.
4-
# Agent Dockerfiles (generated by `agentforge init`) use this as their base image.
1+
# Kash Base Image
2+
# Builds the single kash binary (used for both CLI and server).
3+
# Published as a multi-arch image (amd64 + arm64) to ghcr.io/akashicode/kash.
4+
# Agent Dockerfiles (generated by `kash init`) use this as their base image.
55

66
FROM golang:1.25-alpine AS builder
77

@@ -16,7 +16,7 @@ COPY . .
1616

1717
# Build the binary (CGO disabled for static linking)
1818
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" \
19-
-o /agentforge ./cmd/agent-forge
19+
-o /kash ./cmd/kash
2020

2121
# --- Minimal runtime stage ---
2222
FROM alpine:3.19
@@ -25,6 +25,6 @@ RUN apk add --no-cache ca-certificates tzdata
2525

2626
WORKDIR /app
2727

28-
COPY --from=builder /agentforge /app/agentforge
28+
COPY --from=builder /kash /app/kash
2929

30-
ENTRYPOINT ["/app/agentforge"]
30+
ENTRYPOINT ["/app/kash"]

0 commit comments

Comments
 (0)