goatcode-cli 2.1.10 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,28 +1,138 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
(
|
|
7
|
-
|
|
3
|
+
# GoatCode v3.0.0
|
|
4
|
+
### The Autonomous Multi-Repo AI Coding Agent for the Terminal
|
|
5
|
+
|
|
6
|
+
[](https://github.com/Arhan-w/GoatCode/actions)
|
|
7
|
+
[](https://github.com/Arhan-w/GoatCode/releases)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
*Every provider. Multi-repo workspaces. Code intelligence graph. Secure P2P/relay collaboration. Agent-as-a-Service JSON-RPC.*
|
|
11
|
+
|
|
12
|
+
[**Quick Start**](#installation) · [**Architecture**](#architecture) · [**Commands**](#slash-commands) · [**Documentation**](#documentation)
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## What is GoatCode v3?
|
|
19
|
+
|
|
20
|
+
GoatCode v3 is a major architectural leap designed for professional developers who demand complete control, sub-second code intelligence, and team collaboration without leaving their terminal. Powered by Bun and TypeScript, GoatCode combines **180+ LLM providers** (with intelligent fallback chains and Anthropic prompt caching) with four brand-new pillars:
|
|
21
|
+
|
|
22
|
+
1. **Multi-Repo Workspaces (`workspace.repos`)** — Mount multiple repositories simultaneously, run cross-repo searches (`/find`, `/index`), and enforce per-repo sandboxes and strict permission rule forms.
|
|
23
|
+
2. **Code Intelligence Graph (`src/code`)** — Zero-config tree-sitter parser with WASM fallback supporting TS, JS, Python, and Go. Incremental mtime+size fast path, atomic persistence, and TF-IDF ranked symbol lookup.
|
|
24
|
+
3. **P2P Collaboration Relay (`src/collab`)** — End-to-end encrypted WebSocket relay with Lamport timestamp sequencing, invite codes, turn-tokens, and live peer synchronization.
|
|
25
|
+
4. **Agent-as-a-Service Protocol (`src/protocol`)** — JSON-RPC 2.0 over HTTP (`POST /rpc`) and WebSocket with constant-time token auth, path-jailed execution, and remote agent mounting (`remote_<name>`).
|
|
26
|
+
5. **Signed Plugin Marketplace (`src/plugins`)** — Secure tar+gzip extractor with path-traversal/bomb guards and ed25519 signature verification against pinned keys.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Key Features
|
|
31
|
+
|
|
32
|
+
- **🐐 GOAT MODE (`--bypass`)** — Unchained permission bypass with zero prompts and instant execution when you need maximum velocity.
|
|
33
|
+
- **Noir Terminal Theme** — Crafted with deep dark panels (`#25262D`), a true-black input box (`#000F08`), and vibrant violet accents (`#a855f7`).
|
|
34
|
+
- **Anthropic Prompt Caching** — Automatic ephemeral block wrapping (`cache_control: { type: "ephemeral" }`) cutting input costs by 90% on repeated turns.
|
|
35
|
+
- **Smart Failover & Retry** — Automatic rotation across fallback models when encountering rate limits (429) or transient server errors.
|
|
36
|
+
- **Context Meter & `/rewind`** — Real-time token usage progress bar and full checkpoint rollback for both conversation transcripts and modified files.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Comparison
|
|
41
|
+
|
|
42
|
+
| Feature | GoatCode v3 | Claude Code | Codex CLI | OpenCode |
|
|
43
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
44
|
+
| **Providers** | **180+ (All OAI/Anthropic/Gemini + Custom)** | Anthropic only | OpenAI only | Multi |
|
|
45
|
+
| **Multi-Repo Workspace** | ✅ Native (`roots` map) | ❌ Single | ❌ Single | ❌ Single |
|
|
46
|
+
| **Code Intelligence** | ✅ Tree-sitter + WASM + Rank | ❌ Basic grep | ❌ Basic grep | ❌ Basic grep |
|
|
47
|
+
| **Collab & Relay** | ✅ Lamport Sync + Invite codes | ❌ None | ❌ None | ❌ None |
|
|
48
|
+
| **Agent-as-a-Service** | ✅ JSON-RPC 2.0 + Remote tools | ❌ None | ❌ None | ❌ None |
|
|
49
|
+
| **Signed Plugins** | ✅ Ed25519 + Tar + Bomb guard | ❌ None | ❌ None | ❌ None |
|
|
50
|
+
| **Pricing / License** | **MIT (Open Source)** | Proprietary | Proprietary | MIT |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
Install globally via npm (recommended):
|
|
8
57
|
|
|
9
58
|
```bash
|
|
10
59
|
npm install -g goatcode-cli
|
|
11
|
-
goat
|
|
12
60
|
```
|
|
13
61
|
|
|
14
|
-
|
|
62
|
+
Or run directly without installing:
|
|
15
63
|
|
|
64
|
+
```bash
|
|
65
|
+
npx goatcode-cli
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Or grab a precompiled binary for Linux, macOS, or Windows from the [Releases Page](https://github.com/Arhan-w/GoatCode/releases).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Quick Start
|
|
73
|
+
|
|
74
|
+
1. Start GoatCode in your project root:
|
|
75
|
+
```bash
|
|
76
|
+
goat
|
|
77
|
+
```
|
|
78
|
+
2. Configure your API key or use FreeLLMAPI:
|
|
79
|
+
```bash
|
|
80
|
+
goat auth openai sk-...
|
|
81
|
+
```
|
|
82
|
+
3. Build the code index and search symbols:
|
|
83
|
+
```text
|
|
84
|
+
/index
|
|
85
|
+
/find resolveRepos
|
|
86
|
+
```
|
|
87
|
+
4. Share your session with a teammate:
|
|
88
|
+
```text
|
|
89
|
+
/share
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Slash Commands
|
|
95
|
+
|
|
96
|
+
| Command | Description |
|
|
97
|
+
| :--- | :--- |
|
|
98
|
+
| `/help` | List all available commands and shortcuts |
|
|
99
|
+
| `/model <name>` | Switch active model or model alias (`opus`, `sonnet`) |
|
|
100
|
+
| `/index` | Build or refresh the workspace code intelligence index |
|
|
101
|
+
| `/find <symbol>` | Ranked symbol lookup across all workspace repositories |
|
|
102
|
+
| `/share` | Generate an invite code and start a collab relay session |
|
|
103
|
+
| `/peers` | List connected peers in the active collab session |
|
|
104
|
+
| `/handoff` | Transfer the turn-token to a peer |
|
|
105
|
+
| `/rewind` | Revert transcript and modified files back to a previous turn |
|
|
106
|
+
| `/permissions` | Manage always-allow security rules for the current session |
|
|
107
|
+
| `/marketplace` | Browse and install signed community plugins |
|
|
108
|
+
| `/search` | Full-text search across all saved local sessions |
|
|
109
|
+
| `/quit` | Exit GoatCode |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Architecture & Development
|
|
114
|
+
|
|
115
|
+
GoatCode is built with clean, modular TypeScript:
|
|
116
|
+
|
|
117
|
+
```tree
|
|
118
|
+
src/
|
|
119
|
+
├── agent.ts # Main agent loop & subagent batching
|
|
120
|
+
├── code/ # Tree-sitter AST indexer & symbol ranking
|
|
121
|
+
├── collab/ # Lamport sync, websocket relay & invite codes
|
|
122
|
+
├── protocol/ # JSON-RPC 2.0 server & remote agent client
|
|
123
|
+
├── plugins/ # Signed plugin marketplace & security guards
|
|
124
|
+
├── tools.ts # File, search, workspace and shell toolkit
|
|
125
|
+
├── tui.tsx # Ink-based TUI with noir theme and streaming
|
|
126
|
+
└── index.ts # CLI entry point and subcommands
|
|
16
127
|
```
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
128
|
+
|
|
129
|
+
Run tests locally:
|
|
130
|
+
```bash
|
|
131
|
+
bun test
|
|
20
132
|
```
|
|
21
133
|
|
|
22
|
-
|
|
23
|
-
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## License
|
|
24
137
|
|
|
25
|
-
MIT
|
|
26
|
-
[GitHub Releases](https://github.com/Arhan-w/GoatCode/releases); nothing is
|
|
27
|
-
built or executed from source at install time. If the download is skipped
|
|
28
|
-
(offline, `--ignore-scripts`), `goat` fetches it on first run.
|
|
138
|
+
MIT License © 2026 Arhan (Goated). See [LICENSE](LICENSE) for details.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "goatcode-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "GoatCode — open-source terminal coding agent. Any provider (183), your subscriptions (Claude/ChatGPT/Gemini/Copilot OAuth), MCP, skills, built-in desktop control. One binary.",
|
|
5
5
|
"keywords": ["ai", "cli", "coding-agent", "agent", "terminal", "llm", "mcp", "anthropic", "openai", "gemini", "copilot", "developer-tools", "skills", "automation"],
|
|
6
6
|
"license": "MIT",
|