cade-cli 0.3.3__tar.gz → 0.3.4__tar.gz
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.
- cade_cli-0.3.4/PKG-INFO +278 -0
- cade_cli-0.3.4/README.md +224 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/pyproject.toml +1 -1
- cade_cli-0.3.4/src/cadecoder/__init__.py +1 -0
- cade_cli-0.3.4/src/cadecoder/ai/prompts.py +240 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/app.py +8 -2
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/commands/chat.py +29 -10
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/commands/mcp.py +83 -37
- cade_cli-0.3.4/src/cadecoder/cli/commands/model.py +149 -0
- cade_cli-0.3.4/src/cadecoder/cli/commands/thread.py +186 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/core/config.py +14 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/core/constants.py +1 -1
- cade_cli-0.3.4/src/cadecoder/core/errors.py +46 -0
- cade_cli-0.3.4/src/cadecoder/core/names.py +139 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/core/types.py +2 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/execution/__init__.py +3 -3
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/execution/context_window.py +123 -11
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/execution/orchestrator.py +47 -12
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/execution/parallel.py +4 -4
- cade_cli-0.3.4/src/cadecoder/providers/__init__.py +111 -0
- cade_cli-0.3.4/src/cadecoder/providers/anthropic.py +567 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/providers/openai.py +24 -2
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/storage/threads.py +27 -1
- cade_cli-0.3.4/src/cadecoder/tools/__init__.py +61 -0
- cade_cli-0.3.4/src/cadecoder/tools/local/__init__.py +78 -0
- cade_cli-0.3.4/src/cadecoder/tools/local/filesystem.py +364 -0
- cade_cli-0.3.4/src/cadecoder/tools/local/git.py +345 -0
- cade_cli-0.3.4/src/cadecoder/tools/local/search.py +356 -0
- cade_cli-0.3.4/src/cadecoder/tools/local/shell.py +123 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/__init__.py +40 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/arcade.py +277 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/base.py +58 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/cache.py +129 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/composite.py +157 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/config.py +198 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/local.py +122 -0
- cade_cli-0.3.4/src/cadecoder/tools/manager/mcp.py +724 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/ui/display.py +59 -27
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/ui/session.py +122 -25
- cade_cli-0.3.3/PKG-INFO +0 -151
- cade_cli-0.3.3/README.md +0 -97
- cade_cli-0.3.3/src/cadecoder/__init__.py +0 -1
- cade_cli-0.3.3/src/cadecoder/ai/prompts.py +0 -572
- cade_cli-0.3.3/src/cadecoder/core/errors.py +0 -145
- cade_cli-0.3.3/src/cadecoder/core/utils.py +0 -279
- cade_cli-0.3.3/src/cadecoder/providers/__init__.py +0 -60
- cade_cli-0.3.3/src/cadecoder/tools/__init__.py +0 -19
- cade_cli-0.3.3/src/cadecoder/tools/builtin.py +0 -644
- cade_cli-0.3.3/src/cadecoder/tools/filesystem.py +0 -315
- cade_cli-0.3.3/src/cadecoder/tools/git.py +0 -221
- cade_cli-0.3.3/src/cadecoder/tools/manager.py +0 -1635
- cade_cli-0.3.3/src/cadecoder/ui/input.py +0 -145
- cade_cli-0.3.3/src/cadecoder/ui/state.py +0 -20
- {cade_cli-0.3.3 → cade_cli-0.3.4}/.gitignore +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/ai/__init__.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/__init__.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/auth.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/commands/__init__.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/commands/auth.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/cli/commands/tools.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/core/__init__.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/core/logging.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/providers/base.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/storage/__init__.py +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/templates/login_failed.html +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/templates/login_success.html +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/templates/styles.css +0 -0
- {cade_cli-0.3.3 → cade_cli-0.3.4}/src/cadecoder/ui/__init__.py +0 -0
cade_cli-0.3.4/PKG-INFO
ADDED
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cade-cli
|
|
3
|
+
Version: 0.3.4
|
|
4
|
+
Summary: Cade - The CLI Agent from Arcade.dev
|
|
5
|
+
Project-URL: Homepage, https://arcade.dev
|
|
6
|
+
Project-URL: Documentation, https://docs.arcade.dev
|
|
7
|
+
Project-URL: Repository, https://github.com/arcadeai-labs/cade
|
|
8
|
+
Project-URL: Issues, https://github.com/arcadeai-labs/cade/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/arcadeai-labs/cade/releases
|
|
10
|
+
Author-email: "Arcade AI Inc." <dev@arcade.dev>
|
|
11
|
+
License: MIT
|
|
12
|
+
Keywords: agent,ai,arcade,cli,coding-assistant,llm,mcp
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development
|
|
22
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
23
|
+
Classifier: Typing :: Typed
|
|
24
|
+
Requires-Python: >=3.11
|
|
25
|
+
Requires-Dist: anthropic<1.0.0,>=0.34.0
|
|
26
|
+
Requires-Dist: arcade-core<5.0.0,>=4.1.0
|
|
27
|
+
Requires-Dist: arcade-tdk>=2.0.0
|
|
28
|
+
Requires-Dist: arcadepy>=1.3.1
|
|
29
|
+
Requires-Dist: authlib<2.0.0,>=1.6.0
|
|
30
|
+
Requires-Dist: httpx<1.0.0,>=0.27.0
|
|
31
|
+
Requires-Dist: openai<2.0.0,>=1.0.0
|
|
32
|
+
Requires-Dist: prompt-toolkit>=3.0.52
|
|
33
|
+
Requires-Dist: pydantic[email]<3.0.0,>=2.0.0
|
|
34
|
+
Requires-Dist: pyperclip<2.0.0,>=1.8.0
|
|
35
|
+
Requires-Dist: pyyaml<7.0.0,>=6.0
|
|
36
|
+
Requires-Dist: rich<14.0.0,>=13.0.0
|
|
37
|
+
Requires-Dist: tiktoken>=0.11.0
|
|
38
|
+
Requires-Dist: toml<1.0.0,>=0.10.0
|
|
39
|
+
Requires-Dist: typer>0.10.0
|
|
40
|
+
Requires-Dist: ulid==1.1
|
|
41
|
+
Provides-Extra: dev
|
|
42
|
+
Requires-Dist: mypy<2.0.0,>=1.10.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest-asyncio<1.0.0,>=0.24.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest-cov<5.0.0,>=4.0.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: pytest-mock<4.0.0,>=3.11.0; extra == 'dev'
|
|
46
|
+
Requires-Dist: pytest<9.0.0,>=8.0.0; extra == 'dev'
|
|
47
|
+
Requires-Dist: ruff<1.0.0,>=0.5.0; extra == 'dev'
|
|
48
|
+
Provides-Extra: training
|
|
49
|
+
Requires-Dist: accelerate>=0.27.0; extra == 'training'
|
|
50
|
+
Requires-Dist: safetensors>=0.4.2; extra == 'training'
|
|
51
|
+
Requires-Dist: torch>=2.1.0; extra == 'training'
|
|
52
|
+
Requires-Dist: transformers>=4.38.0; extra == 'training'
|
|
53
|
+
Description-Content-Type: text/markdown
|
|
54
|
+
|
|
55
|
+
# Cade
|
|
56
|
+
|
|
57
|
+
An AI-powered CLI agent for coding and everyday tasks. Powered by [Arcade.dev](https://arcade.dev).
|
|
58
|
+
|
|
59
|
+
## Installation
|
|
60
|
+
|
|
61
|
+
### Prerequisites
|
|
62
|
+
|
|
63
|
+
- Python 3.11+
|
|
64
|
+
- Arcade account ([arcade.dev](https://arcade.dev))
|
|
65
|
+
- AI provider API key: `OPENAI_API_KEY` or `ANTHROPIC_API_KEY`
|
|
66
|
+
|
|
67
|
+
### Homebrew (macOS/Linux)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
brew tap ArcadeAI/tap
|
|
71
|
+
brew install cade
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Install with uv
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
78
|
+
uv pip install cade-cli
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Install with pip
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
pip install cade-cli
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### From Source
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git clone https://github.com/arcadeai-labs/cade.git
|
|
91
|
+
cd cade
|
|
92
|
+
uv venv --python 3.11
|
|
93
|
+
source .venv/bin/activate
|
|
94
|
+
uv sync
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Authenticate
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
cade login
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Usage
|
|
104
|
+
|
|
105
|
+
### Start a Chat
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
cade
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Resume a Thread
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
cade -r # Resume most recent
|
|
115
|
+
cade resume "my-project" # Resume by name
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Single Message Mode
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
cade -m "What files are in this directory?"
|
|
122
|
+
cat error.log | cade -m "What went wrong?"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Options
|
|
126
|
+
|
|
127
|
+
| Option | Description |
|
|
128
|
+
|--------|-------------|
|
|
129
|
+
| `-r`, `--resume` | Resume the most recent thread |
|
|
130
|
+
| `-m`, `--message` | Single message mode (non-interactive) |
|
|
131
|
+
| `-v`, `--verbose` | Enable debug logging |
|
|
132
|
+
| `--version` | Show version |
|
|
133
|
+
|
|
134
|
+
### In-Chat Commands
|
|
135
|
+
|
|
136
|
+
| Command | Description |
|
|
137
|
+
|---------|-------------|
|
|
138
|
+
| `/help` | Show available commands |
|
|
139
|
+
| `/logs` | View recent log entries |
|
|
140
|
+
| `/clear` | Clear the screen |
|
|
141
|
+
| `/copy` | Copy last response to clipboard |
|
|
142
|
+
| `Ctrl+C` | Exit |
|
|
143
|
+
|
|
144
|
+
## Thread Management
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
cade thread list # List all threads
|
|
148
|
+
cade thread list --branch main # Filter by branch
|
|
149
|
+
cade thread get <thread-id> # Get thread details
|
|
150
|
+
cade thread get <thread-id> --messages # Show messages
|
|
151
|
+
cade thread delete <thread-id> # Delete thread
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Tool Management
|
|
155
|
+
|
|
156
|
+
Tools come from three sources: local, Arcade Cloud, and MCP servers.
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
cade tool list # List all tools
|
|
160
|
+
cade tool list --source local # Filter by source
|
|
161
|
+
cade tool search "file" # Search tools
|
|
162
|
+
cade tool info Local_ReadFile # Tool details
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Built-in Tools
|
|
166
|
+
|
|
167
|
+
| Tool | Description |
|
|
168
|
+
|------|-------------|
|
|
169
|
+
| `Local_ReadFile` | Read file contents |
|
|
170
|
+
| `Local_WriteFile` | Write or append to files |
|
|
171
|
+
| `Local_ListFiles` | List directory contents |
|
|
172
|
+
| `Local_SearchText` | Search for text patterns |
|
|
173
|
+
| `Local_ExecuteShell` | Run shell commands |
|
|
174
|
+
| `Local_CreateDirectory` | Create directories |
|
|
175
|
+
| `Local_DeleteFile` | Delete files |
|
|
176
|
+
| `Local_GetGitStatus` | Get git status |
|
|
177
|
+
|
|
178
|
+
## MCP Servers
|
|
179
|
+
|
|
180
|
+
Connect to [MCP](https://modelcontextprotocol.io/) servers for extended capabilities.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
cade mcp list # List servers
|
|
184
|
+
cade mcp add my-server http://localhost:8080 # Add server
|
|
185
|
+
cade mcp add my-server http://localhost:8080 --auth bearer -t <token> # With auth
|
|
186
|
+
cade mcp test my-server # Test connection
|
|
187
|
+
cade mcp enable my-server # Enable
|
|
188
|
+
cade mcp disable my-server # Disable
|
|
189
|
+
cade mcp rm my-server # Remove
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Configuration
|
|
193
|
+
|
|
194
|
+
Config is stored in `~/.cadecoder/`:
|
|
195
|
+
|
|
196
|
+
| File | Description |
|
|
197
|
+
|------|-------------|
|
|
198
|
+
| `cadecoder.toml` | Settings |
|
|
199
|
+
| `cadecoder_history.db` | Thread history |
|
|
200
|
+
| `cadecoder.log` | Logs |
|
|
201
|
+
| `mcp_servers.yaml` | MCP server configs |
|
|
202
|
+
|
|
203
|
+
### Environment Variables
|
|
204
|
+
|
|
205
|
+
| Variable | Description |
|
|
206
|
+
|----------|-------------|
|
|
207
|
+
| `OPENAI_API_KEY` | OpenAI API key |
|
|
208
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key |
|
|
209
|
+
| `ARCADE_API_KEY` | Arcade API key (alternative to OAuth) |
|
|
210
|
+
| `ARCADE_BASE_URL` | Custom Arcade API endpoint |
|
|
211
|
+
| `CADECODER_HOME` | Override config directory |
|
|
212
|
+
|
|
213
|
+
### Example Config
|
|
214
|
+
|
|
215
|
+
```toml
|
|
216
|
+
# ~/.cadecoder/cadecoder.toml
|
|
217
|
+
|
|
218
|
+
default_model = "gpt-4.1"
|
|
219
|
+
debug_mode = false
|
|
220
|
+
use_responses_api = true
|
|
221
|
+
|
|
222
|
+
[responses_config]
|
|
223
|
+
enabled = true
|
|
224
|
+
streaming_enabled = true
|
|
225
|
+
|
|
226
|
+
[model_settings]
|
|
227
|
+
provider = "openai"
|
|
228
|
+
model = "gpt-4.1"
|
|
229
|
+
|
|
230
|
+
[tool_settings]
|
|
231
|
+
disabled_tools = []
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Contributing
|
|
235
|
+
|
|
236
|
+
### Development Setup
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
git clone https://github.com/arcadeai-labs/cade.git
|
|
240
|
+
cd cade
|
|
241
|
+
uv venv --python 3.11
|
|
242
|
+
source .venv/bin/activate
|
|
243
|
+
uv pip install -e '.[dev]'
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Run Tests
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
pytest
|
|
250
|
+
ruff check src/
|
|
251
|
+
ruff format src/
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Code Style
|
|
255
|
+
|
|
256
|
+
- Python 3.11+ with modern type hints (`dict`, `list`, `| None`)
|
|
257
|
+
- Ruff for linting and formatting
|
|
258
|
+
- Pytest for testing
|
|
259
|
+
- Docstrings for public functions and classes
|
|
260
|
+
|
|
261
|
+
### Submitting Changes
|
|
262
|
+
|
|
263
|
+
1. Fork the repository
|
|
264
|
+
2. Create a feature branch
|
|
265
|
+
3. Make changes with tests
|
|
266
|
+
4. Run `ruff check . && pytest`
|
|
267
|
+
5. Open a Pull Request
|
|
268
|
+
|
|
269
|
+
## Resources
|
|
270
|
+
|
|
271
|
+
- [arcade.dev](https://arcade.dev)
|
|
272
|
+
- [Documentation](https://docs.arcade.dev)
|
|
273
|
+
- [Issues](https://github.com/arcadeai-labs/cade/issues)
|
|
274
|
+
- [Releases](https://github.com/arcadeai-labs/cade/releases)
|
|
275
|
+
|
|
276
|
+
## License
|
|
277
|
+
|
|
278
|
+
MIT
|
cade_cli-0.3.4/README.md
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Cade
|
|
2
|
+
|
|
3
|
+
An AI-powered CLI agent for coding and everyday tasks. Powered by [Arcade.dev](https://arcade.dev).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
- Python 3.11+
|
|
10
|
+
- Arcade account ([arcade.dev](https://arcade.dev))
|
|
11
|
+
- AI provider API key: `OPENAI_API_KEY` or `ANTHROPIC_API_KEY`
|
|
12
|
+
|
|
13
|
+
### Homebrew (macOS/Linux)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
brew tap ArcadeAI/tap
|
|
17
|
+
brew install cade
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Install with uv
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
24
|
+
uv pip install cade-cli
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Install with pip
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install cade-cli
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### From Source
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git clone https://github.com/arcadeai-labs/cade.git
|
|
37
|
+
cd cade
|
|
38
|
+
uv venv --python 3.11
|
|
39
|
+
source .venv/bin/activate
|
|
40
|
+
uv sync
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Authenticate
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
cade login
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
|
|
51
|
+
### Start a Chat
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
cade
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Resume a Thread
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cade -r # Resume most recent
|
|
61
|
+
cade resume "my-project" # Resume by name
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Single Message Mode
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cade -m "What files are in this directory?"
|
|
68
|
+
cat error.log | cade -m "What went wrong?"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Options
|
|
72
|
+
|
|
73
|
+
| Option | Description |
|
|
74
|
+
|--------|-------------|
|
|
75
|
+
| `-r`, `--resume` | Resume the most recent thread |
|
|
76
|
+
| `-m`, `--message` | Single message mode (non-interactive) |
|
|
77
|
+
| `-v`, `--verbose` | Enable debug logging |
|
|
78
|
+
| `--version` | Show version |
|
|
79
|
+
|
|
80
|
+
### In-Chat Commands
|
|
81
|
+
|
|
82
|
+
| Command | Description |
|
|
83
|
+
|---------|-------------|
|
|
84
|
+
| `/help` | Show available commands |
|
|
85
|
+
| `/logs` | View recent log entries |
|
|
86
|
+
| `/clear` | Clear the screen |
|
|
87
|
+
| `/copy` | Copy last response to clipboard |
|
|
88
|
+
| `Ctrl+C` | Exit |
|
|
89
|
+
|
|
90
|
+
## Thread Management
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cade thread list # List all threads
|
|
94
|
+
cade thread list --branch main # Filter by branch
|
|
95
|
+
cade thread get <thread-id> # Get thread details
|
|
96
|
+
cade thread get <thread-id> --messages # Show messages
|
|
97
|
+
cade thread delete <thread-id> # Delete thread
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Tool Management
|
|
101
|
+
|
|
102
|
+
Tools come from three sources: local, Arcade Cloud, and MCP servers.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
cade tool list # List all tools
|
|
106
|
+
cade tool list --source local # Filter by source
|
|
107
|
+
cade tool search "file" # Search tools
|
|
108
|
+
cade tool info Local_ReadFile # Tool details
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Built-in Tools
|
|
112
|
+
|
|
113
|
+
| Tool | Description |
|
|
114
|
+
|------|-------------|
|
|
115
|
+
| `Local_ReadFile` | Read file contents |
|
|
116
|
+
| `Local_WriteFile` | Write or append to files |
|
|
117
|
+
| `Local_ListFiles` | List directory contents |
|
|
118
|
+
| `Local_SearchText` | Search for text patterns |
|
|
119
|
+
| `Local_ExecuteShell` | Run shell commands |
|
|
120
|
+
| `Local_CreateDirectory` | Create directories |
|
|
121
|
+
| `Local_DeleteFile` | Delete files |
|
|
122
|
+
| `Local_GetGitStatus` | Get git status |
|
|
123
|
+
|
|
124
|
+
## MCP Servers
|
|
125
|
+
|
|
126
|
+
Connect to [MCP](https://modelcontextprotocol.io/) servers for extended capabilities.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
cade mcp list # List servers
|
|
130
|
+
cade mcp add my-server http://localhost:8080 # Add server
|
|
131
|
+
cade mcp add my-server http://localhost:8080 --auth bearer -t <token> # With auth
|
|
132
|
+
cade mcp test my-server # Test connection
|
|
133
|
+
cade mcp enable my-server # Enable
|
|
134
|
+
cade mcp disable my-server # Disable
|
|
135
|
+
cade mcp rm my-server # Remove
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Configuration
|
|
139
|
+
|
|
140
|
+
Config is stored in `~/.cadecoder/`:
|
|
141
|
+
|
|
142
|
+
| File | Description |
|
|
143
|
+
|------|-------------|
|
|
144
|
+
| `cadecoder.toml` | Settings |
|
|
145
|
+
| `cadecoder_history.db` | Thread history |
|
|
146
|
+
| `cadecoder.log` | Logs |
|
|
147
|
+
| `mcp_servers.yaml` | MCP server configs |
|
|
148
|
+
|
|
149
|
+
### Environment Variables
|
|
150
|
+
|
|
151
|
+
| Variable | Description |
|
|
152
|
+
|----------|-------------|
|
|
153
|
+
| `OPENAI_API_KEY` | OpenAI API key |
|
|
154
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key |
|
|
155
|
+
| `ARCADE_API_KEY` | Arcade API key (alternative to OAuth) |
|
|
156
|
+
| `ARCADE_BASE_URL` | Custom Arcade API endpoint |
|
|
157
|
+
| `CADECODER_HOME` | Override config directory |
|
|
158
|
+
|
|
159
|
+
### Example Config
|
|
160
|
+
|
|
161
|
+
```toml
|
|
162
|
+
# ~/.cadecoder/cadecoder.toml
|
|
163
|
+
|
|
164
|
+
default_model = "gpt-4.1"
|
|
165
|
+
debug_mode = false
|
|
166
|
+
use_responses_api = true
|
|
167
|
+
|
|
168
|
+
[responses_config]
|
|
169
|
+
enabled = true
|
|
170
|
+
streaming_enabled = true
|
|
171
|
+
|
|
172
|
+
[model_settings]
|
|
173
|
+
provider = "openai"
|
|
174
|
+
model = "gpt-4.1"
|
|
175
|
+
|
|
176
|
+
[tool_settings]
|
|
177
|
+
disabled_tools = []
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Contributing
|
|
181
|
+
|
|
182
|
+
### Development Setup
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
git clone https://github.com/arcadeai-labs/cade.git
|
|
186
|
+
cd cade
|
|
187
|
+
uv venv --python 3.11
|
|
188
|
+
source .venv/bin/activate
|
|
189
|
+
uv pip install -e '.[dev]'
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Run Tests
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
pytest
|
|
196
|
+
ruff check src/
|
|
197
|
+
ruff format src/
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Code Style
|
|
201
|
+
|
|
202
|
+
- Python 3.11+ with modern type hints (`dict`, `list`, `| None`)
|
|
203
|
+
- Ruff for linting and formatting
|
|
204
|
+
- Pytest for testing
|
|
205
|
+
- Docstrings for public functions and classes
|
|
206
|
+
|
|
207
|
+
### Submitting Changes
|
|
208
|
+
|
|
209
|
+
1. Fork the repository
|
|
210
|
+
2. Create a feature branch
|
|
211
|
+
3. Make changes with tests
|
|
212
|
+
4. Run `ruff check . && pytest`
|
|
213
|
+
5. Open a Pull Request
|
|
214
|
+
|
|
215
|
+
## Resources
|
|
216
|
+
|
|
217
|
+
- [arcade.dev](https://arcade.dev)
|
|
218
|
+
- [Documentation](https://docs.arcade.dev)
|
|
219
|
+
- [Issues](https://github.com/arcadeai-labs/cade/issues)
|
|
220
|
+
- [Releases](https://github.com/arcadeai-labs/cade/releases)
|
|
221
|
+
|
|
222
|
+
## License
|
|
223
|
+
|
|
224
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.4"
|