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.
- package/README.md +205 -140
- package/package.json +31 -6
package/README.md
CHANGED
|
@@ -1,140 +1,205 @@
|
|
|
1
|
-
# aether-code
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
|
53
|
-
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/aether-code)
|
|
13
|
+
[](LICENSE)
|
|
14
|
+
[](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.
|
|
4
|
-
"description": "Uncensored AI coding agent for your terminal.
|
|
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
|
-
"
|
|
33
|
-
"
|
|
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
|
-
"
|
|
61
|
+
"tool-calling",
|
|
62
|
+
"trynoguard"
|
|
38
63
|
],
|
|
39
64
|
"dependencies": {
|
|
40
65
|
"@modelcontextprotocol/sdk": "^1.29.0"
|