stratagem-x7 0.3.2 → 0.3.3
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 +325 -342
- package/dist/cli.mjs +8 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,344 +1,327 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
██████ ████████ ██████ █████ ████████ █████ ██████ ███████ ███ ███
|
|
5
|
+
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ████
|
|
6
|
+
█████ ██ ██████ ███████ ██ ███████ ██ ███ █████ ██ ████ ██
|
|
7
|
+
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
8
|
+
██████ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ███████ ██ ██
|
|
9
|
+
═══ X 7 ═══
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**A cyberpunk agentic coding CLI. Multi-provider. Terminal-first. No leash.**
|
|
13
|
+
|
|
14
|
+
[](https://www.npmjs.com/package/stratagem-x7)
|
|
8
15
|
[](https://github.com/EstarinAzx/XETH--7/tags)
|
|
16
|
+
[](LICENSE)
|
|
9
17
|
[](https://github.com/EstarinAzx/XETH--7/discussions)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
export
|
|
58
|
-
export
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
##
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
##
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
bun
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
-
|
|
299
|
-
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
## Community
|
|
321
|
-
|
|
322
|
-
- Use [GitHub Discussions](https://github.com/EstarinAzx/XETH--7/discussions) for Q&A, ideas, and community conversation
|
|
323
|
-
- Use [GitHub Issues](https://github.com/EstarinAzx/XETH--7/issues) for confirmed bugs and actionable feature work
|
|
324
|
-
|
|
325
|
-
## Contributing
|
|
326
|
-
|
|
327
|
-
Contributions are welcome.
|
|
328
|
-
|
|
329
|
-
For larger changes, open an issue first so the scope is clear before implementation. Helpful validation commands include:
|
|
330
|
-
|
|
331
|
-
- `bun run build`
|
|
332
|
-
- `bun run test:coverage`
|
|
333
|
-
- `bun run smoke`
|
|
334
|
-
- focused `bun test ...` runs for touched areas
|
|
335
|
-
|
|
336
|
-
## Disclaimer
|
|
337
|
-
|
|
338
|
-
XETH--7 is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.
|
|
339
|
-
|
|
340
|
-
XETH--7 originated from the Claude Code codebase and has since been substantially modified to support multiple providers and open use. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See [LICENSE](LICENSE) for details.
|
|
341
|
-
|
|
342
|
-
## License
|
|
343
|
-
|
|
344
|
-
See [LICENSE](LICENSE).
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## What is Stratagem X7?
|
|
24
|
+
|
|
25
|
+
Stratagem X7 is an autonomous coding agent that lives in your terminal. It reads your codebase, writes code, runs commands, manages files, searches the web, and orchestrates multi-agent swarms — all from a single TUI with a cyberpunk aesthetic.
|
|
26
|
+
|
|
27
|
+
It works with **any provider**: OpenAI, Gemini, Ollama, DeepSeek, Groq, Mistral, GitHub Models, Codex, LM Studio, OpenRouter, and any OpenAI-compatible API. Cloud or local. Your choice.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
┌──────────────────────────────────────────┐
|
|
31
|
+
│ Provider Ollama │
|
|
32
|
+
│ Model qwen2.5-coder:32b │
|
|
33
|
+
│ Uplink http://localhost:11434/v1 │
|
|
34
|
+
├──────────────────────────────────────────┤
|
|
35
|
+
│ ● local buffer ready — /help │
|
|
36
|
+
└──────────────────────────────────────────┘
|
|
37
|
+
STRATAGEM X7 v0.3.2 // breach link stable
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Install
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g stratagem-x7
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Then launch:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
stx7
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
That's it. Run `/provider` inside to configure your backend, or set environment variables before launching.
|
|
55
|
+
|
|
56
|
+
> **Node 20+** required. If you get a `ripgrep not found` warning, install ripgrep system-wide (`rg --version` should work in the same terminal).
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Quick Setup
|
|
61
|
+
|
|
62
|
+
### OpenAI
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
export CLAUDE_CODE_USE_OPENAI=1
|
|
66
|
+
export OPENAI_API_KEY=sk-your-key
|
|
67
|
+
export OPENAI_MODEL=gpt-4o
|
|
68
|
+
stx7
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Local Ollama
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
export CLAUDE_CODE_USE_OPENAI=1
|
|
75
|
+
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
76
|
+
export OPENAI_MODEL=qwen2.5-coder:7b
|
|
77
|
+
stx7
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Ollama Launch (zero config)
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
ollama launch stx7 --model qwen2.5-coder:7b
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Windows (PowerShell)
|
|
87
|
+
|
|
88
|
+
```powershell
|
|
89
|
+
$env:CLAUDE_CODE_USE_OPENAI="1"
|
|
90
|
+
$env:OPENAI_API_KEY="sk-your-key"
|
|
91
|
+
$env:OPENAI_MODEL="gpt-4o"
|
|
92
|
+
stx7
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Interactive Setup
|
|
96
|
+
|
|
97
|
+
Don't want to touch environment variables? Just run:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
stx7
|
|
101
|
+
# then type: /provider
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The `/provider` command walks you through guided setup and saves profiles to disk.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Supported Providers
|
|
109
|
+
|
|
110
|
+
| Provider | Setup | Notes |
|
|
111
|
+
|----------|-------|-------|
|
|
112
|
+
| **OpenAI** | `/provider` or env vars | GPT-4o, o1, o3, etc. |
|
|
113
|
+
| **Ollama** | `/provider`, env vars, or `ollama launch` | Local inference, no API key |
|
|
114
|
+
| **Gemini** | `/provider` or env vars | API key, access token, or ADC |
|
|
115
|
+
| **DeepSeek** | `/provider` or env vars | OpenAI-compatible |
|
|
116
|
+
| **GitHub Models** | `/onboard-github` | Interactive onboarding |
|
|
117
|
+
| **Codex** | `/provider` | OAuth or CLI auth |
|
|
118
|
+
| **OpenRouter** | `/provider` or env vars | OpenAI-compatible multi-model gateway |
|
|
119
|
+
| **Groq / Mistral** | `/provider` or env vars | OpenAI-compatible |
|
|
120
|
+
| **LM Studio** | `/provider` or env vars | Local OpenAI-compatible server |
|
|
121
|
+
| **Bedrock / Vertex** | env vars | AWS and GCP provider integrations |
|
|
122
|
+
| **Any `/v1` compatible** | env vars | Point `OPENAI_BASE_URL` at it |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Features
|
|
127
|
+
|
|
128
|
+
### 🔧 Tool-Driven Coding
|
|
129
|
+
Bash execution, file read/write/edit, grep, glob, web search, web fetch — all as structured tool calls the agent orchestrates automatically.
|
|
130
|
+
|
|
131
|
+
### 🤖 Autonomous Buffer Modes
|
|
132
|
+
Three autonomy levels via `shift+tab`:
|
|
133
|
+
- **`BUFFER:OFF`** — Ask permission for everything
|
|
134
|
+
- **`BUFFER:SMART`** — Auto-approve safe operations
|
|
135
|
+
- **`BUFFER:AGGRESSIVE`** — Full autonomy including self-command injection
|
|
136
|
+
|
|
137
|
+
### ⚡ Self-Command Injection
|
|
138
|
+
On `BUFFER:AGGRESSIVE`, Stratagem can invoke its own slash commands — `/compact` when context gets full, `/new` to start fresh sessions, `/model` to switch models mid-task. No human in the loop.
|
|
139
|
+
|
|
140
|
+
### 🐝 Agent Swarms
|
|
141
|
+
Spawn multi-agent teams that work in parallel. Route different agents to different models. Coordinate via message injection.
|
|
142
|
+
|
|
143
|
+
### 🔌 MCP Support
|
|
144
|
+
Full Model Context Protocol support. Connect external tools, data sources, and services.
|
|
145
|
+
|
|
146
|
+
### 📡 Cockpit API Rotation
|
|
147
|
+
Built-in API key rotation system for high-throughput operations. Monitors rate limits and rotates keys automatically.
|
|
148
|
+
|
|
149
|
+
### 🎮 Cyberpunk TUI
|
|
150
|
+
Not your average terminal app. Custom BREACH PROTOCOL splash screen, STATUS BUS footer with live model/cockpit indicators, and a color scheme that looks like it belongs in Night City.
|
|
151
|
+
|
|
152
|
+
### 📋 Plan Mode
|
|
153
|
+
Enter plan mode to explore, research, and design before writing code. Stratagem presents a structured plan for your approval before executing.
|
|
154
|
+
|
|
155
|
+
### 🔍 Web Search & Fetch
|
|
156
|
+
DuckDuckGo-powered web search works out of the box on all providers. Optional Firecrawl integration for JS-rendered pages.
|
|
157
|
+
|
|
158
|
+
### 💾 Session Persistence
|
|
159
|
+
Conversations are saved to disk. Resume any session with `/resume`. Start fresh with `/new`.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Slash Commands
|
|
164
|
+
|
|
165
|
+
| Command | Description |
|
|
166
|
+
|---------|-------------|
|
|
167
|
+
| `/help` | Show all available commands |
|
|
168
|
+
| `/provider` | Guided provider setup |
|
|
169
|
+
| `/model` | Switch active model |
|
|
170
|
+
| `/compact` | Compress conversation context |
|
|
171
|
+
| `/new` | Start a fresh session |
|
|
172
|
+
| `/clear` | Same as `/new` |
|
|
173
|
+
| `/resume` | Resume a previous session |
|
|
174
|
+
| `/config` | View/edit configuration |
|
|
175
|
+
| `/memory` | Edit memory files |
|
|
176
|
+
| `/stats` | Usage statistics |
|
|
177
|
+
| `/status` | System status and connectivity |
|
|
178
|
+
| `/onboard-github` | GitHub Models setup |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Agent Routing
|
|
183
|
+
|
|
184
|
+
Route different agents to different models for cost optimization:
|
|
185
|
+
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"agentModels": {
|
|
189
|
+
"deepseek-chat": {
|
|
190
|
+
"base_url": "https://api.deepseek.com/v1",
|
|
191
|
+
"api_key": "sk-your-key"
|
|
192
|
+
},
|
|
193
|
+
"gpt-4o": {
|
|
194
|
+
"base_url": "https://api.openai.com/v1",
|
|
195
|
+
"api_key": "sk-your-key"
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"agentRouting": {
|
|
199
|
+
"Explore": "deepseek-chat",
|
|
200
|
+
"Plan": "gpt-4o",
|
|
201
|
+
"default": "gpt-4o"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Add to `~/.claude/settings.json`. When no routing match is found, the global provider is the fallback.
|
|
207
|
+
|
|
208
|
+
> ⚠️ `api_key` values in `settings.json` are stored in plaintext. Keep this file private.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Web Search
|
|
213
|
+
|
|
214
|
+
`WebSearch` uses DuckDuckGo by default on all non-Anthropic providers — free, no API key needed.
|
|
215
|
+
|
|
216
|
+
For better reliability and JS-rendered page support, set up [Firecrawl](https://firecrawl.dev):
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
export FIRECRAWL_API_KEY=your-key-here
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Free tier includes 500 credits.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Headless gRPC Server
|
|
227
|
+
|
|
228
|
+
Run Stratagem as a headless service for CI/CD, custom UIs, or programmatic access:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
npm run dev:grpc # Start server on localhost:50051
|
|
232
|
+
npm run dev:grpc:cli # Test CLI client
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
| Variable | Default | Description |
|
|
236
|
+
|----------|---------|-------------|
|
|
237
|
+
| `GRPC_PORT` | `50051` | Server port |
|
|
238
|
+
| `GRPC_HOST` | `localhost` | Bind address |
|
|
239
|
+
|
|
240
|
+
Proto definitions: `src/proto/openclaude.proto`
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Build From Source
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
git clone https://github.com/EstarinAzx/XETH--7.git
|
|
248
|
+
cd XETH--7
|
|
249
|
+
bun install
|
|
250
|
+
bun run build
|
|
251
|
+
node dist/cli.mjs
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Dev Commands
|
|
255
|
+
|
|
256
|
+
| Command | Description |
|
|
257
|
+
|---------|-------------|
|
|
258
|
+
| `bun run dev` | Build + launch |
|
|
259
|
+
| `bun run dev:ollama` | Launch with Ollama profile |
|
|
260
|
+
| `bun test` | Run tests |
|
|
261
|
+
| `bun run test:coverage` | Coverage report |
|
|
262
|
+
| `bun run smoke` | Build + version check |
|
|
263
|
+
| `bun run doctor:runtime` | System diagnostics |
|
|
264
|
+
| `bun run verify:privacy` | Verify no telemetry |
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Project Structure
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
src/ Core CLI runtime
|
|
272
|
+
src/tools/ Tool implementations (Bash, FileEdit, UserInput, etc.)
|
|
273
|
+
src/components/ TUI components (Ink/React)
|
|
274
|
+
src/screens/ Main screens (REPL, Doctor)
|
|
275
|
+
src/utils/ Utilities and helpers
|
|
276
|
+
src/commands/ Slash command handlers
|
|
277
|
+
scripts/ Build and maintenance scripts
|
|
278
|
+
bin/ CLI launchers (stx7, openclaude)
|
|
279
|
+
docs/ Documentation
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Contributing
|
|
285
|
+
|
|
286
|
+
Contributions welcome. For larger changes, open an issue first.
|
|
287
|
+
|
|
288
|
+
Before submitting:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
bun run build
|
|
292
|
+
bun run smoke
|
|
293
|
+
bun test
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Security
|
|
299
|
+
|
|
300
|
+
Found a vulnerability? See [SECURITY.md](SECURITY.md).
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Community
|
|
305
|
+
|
|
306
|
+
- [GitHub Discussions](https://github.com/EstarinAzx/XETH--7/discussions) — Q&A, ideas, conversation
|
|
307
|
+
- [GitHub Issues](https://github.com/EstarinAzx/XETH--7/issues) — Bugs and feature requests
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Disclaimer
|
|
312
|
+
|
|
313
|
+
Stratagem X7 is an independent community project. Not affiliated with, endorsed by, or sponsored by Anthropic.
|
|
314
|
+
|
|
315
|
+
Stratagem X7 originated from the Claude Code codebase and has been substantially modified to support multiple providers and open use. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See [LICENSE](LICENSE) for details.
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
<div align="center">
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
◢ STRATAGEM X7 // breach shell // protocol online. ◣
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**[Install](#install) · [Setup](#quick-setup) · [Providers](#supported-providers) · [Features](#features) · [Build](#build-from-source)**
|
|
326
|
+
|
|
327
|
+
</div>
|
package/dist/cli.mjs
CHANGED
|
@@ -382560,7 +382560,7 @@ function getAnthropicEnvMetadata() {
|
|
|
382560
382560
|
function getBuildAgeMinutes() {
|
|
382561
382561
|
if (false)
|
|
382562
382562
|
;
|
|
382563
|
-
const buildTime = new Date("2026-04-22T12:
|
|
382563
|
+
const buildTime = new Date("2026-04-22T12:07:51.954Z").getTime();
|
|
382564
382564
|
if (isNaN(buildTime))
|
|
382565
382565
|
return;
|
|
382566
382566
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -409742,7 +409742,7 @@ function buildPrimarySection() {
|
|
|
409742
409742
|
}, undefined, false, undefined, this);
|
|
409743
409743
|
return [{
|
|
409744
409744
|
label: "Version",
|
|
409745
|
-
value: "0.3.
|
|
409745
|
+
value: "0.3.3"
|
|
409746
409746
|
}, {
|
|
409747
409747
|
label: "Session name",
|
|
409748
409748
|
value: nameValue
|
|
@@ -449370,7 +449370,7 @@ function getStartupLines(termWidth) {
|
|
|
449370
449370
|
const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
|
|
449371
449371
|
out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
|
|
449372
449372
|
out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
|
|
449373
|
-
out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.
|
|
449373
|
+
out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.3"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
|
|
449374
449374
|
out.push("");
|
|
449375
449375
|
return out;
|
|
449376
449376
|
}
|
|
@@ -477910,7 +477910,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
477910
477910
|
var call60 = async () => {
|
|
477911
477911
|
return {
|
|
477912
477912
|
type: "text",
|
|
477913
|
-
value: `${"99.0.0"} (built ${"2026-04-22T12:
|
|
477913
|
+
value: `${"99.0.0"} (built ${"2026-04-22T12:07:51.954Z"})`
|
|
477914
477914
|
};
|
|
477915
477915
|
}, version2, version_default;
|
|
477916
477916
|
var init_version = __esm(() => {
|
|
@@ -553272,7 +553272,7 @@ function WelcomeV2() {
|
|
|
553272
553272
|
dimColor: true,
|
|
553273
553273
|
children: [
|
|
553274
553274
|
"v",
|
|
553275
|
-
"0.3.
|
|
553275
|
+
"0.3.3",
|
|
553276
553276
|
" "
|
|
553277
553277
|
]
|
|
553278
553278
|
}, undefined, true, undefined, this)
|
|
@@ -573289,7 +573289,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
573289
573289
|
pendingHookMessages
|
|
573290
573290
|
}, renderAndRun);
|
|
573291
573291
|
}
|
|
573292
|
-
}).version("0.3.
|
|
573292
|
+
}).version("0.3.3 (STRATAGEM X7)", "-v, --version", "Output the version number");
|
|
573293
573293
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
573294
573294
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
573295
573295
|
if (canUserConfigureAdvisor()) {
|
|
@@ -573818,7 +573818,7 @@ if (false) {}
|
|
|
573818
573818
|
async function main2() {
|
|
573819
573819
|
const args = process.argv.slice(2);
|
|
573820
573820
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
573821
|
-
console.log(`${"0.3.
|
|
573821
|
+
console.log(`${"0.3.3"} (STRATAGEM X7)`);
|
|
573822
573822
|
return;
|
|
573823
573823
|
}
|
|
573824
573824
|
if (args.includes("--provider")) {
|
|
@@ -573940,4 +573940,4 @@ async function main2() {
|
|
|
573940
573940
|
}
|
|
573941
573941
|
main2();
|
|
573942
573942
|
|
|
573943
|
-
//# debugId=
|
|
573943
|
+
//# debugId=22F8B3833831392964756E2164756E21
|