@cruxy/cli 0.1.0 → 0.1.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 +25 -86
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,104 +1,43 @@
|
|
|
1
1
|
# @cruxy/cli
|
|
2
2
|
|
|
3
|
-
An agentic coding CLI
|
|
3
|
+
**An agentic coding CLI that plans, edits, tests, and ships from your terminal — powered by the Cruxy API.**
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@cruxy/cli)
|
|
6
|
+
[](https://www.npmjs.com/package/@cruxy/cli)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
[](https://nodejs.org)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Cruxy is a terminal-first coding agent that works directly in your repository —
|
|
11
|
+
reading code, editing files, running commands, and verifying its own work, with
|
|
12
|
+
an approval gate before anything touches disk.
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Setup
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm install
|
|
17
|
-
npm run build # compile TypeScript -> dist/
|
|
18
|
-
npm link # optional: expose the `cruxy` command globally
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
During development you can skip the build step:
|
|
14
|
+
## Install
|
|
22
15
|
|
|
23
16
|
```bash
|
|
24
|
-
npm
|
|
25
|
-
npm run dev -- config path
|
|
26
|
-
```
|
|
17
|
+
npm install -g @cruxy/cli
|
|
27
18
|
|
|
28
|
-
|
|
19
|
+
export CRUXY_API_KEY=cxy_live_... # from app.cruxy.in
|
|
29
20
|
|
|
30
|
-
|
|
31
|
-
cruxy
|
|
32
|
-
cruxy run "fix the bug" # one-shot prompt (agent loop stub — lands in C.4)
|
|
33
|
-
cruxy config init # write a default global config
|
|
34
|
-
cruxy config list # print the fully-resolved config
|
|
35
|
-
cruxy config get model.temperature
|
|
36
|
-
cruxy config set model.model claude-opus-4-8
|
|
37
|
-
cruxy config path # show where config files live
|
|
38
|
-
cruxy --help
|
|
21
|
+
cruxy run "explain this codebase" # one-shot
|
|
22
|
+
cruxy run # interactive session
|
|
39
23
|
```
|
|
40
24
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
## Configuration
|
|
25
|
+
## Features
|
|
44
26
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
The merged result is validated against a [zod](https://zod.dev) schema
|
|
54
|
-
(`src/config/schema.ts`); invalid configs are rejected with a readable error.
|
|
55
|
-
|
|
56
|
-
**API keys are never stored in config files.** They are read from the
|
|
57
|
-
environment only (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `CRUXY_API_KEY`).
|
|
58
|
-
Copy `.env.example` to `.env` to set them locally.
|
|
59
|
-
|
|
60
|
-
## Project structure
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
src/
|
|
64
|
-
index.ts # bin entry (shebang) + top-level error handling
|
|
65
|
-
constants.ts # app name/version, config file names
|
|
66
|
-
cli/
|
|
67
|
-
program.ts # commander program + global options
|
|
68
|
-
commands/
|
|
69
|
-
run.ts # `cruxy run` (agent loop stub)
|
|
70
|
-
config.ts # `cruxy config` subcommands
|
|
71
|
-
config/
|
|
72
|
-
schema.ts # zod config schema + types
|
|
73
|
-
paths.ts # global/project config path resolution
|
|
74
|
-
manager.ts # layered load/merge/validate, get/set/init
|
|
75
|
-
index.ts # barrel
|
|
76
|
-
utils/
|
|
77
|
-
logger.ts # leveled logger
|
|
78
|
-
```
|
|
27
|
+
- **Tools** — `read_file`, `write_file`, `edit_file`, `glob`, `list_files`,
|
|
28
|
+
`grep_files`, `run_command`, `git_status`, `apply_patch`.
|
|
29
|
+
- **Agent** — streaming output, multi-turn interactive sessions, context
|
|
30
|
+
compaction, and awareness of git state and project instructions (`CRUXY.md`).
|
|
31
|
+
- **Safety** — a single approval gate with diff previews that fails closed;
|
|
32
|
+
read-only tools never prompt; file access is confined to the project root;
|
|
33
|
+
shell commands run bounded.
|
|
79
34
|
|
|
80
|
-
|
|
81
|
-
land, so this layout grows without restructuring.
|
|
35
|
+
Interactive slash commands: `/help`, `/clear`, `/compact`, `/reload`, `/exit`.
|
|
82
36
|
|
|
83
|
-
|
|
37
|
+
For unattended runs, pass `--yes` to approve every action.
|
|
84
38
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
| C.0 | CLI scaffolding + config |
|
|
88
|
-
| C.1–C.10 | Provider client, tool system, agent loop, file tools, **permissions** ← you are here, terminal UI, shell, git, IDE plugins |
|
|
89
|
-
| C.11 | Codebase indexing (vector store) |
|
|
90
|
-
| C.12 | Per-language LSP integration |
|
|
91
|
-
| C.13 | Test execution + iteration loop |
|
|
92
|
-
| C.14 | Subagent orchestration |
|
|
93
|
-
| C.15 | PR generation |
|
|
94
|
-
| C.16 | Sandbox / Docker execution |
|
|
95
|
-
| C.17 | Web-search subtool |
|
|
96
|
-
| C.18 | Custom skills (SKILL.md system) |
|
|
97
|
-
| C.19 | Hooks + slash commands |
|
|
98
|
-
| C.20 | Headless / CI mode |
|
|
99
|
-
| C.21 | Multi-repo agents |
|
|
100
|
-
| C.22 | Telemetry + cost tracking |
|
|
101
|
-
| C.23 | Streaming UI improvements |
|
|
39
|
+
The LLM client is [`@cruxy/sdk`](https://www.npmjs.com/package/@cruxy/sdk) —
|
|
40
|
+
provider-agnostic, built over `fetch`, with no vendor SDKs.
|
|
102
41
|
|
|
103
42
|
## License
|
|
104
43
|
|