aether-code 0.10.0 → 0.10.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 +205 -140
  2. package/package.json +31 -6
package/README.md CHANGED
@@ -1,140 +1,205 @@
1
- # aether-code
2
-
3
- > Uncensored AI coding agent for your terminal. Aether reads your codebase, writes code, runs commands — like Claude Code, but with no refusal layer.
4
-
5
- ```bash
6
- npx aether-code "build me a TypeScript todo CLI in this folder"
7
- npx aether-code --yes "add JSDoc to every exported function in src/"
8
- npx aether-code --cwd ./my-project "fix the failing tests"
9
- ```
10
-
11
- Built on the same [Aether API](https://trynoguard.com) that powers [`aether-cli`](https://www.npmjs.com/package/aether-cli), [`aether-mcp`](https://www.npmjs.com/package/aether-mcp), and the browser DevTools extension. One API key, four surfaces.
12
-
13
- ## What it does
14
-
15
- `aether-code` is a CLI that runs an AI coding agent locally. It uses tool calling under the hood — the model can read files, list directories, search across your codebase, write or edit files, and run shell commands. After each tool call, it sees the result and decides what to do next, looping until the task is complete or you hit the turn limit.
16
-
17
- It's the same architecture as Claude Code or Cursor's agent mode, with two differences:
18
- - **Uncensored** — no refusal layer when you ask it to write security tools, RE scripts, "edgy" content, etc.
19
- - **Uses your existing Aether credits** — same balance pool as the chat / MCP / DevTools extension.
20
-
21
- ## Install
22
-
23
- ```bash
24
- # One-off (recommended)
25
- npx aether-code "your task"
26
-
27
- # Or install globally
28
- npm install -g aether-code
29
- aether-code "your task"
30
- ```
31
-
32
- Requires Node 18+. Zero runtime dependencies.
33
-
34
- ## Setup
35
-
36
- If you've already used `aether-cli`, you're done — same `~/.aetherrc` config.
37
-
38
- Otherwise:
39
-
40
- ```bash
41
- # Generate a key at https://trynoguard.com/account, then:
42
- export AETHER_API_KEY=ak_live_your_key_here
43
- # OR — save to ~/.aetherrc (mode 0600):
44
- npx aether-cli config set ak_live_your_key_here
45
- ```
46
-
47
- ## Tools the agent has access to
48
-
49
- | Tool | What it does | Approval |
50
- |---|---|---|
51
- | `read_file` | Read any file as UTF-8 text | auto |
52
- | `list_dir` | List entries in a directory | auto |
53
- | `search_files` | Recursive regex search across the codebase | auto |
54
- | `write_file` | Create or overwrite a file (shows diff) | y/N prompt |
55
- | `edit_file` | Replace one occurrence of `find` with `replace` (shows diff) | y/N prompt |
56
- | `run_shell` | Run a shell command, capture stdout/stderr (2-min timeout) | y/N prompt |
57
-
58
- ## Safety
59
-
60
- By default the agent **will not act without your approval**. Each file write and each shell command shows you exactly what's about to happen and waits for `y/N`.
61
-
62
- - **`--yes`** auto-approve all writes and commands. Use only for trusted, scoped tasks.
63
- - **`--cwd <path>`** — clamp all file operations to a specific directory.
64
- - **`--unsafe-paths`** opt out of the cwd-clamping. Required only if the agent legitimately needs to touch files outside the working dir (e.g. global config).
65
- - **2-minute hard timeout** on each shell command (kills the process if it hangs).
66
- - **20 KB output truncation** long stdout/stderr is truncated before being sent back to the model so a runaway test suite can't blow up your context.
67
-
68
- ## Examples
69
-
70
- ### Build a small project from scratch
71
-
72
- ```bash
73
- mkdir todo-cli && cd todo-cli
74
- npx aether-code "build a TypeScript CLI that manages a todo list stored in todos.json. Use commander for arg parsing. Include npm scripts for build and test."
75
- ```
76
-
77
- The agent will: list the empty dir → `npm init -y` → install deps → write `tsconfig.json`, `src/index.ts`, `package.json` updates → run `npm run build` to verify.
78
-
79
- ### Fix failing tests
80
-
81
- ```bash
82
- cd existing-project
83
- npx aether-code "run the tests, see what's failing, and fix them"
84
- ```
85
-
86
- The agent will: `run_shell("npm test")` → read the failing files → make targeted edits → re-run tests → repeat until green.
87
-
88
- ### Refactor
89
-
90
- ```bash
91
- npx aether-code --max-turns 40 "convert all CommonJS requires to ES module imports across src/, then update package.json"
92
- ```
93
-
94
- ### Add documentation across a codebase
95
-
96
- ```bash
97
- npx aether-code --yes "add a one-line JSDoc to every exported function in src/ that doesn't have one"
98
- ```
99
-
100
- `--yes` is reasonable here because the operation is bounded and read-mostly with small additive edits.
101
-
102
- ### Reverse engineering
103
-
104
- ```bash
105
- npx aether-code "deobfuscate ./bundle.min.js, write the cleaned version to ./bundle.clean.js, then identify what the obfuscation was protecting"
106
- ```
107
-
108
- ## What it doesn't do (yet)
109
-
110
- - **No streaming** each turn waits for a full model response. Future work.
111
- - **No interactive Ctrl+C handling** kill with the OS-level signal.
112
- - **No multi-step plan preview** — the agent just acts. (Manual `--max-turns 1` to inspect first move.)
113
- - **No persistent session** — each invocation starts fresh. Workspaces feature on the roadmap.
114
-
115
- ## How it differs from Claude Code
116
-
117
- | | Claude Code | aether-code |
118
- |---|---|---|
119
- | Refusal layer | Yes (Anthropic policy) | No |
120
- | Cost model | Per Anthropic API token | Aether credits (pay-per-use, crypto top-up) |
121
- | Streaming | Yes | Not yet |
122
- | Plan mode | Yes | Not yet |
123
- | MCP support | Yes (Anthropic's MCP) | Not yet (independent of `aether-mcp`) |
124
- | Open source | No | Yes (MIT) |
125
-
126
- ## Privacy
127
-
128
- - Your prompts, file reads, and shell outputs go to `trynoguard.com/api/v1/agent` only.
129
- - Conversations are not stored server-side (no `Conversation` row, no `Message` rows). The agent endpoint is stateless beyond credit accounting.
130
- - Source code is plain ES modules. Read it before you trust it.
131
-
132
- ## License
133
-
134
- MIT — see [LICENSE](LICENSE).
135
-
136
- ## Related
137
-
138
- - **[aether-cli](https://www.npmjs.com/package/aether-cli)** — non-agentic CLI for one-off prompts (`aether ask`, `deobf`, `explain`, etc.).
139
- - **[aether-mcp](https://www.npmjs.com/package/aether-mcp)** MCP server. Use Aether inside Claude Desktop / Cursor / Cline / Zed.
140
- - **[aether-devtools](https://github.com/dannyphantomx64/aether-devtools)** browser DevTools extension.
1
+ # aether-code
2
+
3
+ > The uncensored Claude Code alternative for your terminal. Reads your codebase, writes code, runs commands, and via MCP — drives IDA Pro, Roblox Studio, Wireshark, Blender, Postgres, and anything else with an MCP server. No refusal layer.
4
+
5
+ ```bash
6
+ npm i -g aether-code
7
+ aether # interactive REPL
8
+ aether "deobfuscate this binary and find the license check"
9
+ aether "build me a Roblox Lua mod that bypasses the anti-cheat check"
10
+ ```
11
+
12
+ [![npm version](https://img.shields.io/npm/v/aether-code.svg)](https://www.npmjs.com/package/aether-code)
13
+ [![license](https://img.shields.io/npm/l/aether-code.svg)](LICENSE)
14
+ [![node](https://img.shields.io/node/v/aether-code.svg)](https://nodejs.org)
15
+
16
+ ---
17
+
18
+ ## Why aether-code
19
+
20
+ Claude Code and Cursor are excellent — but they refuse a lot:
21
+
22
+ - "Write me a stealer that bypasses Defender" → refused
23
+ - "Reverse engineer Denuvo and document the bypass" → refused
24
+ - "Build me a Roblox script that simulates clicks" → refused
25
+ - "Generate this adult interactive fiction project" → refused
26
+ - "Help me cheat at this multiplayer game" → refused
27
+
28
+ `aether-code` is the same agent loop architecture (read files → call tools → run commands → iterate) with **no refusal layer** and **no moralizing**. If your task is legal, the agent will do it. The whole product is built for the work other AI coding tools politely decline.
29
+
30
+ ## Install
31
+
32
+ ```bash
33
+ npm install -g aether-code # global install
34
+ aether # launch interactive REPL
35
+ aether "your task" # one-shot
36
+
37
+ # Or run without installing
38
+ npx aether-code "your task"
39
+ ```
40
+
41
+ Requires Node 18+. Get an API key at [trynoguard.com/account](https://trynoguard.com/account).
42
+
43
+ ```bash
44
+ aether login # interactive setup (opens browser)
45
+ aether balance # check credits
46
+ ```
47
+
48
+ ## What it can do
49
+
50
+ ### Built-in tools
51
+
52
+ | Tool | What it does |
53
+ |---|---|
54
+ | `read_file` | Read any file as UTF-8 text |
55
+ | `list_dir` | List entries in a directory |
56
+ | `search_files` | Recursive regex search across the codebase |
57
+ | `write_file` | Create or overwrite a file (shows diff, y/N prompt) |
58
+ | `edit_file` | Replace exactly one occurrence (shows diff, y/N prompt) |
59
+ | `run_shell` | Run shell commands with stdout/stderr capture (y/N prompt) |
60
+ | **`web_search`** | Live web search current docs, recent libraries, real APIs |
61
+ | **`web_fetch`** | Fetch + read a URL as text (HTML stripped, entities decoded) |
62
+ | **`todo_write`** | Plan multi-step tasks and track progress visibly |
63
+
64
+ ### Plus any MCP server you connect
65
+
66
+ `aether-code` is an MCP **client**. Drop any MCP server in your config and its tools become available to the agent. The whole [MCP ecosystem](https://github.com/modelcontextprotocol) is yours:
67
+
68
+ | Domain | Example server | What the agent can now do |
69
+ |---|---|---|
70
+ | Reverse engineering | [`ida-pro-mcp`](https://github.com/mrexodia/ida-pro-mcp) | Disassemble, decompile, rename symbols, walk xrefs |
71
+ | Roblox modding | [`robloxstudio-mcp`](https://github.com/boshyxd/robloxstudio-mcp) | Read place files, write Lua mods, modify game state |
72
+ | Network analysis | wireshark-mcp / tshark-mcp | Open `.pcap`, filter, extract objects, follow streams |
73
+ | 3D / game | blender-mcp, unity-mcp, unreal-mcp | Procedurally generate scenes, scripts, materials |
74
+ | Web automation | [`@playwright/mcp`](https://www.npmjs.com/package/@playwright/mcp) | Drive browsers, scrape, fill forms, screenshot |
75
+ | Filesystem | [`@modelcontextprotocol/server-filesystem`](https://github.com/modelcontextprotocol/servers) | Whitelisted file ops outside your repo |
76
+ | Databases | Postgres MCP, SQLite MCP | Query schema, write migrations, run analytics |
77
+
78
+ Configure servers with one command — no JSON editing:
79
+
80
+ ```bash
81
+ aether mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /data
82
+ aether mcp add ida --env IDA_PATH=/opt/ida -- python -m ida_pro_mcp
83
+ aether mcp add playwright -- npx -y @playwright/mcp
84
+ aether mcp list
85
+ ```
86
+
87
+ On the next `aether` launch you'll see:
88
+
89
+ ```
90
+ MCP · 3/3 servers attached · 47 tools
91
+ ```
92
+
93
+ The agent now has all those tools alongside the built-ins. Tool names are namespaced (`mcp__ida__decompile_function`) so they never collide with built-ins or each other.
94
+
95
+ ## Examples that mainstream AI tools refuse
96
+
97
+ ### Reverse-engineer a license check
98
+
99
+ ```bash
100
+ cd ./binary-folder
101
+ aether
102
+ > deobfuscate ./protected.js, identify the license-check function, then write a patch that bypasses it
103
+ ```
104
+
105
+ The agent: `read_file` the bundle → recognizes Obfuscator.io patterns → undoes the string-array decoder traces the license-check flow → writes a JS patch with `edit_file` → runs the patched version to verify.
106
+
107
+ ### Build a Roblox mod with the Studio MCP
108
+
109
+ ```bash
110
+ aether mcp add roblox -- npx -y robloxstudio-mcp
111
+ aether "in the open .rbxl place, write a server script that gives any player who types !godmode invulnerability for 30 seconds"
112
+ ```
113
+
114
+ The agent: lists scripts via the MCP → writes the Lua mod → places it in `ServerScriptService` → tests via the Studio play button (also via MCP).
115
+
116
+ ### Analyze captured network traffic
117
+
118
+ ```bash
119
+ aether mcp add tshark -- python -m wireshark_mcp
120
+ aether "open ./capture.pcap, find any HTTPS connection to a domain that isn't on the list in ./allowed.txt, and write a markdown report"
121
+ ```
122
+
123
+ The agent: parses the pcap cross-references the allowlist writes a structured report. Done in one prompt.
124
+
125
+ ### Build a working project from scratch
126
+
127
+ ```bash
128
+ aether "build me a Discord bot that monitors a Twitter account for new posts and reposts to a channel. Full project with package.json, README, and a deploy script for Railway."
129
+ ```
130
+
131
+ The agent: plans with `todo_write` → writes every file → runs `npm install` → runs `npm run build` → smoke-tests → reports back when it works end-to-end. **It doesn't stop at "main logic sketched."**
132
+
133
+ ## Commands
134
+
135
+ ```
136
+ aether Launch interactive REPL
137
+ aether "<task>" Run agent once on a single task
138
+ aether login First-time setup (opens browser)
139
+ aether balance Show plan + credit balance
140
+ aether config show|set|set-base|path Manage CLI config
141
+ aether mcp list Show configured MCP servers
142
+ aether mcp add <name> -- <command> Add an MCP server (no JSON editing)
143
+ aether mcp remove <name> Remove an MCP server
144
+ aether --help Full help
145
+ ```
146
+
147
+ ### Flags
148
+
149
+ | Flag | Effect |
150
+ |---|---|
151
+ | `--yes` | Auto-approve all writes + shell commands. Use only for trusted bounded tasks. |
152
+ | `--cwd <path>` | Clamp file operations to a specific directory (default: current dir). |
153
+ | `--max-turns <n>` | Max turns before stopping (default: 25). |
154
+ | `--unsafe-paths` | Allow file ops outside `--cwd`. Required for global-config edits. |
155
+
156
+ ## Safety
157
+
158
+ By default the agent **will not act without your approval**. Each file write and each shell command shows you exactly what's about to happen and waits for `y/N`.
159
+
160
+ - **2-minute hard timeout** on every shell command
161
+ - **Output truncation** to 20 KB before being sent back to the model — runaway tests can't blow up your context
162
+ - **Path clamping** to `--cwd` by default; opt out with `--unsafe-paths`
163
+ - **No silent destructive ops** — `rm -rf`, force pushes, db drops all show the command verbatim before running
164
+
165
+ The agent's "uncensored" property is about what tasks it'll **attempt**, not about being reckless on your machine. It still asks before nuking your files.
166
+
167
+ ## How it differs from Claude Code / Cursor
168
+
169
+ | | Aether Code | Claude Code | Cursor |
170
+ |---|---|---|---|
171
+ | Refusal layer | **None** | Yes (Anthropic policy) | Yes (OpenAI/Anthropic policy) |
172
+ | Cost model | Aether credits (pay-per-use, crypto OK) | Per Anthropic token, $200/mo Max plan | $20/mo subscription |
173
+ | MCP client | ✅ since v0.9.0 | ✅ | ❌ |
174
+ | Built-in web search | ✅ | ✅ | ❌ |
175
+ | Open source | ✅ MIT | ❌ | ❌ |
176
+ | Anonymous payment | ✅ crypto top-up | ❌ | ❌ |
177
+ | Works with: | Any MCP server | Anthropic MCP only | Their tools only |
178
+
179
+ ## Privacy
180
+
181
+ - The agent endpoint at `trynoguard.com/api/v1/agent` is **stateless** — no Conversation rows, no Message persistence. The only thing persisted is credit accounting (which API key spent what).
182
+ - Source is plain ES modules under [src/](src/). Read it before you trust it.
183
+ - MCP server subprocesses run locally on your machine. Nothing about their data is sent to Aether servers unless the tool result feeds back into a model turn (same as built-in tools).
184
+
185
+ ## Local development
186
+
187
+ ```bash
188
+ git clone https://github.com/dannyphantomx64/aether-code
189
+ cd aether-code
190
+ npm install
191
+ npm test # 78 tests via Node's built-in test runner
192
+ npm run lint
193
+ node bin/aether-code.js --help
194
+ ```
195
+
196
+ ## Related
197
+
198
+ - **[trynoguard.com](https://trynoguard.com)** — web chat + account dashboard + API keys
199
+ - **[aether-mcp](https://www.npmjs.com/package/aether-mcp)** — use Aether *inside* Claude Desktop / Cursor / Cline / Zed (the inverse direction)
200
+ - **[aether-cli](https://www.npmjs.com/package/aether-cli)** — non-agentic CLI for one-off prompts
201
+ - **[aether-devtools](https://github.com/dannyphantomx64/aether-devtools)** — browser DevTools extension
202
+
203
+ ## License
204
+
205
+ MIT — see [LICENSE](LICENSE).
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aether-code",
3
- "version": "0.10.0",
4
- "description": "Uncensored AI coding agent for your terminal. Type `aether` to launch the interactive REPL like Claude Code, with no refusal layer.",
3
+ "version": "0.10.1",
4
+ "description": "Uncensored AI coding agent for your terminal — Claude Code alternative with MCP support. Reads code, writes files, runs commands. Drives IDA Pro, Roblox Studio, Wireshark, Blender, and any MCP server. No refusal layer.",
5
5
  "homepage": "https://trynoguard.com",
6
6
  "repository": {
7
7
  "type": "git",
@@ -27,14 +27,39 @@
27
27
  },
28
28
  "keywords": [
29
29
  "aether",
30
- "uncensored",
31
30
  "ai",
32
- "coding-agent",
33
- "claude-code-alternative",
31
+ "ai-agent",
32
+ "ai-cli",
33
+ "ai-coding-assistant",
34
+ "ai-coding-agent",
35
+ "ai-pair-programmer",
34
36
  "agent",
37
+ "agentic",
38
+ "agentic-ai",
35
39
  "cli",
40
+ "claude-code",
41
+ "claude-code-alternative",
42
+ "cursor-alternative",
43
+ "coding-agent",
44
+ "code-generation",
45
+ "developer-tools",
46
+ "llm",
47
+ "llm-agent",
48
+ "llm-tools",
49
+ "mcp",
50
+ "mcp-client",
51
+ "model-context-protocol",
52
+ "modelcontextprotocol",
53
+ "ida-pro",
54
+ "reverse-engineering",
55
+ "roblox",
56
+ "uncensored",
57
+ "uncensored-ai",
58
+ "uncensored-llm",
59
+ "terminal",
36
60
  "tool-use",
37
- "agentic"
61
+ "tool-calling",
62
+ "trynoguard"
38
63
  ],
39
64
  "dependencies": {
40
65
  "@modelcontextprotocol/sdk": "^1.29.0"