@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.
Files changed (2) hide show
  1. package/README.md +25 -86
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,104 +1,43 @@
1
1
  # @cruxy/cli
2
2
 
3
- An agentic coding CLI. **Phase C.0CLI scaffolding + config.**
3
+ **An agentic coding CLI that plans, edits, tests, and ships from your terminal powered by the Cruxy API.**
4
4
 
5
- This is the foundation pass: a working command-line skeleton with a layered
6
- configuration system. The agent loop, tools, indexing, and everything else in
7
- the C-series slot into the directory structure laid out here.
5
+ [![npm version](https://img.shields.io/npm/v/@cruxy/cli.svg)](https://www.npmjs.com/package/@cruxy/cli)
6
+ [![npm downloads](https://img.shields.io/npm/dm/@cruxy/cli.svg)](https://www.npmjs.com/package/@cruxy/cli)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)
8
+ [![Node](https://img.shields.io/badge/node-%3E%3D20-43853d.svg)](https://nodejs.org)
8
9
 
9
- ## Requirements
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
- - Node.js >= 20
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 run dev -- --help
25
- npm run dev -- config path
26
- ```
17
+ npm install -g @cruxy/cli
27
18
 
28
- ## Usage
19
+ export CRUXY_API_KEY=cxy_live_... # from app.cruxy.in
29
20
 
30
- ```bash
31
- cruxy # entrypoint (interactive REPL stub — lands in C.3)
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
- Global flags: `--config <path>`, `--log-level <level>`, `--verbose`, `--version`.
42
-
43
- ## Configuration
25
+ ## Features
44
26
 
45
- Config is resolved in layers, where later sources override earlier ones:
46
-
47
- 1. Built-in schema defaults
48
- 2. Global config `~/.cruxy/config.json`
49
- 3. Project config `cruxy.config.json` or `.cruxy/config.json` (discovered by
50
- walking up from the current directory), or an explicit `--config <path>`
51
- 4. Environment variables — `CRUXY_MODEL`, `CRUXY_PROVIDER`, `CRUXY_LOG_LEVEL`
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
- Folders for `agent/`, `tools/`, and `providers/` are introduced as their phases
81
- land, so this layout grows without restructuring.
35
+ Interactive slash commands: `/help`, `/clear`, `/compact`, `/reload`, `/exit`.
82
36
 
83
- ## Roadmap (C-series)
37
+ For unattended runs, pass `--yes` to approve every action.
84
38
 
85
- | Phase | Description |
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cruxy/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "an agentic coding CLI",
5
5
  "type": "module",
6
6
  "bin": {