Skip to content

Commit f38998e

Browse files
committed
rename: kode → odek (CLI binary only)
- Rename cmd/kode/ → cmd/odek/ (Go names the binary after the folder) - Update all Go CLI usage/help strings: 'kode run' → 'odek run', etc. - Update Makefile targets and binary names - Update all docs/*.md CLI command references - Update landing page (docs/index.html) and Web UI (cmd/odek/ui/index.html) - Preserved: Go module path (github.com/BackendStack21/kode), package name 'kode', env vars (KODE_*), config dir (~/.kode/), domain (kode.21no.de), repo name, Go import paths - Binary outputs: 'odek v0.14.3'
1 parent ef1e5dc commit f38998e

37 files changed

Lines changed: 341 additions & 340 deletions

Makefile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
1-
# kode — the fastest, minimalistic autonomous ReAct agent CLI in Go.
1+
# odek — the fastest, minimalistic autonomous ReAct agent CLI in Go.
22
# https://github.com/BackendStack21/kode
33

44
GO := go
55
GOLINT := $(shell command -v golangci-lint 2>/dev/null)
66
GIT_TAG := $(shell git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0-dev")
77
LDFLAGS := -s -w -X main.version=$(GIT_TAG)
88
COVER := coverage.out
9+
BINARY := odek
910

1011
.PHONY: all
1112
all: test build
1213

1314
# ── Build ──────────────────────────────────────────────────────────────
1415

1516
.PHONY: build
16-
build: ## Build the kode binary
17-
$(GO) build -ldflags "$(LDFLAGS)" -o bin/kode ./cmd/kode
17+
build: ## Build the odek binary
18+
$(GO) build -ldflags "$(LDFLAGS)" -o bin/$(BINARY) ./cmd/$(BINARY)
1819

1920
.PHONY: install
20-
install: ## Install kode to $GOPATH/bin
21-
$(GO) install -ldflags "$(LDFLAGS)" ./cmd/kode
21+
install: ## Install odek to $GOPATH/bin
22+
$(GO) install -ldflags "$(LDFLAGS)" ./cmd/$(BINARY)
2223

2324
.PHONY: build-all
2425
build-all: ## Cross-compile for linux, darwin (amd64 + arm64)
25-
GOOS=linux GOARCH=amd64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/kode-linux-amd64 ./cmd/kode
26-
GOOS=linux GOARCH=arm64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/kode-linux-arm64 ./cmd/kode
27-
GOOS=darwin GOARCH=amd64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/kode-darwin-amd64 ./cmd/kode
28-
GOOS=darwin GOARCH=arm64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/kode-darwin-arm64 ./cmd/kode
26+
GOOS=linux GOARCH=amd64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/$(BINARY)-linux-amd64 ./cmd/$(BINARY)
27+
GOOS=linux GOARCH=arm64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/$(BINARY)-linux-arm64 ./cmd/$(BINARY)
28+
GOOS=darwin GOARCH=amd64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/$(BINARY)-darwin-amd64 ./cmd/$(BINARY)
29+
GOOS=darwin GOARCH=arm64 $(GO) build -ldflags "$(LDFLAGS)" -o bin/$(BINARY)-darwin-arm64 ./cmd/$(BINARY)
2930

3031
# ── Test (no LLM) ──────────────────────────────────────────────────────
3132

README.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ go install github.com/BackendStack21/kode/cmd/kode@latest
1010

1111
# Use (set DEEPSEEK_API_KEY or OPENAI_API_KEY)
1212
export DEEPSEEK_API_KEY=sk-...
13-
kode run "How many lines in go.mod?"
13+
odek run "How many lines in go.mod?"
1414
# → 3 lines
1515
```
1616

@@ -33,10 +33,10 @@ kode is not a framework. It's a **runtime** — the smallest possible surface ar
3333
## Strategic Features
3434

3535
### 🔒 Sandboxed Execution
36-
`kode run --sandbox` — every session spawns an isolated Docker container. No network, no host mounts beyond the working directory, zero capabilities, destroyed on exit. Full security model in [docs/SANDBOXING.md](docs/SANDBOXING.md).
36+
`odek run --sandbox` — every session spawns an isolated Docker container. No network, no host mounts beyond the working directory, zero capabilities, destroyed on exit. Full security model in [docs/SANDBOXING.md](docs/SANDBOXING.md).
3737

3838
### 🧩 Sub-Agent Delegation
39-
Parallel OS-process sub-agents via `delegate_tasks`. True isolation — each sub-agent is a fresh `kode subagent` process with its own config, tools, and termination timeout. Up to 8 concurrent workers. [docs/SUBAGENTS.md](docs/SUBAGENTS.md)
39+
Parallel OS-process sub-agents via `delegate_tasks`. True isolation — each sub-agent is a fresh `odek subagent` process with its own config, tools, and termination timeout. Up to 8 concurrent workers. [docs/SUBAGENTS.md](docs/SUBAGENTS.md)
4040

4141
### 🧠 Skill System (on by default)
4242
Skill-matched `SKILL.md` files load on-demand. Auto-learns from patterns every session — detects multi-step procedures, error recoveries, repeated actions, and user corrections. **LLM-enhanced**: each detected pattern is enriched with an LLM-generated name, description, trigger keywords, and structured body with overview, steps, pitfalls, and verification sections. Use `--no-learn` to disable. Import skills from any URI with automatic LLM risk assessment. [docs/CLI.md#skills](docs/CLI.md#skills)
@@ -45,19 +45,19 @@ Skill-matched `SKILL.md` files load on-demand. Auto-learns from patterns every s
4545
Three tiers: **facts** (agent-managed durable entries), **session buffer** (auto-appended turn summaries), **episodes** (LLM-extracted knowledge from past sessions). Merge-on-write via go-vector RandomProjections — cosine >0.7 auto-merges, <0.3 auto-adds. Saves ~80% LLM calls. [docs/MEMORY.md](docs/MEMORY.md)
4646

4747
### 🔧 Multi-Turn Sessions
48-
Save, resume, list, trim, and clean up conversations. Sessions persist as JSON in `~/.kode/sessions/`. Continue any session with `kode continue`. [docs/SESSIONS.md](docs/SESSIONS.md)
48+
Save, resume, list, trim, and clean up conversations. Sessions persist as JSON in `~/.kode/sessions/`. Continue any session with `odek continue`. [docs/SESSIONS.md](docs/SESSIONS.md)
4949

5050
### 🏗️ Layerable Config
51-
Four-layer priority chain: `global (~/kode/config.json)``project (./kode.json)``KODE_*` env vars → CLI flags. `${VAR}` substitution in config files. [docs/CONFIG.md](docs/CONFIG.md)
51+
Four-layer priority chain: `global (~/kode/config.json)``project (./odek.json)``KODE_*` env vars → CLI flags. `${VAR}` substitution in config files. [docs/CONFIG.md](docs/CONFIG.md)
5252

5353
### 🔌 LLM-Agnostic
5454
Any OpenAI-compatible endpoint: Deepseek, OpenAI, Anthropic, Ollama, vLLM, Groq, Together, Fireworks — anything that speaks `/chat/completions`. Per-model profiles for thinking depth and context windows. [docs/PROVIDERS.md](docs/PROVIDERS.md)
5555

5656
### 🌐 Web UI
57-
`kode serve` — browser-based agent with `@` resource completion (`@file.go`, `@sess:abc123`), WebSocket streaming, and a full IDE-style console. [docs/WEBUI.md](docs/WEBUI.md)
57+
`odek serve` — browser-based agent with `@` resource completion (`@file.go`, `@sess:abc123`), WebSocket streaming, and a full IDE-style console. [docs/WEBUI.md](docs/WEBUI.md)
5858

5959
### 🔗 MCP (Two-Way)
60-
**Server** (`kode mcp`) — expose kode's native tools (shell, read/write/search files, patch, browser) to Claude Code, Cursor, and any MCP client. **Client** (`mcp_servers` config) — kode connects to external MCP servers (Playwright, Fetch, GitHub, SQLite, etc.) and makes their tools available to the agent as `<server>__<tool>`. Both directions in one binary. [docs/MCP.md](docs/MCP.md)
60+
**Server** (`odek mcp`) — expose kode's native tools (shell, read/write/search files, patch, browser) to Claude Code, Cursor, and any MCP client. **Client** (`mcp_servers` config) — kode connects to external MCP servers (Playwright, Fetch, GitHub, SQLite, etc.) and makes their tools available to the agent as `<server>__<tool>`. Both directions in one binary. [docs/MCP.md](docs/MCP.md)
6161

6262
### 🔍 Native Tools
6363
Built-in `read_file`, `write_file`, `search_files`, `patch`, `shell`, and `browser` tools. All gated by a unified security layer (`dangerous` config) — classify operations as `allow` / `deny` / `prompt` per risk class. No third-party dependencies. [docs/SECURITY.md](docs/SECURITY.md)
@@ -68,23 +68,23 @@ Built-in `read_file`, `write_file`, `search_files`, `patch`, `shell`, and `brows
6868

6969
```bash
7070
# Single-shot task
71-
kode run "List the files"
71+
odek run "List the files"
7272

7373
# With session persistence
74-
kode run --session "Refactor auth module"
75-
kode continue "Add rate limiting"
74+
odek run --session "Refactor auth module"
75+
odek continue "Add rate limiting"
7676

7777
# Sandboxed (Docker isolation)
78-
kode run --sandbox "npm audit"
78+
odek run --sandbox "npm audit"
7979

8080
# Different model
81-
kode run --model gpt-4o --base-url https://api.openai.com/v1 "Explain this"
81+
odek run --model gpt-4o --base-url https://api.openai.com/v1 "Explain this"
8282

8383
# With skill learning (on by default — use --no-learn to disable)
84-
kode run "Set up a Go project with CI"
84+
odek run "Set up a Go project with CI"
8585

8686
# Interactive REPL
87-
kode repl
87+
odek repl
8888
```
8989

9090
---
@@ -95,25 +95,25 @@ kode repl
9595

9696
| Command | What it does |
9797
|---------|-------------|
98-
| `kode run <task>` | Single-shot task |
99-
| `kode run --session <task>` | Save conversation as session |
100-
| `kode continue [--id <id>] <task>` | Resume a saved session |
101-
| `kode repl` | Interactive multi-turn REPL |
102-
| `kode session list` | List recent sessions |
103-
| `kode session show [id]` | View session transcript |
104-
| `kode session delete <id>` | Delete a session |
105-
| `kode session trim <id> <n>` | Keep last n messages |
106-
| `kode session cleanup <days>` | Delete old sessions |
107-
| `kode skill list` | List available skills |
108-
| `kode skill view <name>` | View skill content |
109-
| `kode skill delete <name>` | Delete a skill |
110-
| `kode skill import <uri>` | Import skill from URL |
111-
| `kode skill curate` | Audit skill quality/overlap |
112-
| `kode serve [--addr :8080]` | Start Web UI server |
113-
| `kode subagent --goal <string>` | Run a focused sub-task |
114-
| `kode init [--global]` | Create config file |
115-
| `kode mcp [--sandbox]` | Start MCP server — expose tools to Claude Code |
116-
| `kode version` | Print version |
98+
| `odek run <task>` | Single-shot task |
99+
| `odek run --session <task>` | Save conversation as session |
100+
| `odek continue [--id <id>] <task>` | Resume a saved session |
101+
| `odek repl` | Interactive multi-turn REPL |
102+
| `odek session list` | List recent sessions |
103+
| `odek session show [id]` | View session transcript |
104+
| `odek session delete <id>` | Delete a session |
105+
| `odek session trim <id> <n>` | Keep last n messages |
106+
| `odek session cleanup <days>` | Delete old sessions |
107+
| `odek skill list` | List available skills |
108+
| `odek skill view <name>` | View skill content |
109+
| `odek skill delete <name>` | Delete a skill |
110+
| `odek skill import <uri>` | Import skill from URL |
111+
| `odek skill curate` | Audit skill quality/overlap |
112+
| `odek serve [--addr :8080]` | Start Web UI server |
113+
| `odek subagent --goal <string>` | Run a focused sub-task |
114+
| `odek init [--global]` | Create config file |
115+
| `odek mcp [--sandbox]` | Start MCP server — expose tools to Claude Code |
116+
| `odek version` | Print version |
117117

118118
### Key Flags
119119

@@ -144,7 +144,7 @@ kode repl
144144
| [Sandboxing](docs/SANDBOXING.md) | Docker isolation model, config, security hardening |
145145
| [Security](docs/SECURITY.md) | Threat model, prompt injection defense, sandbox model |
146146
| [Sub-Agents](docs/SUBAGENTS.md) | Task decomposition, delegation tool, subagent protocol |
147-
| [Web UI](docs/WEBUI.md) | `kode serve`, WebSocket protocol, `@` resource resolution |
147+
| [Web UI](docs/WEBUI.md) | `odek serve`, WebSocket protocol, `@` resource resolution |
148148
| [Skills](docs/CLI.md#skills) | Trigger-matched skills, learning, import, curation |
149149
| [MCP](docs/MCP.md) | Serve tools to Claude Code + connect to external MCP servers |
150150
| [Development](docs/DEVELOPMENT.md) | Building, testing, contributing, project structure |

0 commit comments

Comments
 (0)