aether-code 0.32.0 → 0.32.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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Aether (trynoguard.com)
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Aether (trynoguard.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,220 +1,222 @@
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
- # Browse the curated registry
82
- aether mcp search browser
83
- aether mcp search # everything available
84
-
85
- # One-command install for well-known servers (interactive prompts for any required values)
86
- aether mcp install filesystem # prompts for the path
87
- aether mcp install playwright # no inputs needed — just installs
88
- aether mcp install github # prompts for your GitHub token
89
- aether mcp install postgres # prompts for connection string
90
-
91
- # Manual install for anything else (e.g. local Python servers like IDA Pro)
92
- aether mcp add ida --env IDA_PATH=/opt/ida -- python -m ida_pro_mcp
93
- aether mcp add roblox -- npx -y robloxstudio-mcp
94
-
95
- # Inspect + manage
96
- aether mcp list
97
- aether mcp remove ida
98
- ```
99
-
100
- Built-in registry covers the official MCP servers (filesystem, github, gitlab, postgres, sqlite, puppeteer, playwright, slack, google-drive, fetch, memory, everart). For Python-based or community servers, use `aether mcp add` with the full command.
101
-
102
- On the next `aether` launch you'll see:
103
-
104
- ```
105
- MCP · 3/3 servers attached · 47 tools
106
- ```
107
-
108
- 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.
109
-
110
- ## Examples that mainstream AI tools refuse
111
-
112
- ### Reverse-engineer a license check
113
-
114
- ```bash
115
- cd ./binary-folder
116
- aether
117
- > deobfuscate ./protected.js, identify the license-check function, then write a patch that bypasses it
118
- ```
119
-
120
- 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.
121
-
122
- ### Build a Roblox mod with the Studio MCP
123
-
124
- ```bash
125
- aether mcp add roblox -- npx -y robloxstudio-mcp
126
- aether "in the open .rbxl place, write a server script that gives any player who types !godmode invulnerability for 30 seconds"
127
- ```
128
-
129
- The agent: lists scripts via the MCP → writes the Lua mod → places it in `ServerScriptService` → tests via the Studio play button (also via MCP).
130
-
131
- ### Analyze captured network traffic
132
-
133
- ```bash
134
- aether mcp add tshark -- python -m wireshark_mcp
135
- 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"
136
- ```
137
-
138
- The agent: parses the pcap → cross-references the allowlist → writes a structured report. Done in one prompt.
139
-
140
- ### Build a working project from scratch
141
-
142
- ```bash
143
- 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."
144
- ```
145
-
146
- 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."**
147
-
148
- ## Commands
149
-
150
- ```
151
- aether Launch interactive REPL
152
- aether "<task>" Run agent once on a single task
153
- aether login First-time setup (opens browser)
154
- aether balance Show plan + credit balance
155
- aether config show|set|set-base|path Manage CLI config
156
- aether mcp list Show configured MCP servers
157
- aether mcp add <name> -- <command> Add an MCP server (no JSON editing)
158
- aether mcp remove <name> Remove an MCP server
159
- aether --help Full help
160
- ```
161
-
162
- ### Flags
163
-
164
- | Flag | Effect |
165
- |---|---|
166
- | `--yes` | Auto-approve all writes + shell commands. Use only for trusted bounded tasks. |
167
- | `--cwd <path>` | Clamp file operations to a specific directory (default: current dir). |
168
- | `--max-turns <n>` | Max turns before stopping (default: 25). |
169
- | `--unsafe-paths` | Allow file ops outside `--cwd`. Required for global-config edits. |
170
-
171
- ## Safety
172
-
173
- 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`.
174
-
175
- - **2-minute hard timeout** on every shell command
176
- - **Output truncation** to 20 KB before being sent back to the model — runaway tests can't blow up your context
177
- - **Path clamping** to `--cwd` by default; opt out with `--unsafe-paths`
178
- - **No silent destructive ops** — `rm -rf`, force pushes, db drops all show the command verbatim before running
179
-
180
- 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.
181
-
182
- ## How it differs from Claude Code / Cursor
183
-
184
- | | Aether Code | Claude Code | Cursor |
185
- |---|---|---|---|
186
- | Refusal layer | **None** | Yes (Anthropic policy) | Yes (OpenAI/Anthropic policy) |
187
- | Cost model | Aether credits (pay-per-use, crypto OK) | Per Anthropic token, $200/mo Max plan | $20/mo subscription |
188
- | MCP client | ✅ since v0.9.0 | ✅ | ❌ |
189
- | Built-in web search | ✅ | ✅ | ❌ |
190
- | Open source | ✅ MIT | ❌ | ❌ |
191
- | Anonymous payment | ✅ crypto top-up | ❌ | ❌ |
192
- | Works with: | Any MCP server | Anthropic MCP only | Their tools only |
193
-
194
- ## Privacy
195
-
196
- - 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).
197
- - Source is plain ES modules under [src/](src/). Read it before you trust it.
198
- - 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).
199
-
200
- ## Local development
201
-
202
- ```bash
203
- git clone https://github.com/dannyphantomx64/aether-code
204
- cd aether-code
205
- npm install
206
- npm test # 78 tests via Node's built-in test runner
207
- npm run lint
208
- node bin/aether-code.js --help
209
- ```
210
-
211
- ## Related
212
-
213
- - **[trynoguard.com](https://trynoguard.com)** — web chat + account dashboard + API keys
214
- - **[aether-mcp](https://www.npmjs.com/package/aether-mcp)** — use Aether *inside* Claude Desktop / Cursor / Cline / Zed (the inverse direction)
215
- - **[aether-cli](https://www.npmjs.com/package/aether-cli)** — non-agentic CLI for one-off prompts
216
- - **[aether-devtools](https://github.com/dannyphantomx64/aether-devtools)** — browser DevTools extension
217
-
218
- ## License
219
-
220
- MIT — see [LICENSE](LICENSE).
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
+ # Browse the curated registry
82
+ aether mcp search browser
83
+ aether mcp search # everything available
84
+
85
+ # One-command install for well-known servers (interactive prompts for any required values)
86
+ aether mcp install filesystem # prompts for the path
87
+ aether mcp install playwright # no inputs needed — just installs
88
+ aether mcp install github # prompts for your GitHub token
89
+ aether mcp install postgres # prompts for connection string
90
+
91
+ # Manual install for anything else (e.g. local Python servers like IDA Pro)
92
+ aether mcp add ida --env IDA_PATH=/opt/ida -- python -m ida_pro_mcp
93
+ aether mcp add roblox -- npx -y robloxstudio-mcp
94
+
95
+ # Inspect + manage
96
+ aether mcp list
97
+ aether mcp remove ida
98
+ ```
99
+
100
+ Built-in registry covers the official MCP servers (filesystem, github, gitlab, postgres, sqlite, puppeteer, playwright, slack, google-drive, fetch, memory, everart). For Python-based or community servers, use `aether mcp add` with the full command.
101
+
102
+ On the next `aether` launch you'll see:
103
+
104
+ ```
105
+ MCP · 3/3 servers attached · 47 tools
106
+ ```
107
+
108
+ 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.
109
+
110
+ ## Examples that mainstream AI tools refuse
111
+
112
+ ### Reverse-engineer a license check
113
+
114
+ ```bash
115
+ cd ./binary-folder
116
+ aether
117
+ > deobfuscate ./protected.js, identify the license-check function, then write a patch that bypasses it
118
+ ```
119
+
120
+ 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.
121
+
122
+ ### Build a Roblox mod with the Studio MCP
123
+
124
+ ```bash
125
+ aether mcp add roblox -- npx -y robloxstudio-mcp
126
+ aether "in the open .rbxl place, write a server script that gives any player who types !godmode invulnerability for 30 seconds"
127
+ ```
128
+
129
+ The agent: lists scripts via the MCP → writes the Lua mod → places it in `ServerScriptService` → tests via the Studio play button (also via MCP).
130
+
131
+ ### Analyze captured network traffic
132
+
133
+ ```bash
134
+ aether mcp add tshark -- python -m wireshark_mcp
135
+ 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"
136
+ ```
137
+
138
+ The agent: parses the pcap → cross-references the allowlist → writes a structured report. Done in one prompt.
139
+
140
+ ### Build a working project from scratch
141
+
142
+ ```bash
143
+ 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."
144
+ ```
145
+
146
+ 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."**
147
+
148
+ ## Commands
149
+
150
+ ```
151
+ aether Launch interactive REPL
152
+ aether "<task>" Run agent once on a single task
153
+ aether login First-time setup (opens browser)
154
+ aether balance Show plan + credit balance
155
+ aether config show|set|set-base|path Manage CLI config
156
+ aether mcp list Show configured MCP servers
157
+ aether mcp add <name> -- <command> Add an MCP server (no JSON editing)
158
+ aether mcp remove <name> Remove an MCP server
159
+ aether --help Full help
160
+ ```
161
+
162
+ ### Flags
163
+
164
+ | Flag | Effect |
165
+ |---|---|
166
+ | `--yes` | Auto-approve all writes + shell commands. Use only for trusted bounded tasks. |
167
+ | `--cwd <path>` | Clamp file operations to a specific directory (default: current dir). |
168
+ | `--max-turns <n>` | Max turns before stopping (default: 25). |
169
+ | `--unsafe-paths` | Allow file ops outside `--cwd`. Required for global-config edits. |
170
+
171
+ ## Safety
172
+
173
+ 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`.
174
+
175
+ - **2-minute hard timeout** on every shell command
176
+ - **Output truncation** to 20 KB before being sent back to the model — runaway tests can't blow up your context
177
+ - **Path clamping** to `--cwd` by default; opt out with `--unsafe-paths`
178
+ - **No silent destructive ops** — `rm -rf`, force pushes, db drops all show the command verbatim before running
179
+
180
+ 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.
181
+
182
+ ## How it differs from Claude Code / Cursor
183
+
184
+ | | Aether Code | Claude Code | Cursor |
185
+ |---|---|---|---|
186
+ | Refusal layer | **None** | Yes (Anthropic policy) | Yes (OpenAI/Anthropic policy) |
187
+ | Cost model | Aether credits (pay-per-use, crypto OK) | Per Anthropic token, $200/mo Max plan | $20/mo subscription |
188
+ | MCP client | ✅ since v0.9.0 | ✅ | ❌ |
189
+ | Built-in web search | ✅ | ✅ | ❌ |
190
+ | Open source | ✅ MIT | ❌ | ❌ |
191
+ | Anonymous payment | ✅ crypto top-up | ❌ | ❌ |
192
+ | Works with: | Any MCP server | Anthropic MCP only | Their tools only |
193
+
194
+ ## Privacy
195
+
196
+ - 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).
197
+ - Source is plain ES modules under [src/](src/). Read it before you trust it.
198
+ - 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).
199
+
200
+ ## Local development
201
+
202
+ ```bash
203
+ git clone https://github.com/dannyphantomx64/aether-code
204
+ cd aether-code
205
+ npm install
206
+ npm test # 78 tests via Node's built-in test runner
207
+ npm run lint
208
+ node bin/aether-code.js --help
209
+ ```
210
+
211
+ ## Related
212
+
213
+ - **[trynoguard.com](https://trynoguard.com)** — web chat + account dashboard + API keys
214
+ - **[All Aether tools](https://trynoguard.com/tools)** — MCP, agent CLI, and DevTools extension overview
215
+ - **[Learn](https://trynoguard.com/learn)** — free articles on reverse engineering, security, deobfuscation, and uncensored AI
216
+ - **[aether-mcp](https://www.npmjs.com/package/aether-mcp)** — use Aether *inside* Claude Desktop / Cursor / Cline / Zed (the inverse direction)
217
+ - **[aether-cli](https://www.npmjs.com/package/aether-cli)** — non-agentic CLI for one-off prompts
218
+ - **[aether-devtools](https://github.com/dannyphantomx64/aether-devtools)** — browser DevTools extension
219
+
220
+ ## License
221
+
222
+ MIT — see [LICENSE](LICENSE).