ironcode-ai 1.20.2 → 1.20.4
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 +99 -66
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -36,12 +36,26 @@ IronCode is a **high-performance CLI AI coding agent** — a fork of [OpenCode](
|
|
|
36
36
|
- 💬 **Chat Integrations** — Control IronCode from Telegram, Discord, or Slack
|
|
37
37
|
- 💻 **Built-in Terminal** — Fish-style autosuggest, tab completion, syntax highlighting
|
|
38
38
|
- 📝 **External Editor** — Opens `$EDITOR`/nvim with auto-install if missing
|
|
39
|
-
- 🧩 **Built-in Skills** —
|
|
39
|
+
- 🧩 **Built-in Skills** — 13 opinionated slash commands: plan review, code review, QA (web + API), ship, retro, and more
|
|
40
|
+
- 🛡️ **Security** — Prompt injection detection blocks malicious websites from manipulating the AI
|
|
40
41
|
- 🏠 **100% Local** — No cloud services, works completely offline
|
|
41
42
|
- ⚡ **Blazing Fast** — Native Rust for all performance-critical operations
|
|
42
43
|
|
|
43
44
|
---
|
|
44
45
|
|
|
46
|
+
## Security
|
|
47
|
+
|
|
48
|
+
IronCode includes built-in protection against prompt injection attacks when fetching external web content:
|
|
49
|
+
|
|
50
|
+
- **Prompt Injection Detection** — Automatically scans fetched website content for malicious prompts attempting to manipulate the AI
|
|
51
|
+
- **Pattern Recognition** — Detects common attack vectors including instruction manipulation, role changes, context escapes, and delimiter-based attacks
|
|
52
|
+
- **Safe Blocking** — Blocks suspicious content with clear error messages while allowing legitimate websites through
|
|
53
|
+
- **Zero False Positives** — Carefully tuned to avoid blocking normal web content about security topics
|
|
54
|
+
|
|
55
|
+
When the WebFetch tool encounters a website with potential prompt injection content, it will block the request and show an error like: `Content blocked: prompt injection detected - instruction manipulation`
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
45
59
|
## Installation
|
|
46
60
|
|
|
47
61
|
### NPM (Recommended)
|
|
@@ -100,78 +114,97 @@ ironcode auth login
|
|
|
100
114
|
|
|
101
115
|
Press **`Ctrl+T`** to cycle between variants:
|
|
102
116
|
|
|
103
|
-
| Variant
|
|
104
|
-
|
|
105
|
-
| `low`
|
|
106
|
-
| `medium`
|
|
107
|
-
| `high 🧠`
|
|
108
|
-
| `thinking 🧠` | Extended reasoning for complex problems
|
|
117
|
+
| Variant | Description |
|
|
118
|
+
| ------------- | -------------------------------------------- |
|
|
119
|
+
| `low` | Faster responses, lower cost |
|
|
120
|
+
| `medium` | Balanced performance and quality |
|
|
121
|
+
| `high 🧠` | Best quality with thinking enabled (default) |
|
|
122
|
+
| `thinking 🧠` | Extended reasoning for complex problems |
|
|
109
123
|
|
|
110
124
|
---
|
|
111
125
|
|
|
112
126
|
## Skills
|
|
113
127
|
|
|
114
|
-
IronCode ships with **
|
|
115
|
-
|
|
116
|
-
| Skill
|
|
117
|
-
|
|
118
|
-
| `/ceo-review`
|
|
119
|
-
| `/eng-review`
|
|
120
|
-
| `/
|
|
121
|
-
| `/
|
|
122
|
-
| `/
|
|
123
|
-
| `/
|
|
124
|
-
| `/
|
|
125
|
-
| `/
|
|
126
|
-
| `/
|
|
127
|
-
| `/
|
|
128
|
+
IronCode ships with **13 built-in skill workflows** — opinionated slash commands that switch the agent into a specialist mode. Instead of one generic assistant, you get: founder, tech lead, TDD coach, debugger, paranoid reviewer, release engineer, QA tester, technical writer, and engineering manager.
|
|
129
|
+
|
|
130
|
+
| Skill | Mode | What it does |
|
|
131
|
+
| ------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
132
|
+
| `/ceo-review` | Founder / CEO | Rethink the problem. Find the 10-star product hiding inside the request. Three modes: Scope Expansion, Hold Scope, Scope Reduction. |
|
|
133
|
+
| `/eng-review` | Tech lead | Lock in architecture, data flow, failure modes, edge cases, and test matrix. |
|
|
134
|
+
| `/tdd` | Developer | RED-GREEN-REFACTOR: write a failing test, minimal code to pass, refactor. No production code without a failing test first. |
|
|
135
|
+
| `/debug` | Debugger | Systematic 4-phase debugging: root cause investigation, pattern analysis, hypothesis testing, implementation. 3-fix rule escalates architectural problems. |
|
|
136
|
+
| `/code-review` | Staff engineer | Find bugs that pass CI but blow up in production. Two-pass: critical + informational. |
|
|
137
|
+
| `/verify` | Gatekeeper | Run the command, read the output, then claim the result. Evidence before assertions — no "should work now." |
|
|
138
|
+
| `/code-ship` | Release engineer | Merge, test, typecheck, review, changelog, bisectable commits, push, and PR — one command. |
|
|
139
|
+
| `/browse` | QA engineer | Headless Chromium via Playwright. Navigate, click, fill forms, screenshot, assert states, test responsive layouts. |
|
|
140
|
+
| `/qa` | QA + fix engineer | Test web app, find bugs, fix with atomic commits, re-verify. Four modes: diff-aware, full, quick, regression. |
|
|
141
|
+
| `/qa-only` | QA reporter | Report-only QA. Same methodology as `/qa` but never fixes anything. Pure bug report with health score. |
|
|
142
|
+
| `/qa-api` | API tester | REST & GraphQL API testing. Auto-discovers routes, tests every endpoint with valid/invalid/edge-case payloads, auth, schema validation. |
|
|
143
|
+
| `/document-release` | Technical writer | Post-ship doc update. Cross-references diff against README, ARCHITECTURE, CONTRIBUTING, CHANGELOG. |
|
|
144
|
+
| `/retro` | Engineering manager | Team-aware weekly retro: commit analysis, session detection, per-person praise and growth areas. |
|
|
128
145
|
|
|
129
146
|
### Workflow
|
|
130
147
|
|
|
131
|
-
|
|
132
|
-
/ceo-review
|
|
133
|
-
|
|
134
|
-
|
|
148
|
+
````
|
|
149
|
+
/ceo-review → /eng-review → /tdd → /debug (when stuck) → /code-review → /verify → /code-ship → /qa → /document-release → /retro
|
|
150
|
+
product architecture build fix it right find bugs prove it land it verify update docs reflect
|
|
151
|
+
```### Example
|
|
135
152
|
|
|
136
|
-
|
|
153
|
+
````
|
|
137
154
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
/ceo-review
|
|
155
|
+
You: I want to add voice message transcription.
|
|
156
|
+
/ceo-review
|
|
141
157
|
|
|
142
158
|
IronCode: "Voice transcription" is not the feature. The real job is
|
|
143
|
-
|
|
159
|
+
letting users code from anywhere — even when they can't type.
|
|
144
160
|
|
|
145
161
|
A) SCOPE EXPANSION — voice commands, image upload, voice-to-diff
|
|
146
162
|
B) HOLD SCOPE — transcription only, production-ready
|
|
147
163
|
C) SCOPE REDUCTION — bare minimum Whisper API call
|
|
148
164
|
|
|
149
|
-
You:
|
|
165
|
+
You: B
|
|
150
166
|
|
|
151
|
-
You:
|
|
167
|
+
You: /eng-review
|
|
152
168
|
IronCode: [Architecture diagram, data flow, failure modes, test matrix]
|
|
153
169
|
|
|
154
|
-
You:
|
|
155
|
-
|
|
170
|
+
You: /tdd
|
|
171
|
+
IronCode: RED: Writing test for Whisper API transcription...
|
|
172
|
+
test("transcribes voice message to text") → FAIL ✓
|
|
173
|
+
GREEN: Implementing minimal WhisperService.transcribe()...
|
|
174
|
+
34/34 tests pass. Committed.
|
|
175
|
+
|
|
176
|
+
You: /debug
|
|
177
|
+
IronCode: Phase 1: Reading error — "ECONNRESET on Whisper API"
|
|
178
|
+
Phase 2: Working example found — image upload uses retry
|
|
179
|
+
Phase 3: Hypothesis — no retry on transient network errors
|
|
180
|
+
Phase 4: Test written, fix applied, verified. ✅
|
|
181
|
+
|
|
182
|
+
You: /code-review
|
|
156
183
|
IronCode: Missing .catch() on Whisper API — unhandled rejection will crash the bot.
|
|
157
184
|
|
|
158
|
-
You:
|
|
159
|
-
You:
|
|
185
|
+
You: (fix it)
|
|
186
|
+
You: /verify
|
|
187
|
+
IronCode: $ bun test → 34/34 pass, exit 0
|
|
188
|
+
$ bun check → 0 errors
|
|
189
|
+
All verified. Ready to ship.
|
|
190
|
+
|
|
191
|
+
You: /code-ship
|
|
160
192
|
IronCode: ✅ Format → typecheck → test → push → PR created
|
|
161
193
|
|
|
162
|
-
You:
|
|
194
|
+
You: /qa http://localhost:3000
|
|
163
195
|
IronCode: [Screenshots, console check, form test] All pages load. Voice flow works.
|
|
164
|
-
|
|
196
|
+
Health score: 92/100. 1 medium issue found and fixed.
|
|
165
197
|
|
|
166
|
-
You:
|
|
198
|
+
You: /document-release
|
|
167
199
|
IronCode: README.md: added voice transcription to features table.
|
|
168
|
-
|
|
200
|
+
CHANGELOG.md: polished voice. All docs up to date.
|
|
169
201
|
|
|
170
|
-
You:
|
|
202
|
+
You: /retro
|
|
171
203
|
IronCode: Week of Mar 10: 23 commits, 1.8k LOC, 42% tests, peak: 10pm
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
204
|
+
Your biggest ship: voice transcription pipeline.
|
|
205
|
+
Streak: 12 consecutive days.
|
|
206
|
+
|
|
207
|
+
````
|
|
175
208
|
|
|
176
209
|
### Custom Skills
|
|
177
210
|
|
|
@@ -186,7 +219,7 @@ description: What this skill does and when to use it.
|
|
|
186
219
|
# Instructions for the agent
|
|
187
220
|
|
|
188
221
|
Your prompt content here...
|
|
189
|
-
|
|
222
|
+
````
|
|
190
223
|
|
|
191
224
|
Skills are automatically discovered — no restart needed.
|
|
192
225
|
|
|
@@ -200,10 +233,10 @@ Built-in skills are embedded in the IronCode binary. On first run, they are extr
|
|
|
200
233
|
|
|
201
234
|
Switch between agents with `Tab`:
|
|
202
235
|
|
|
203
|
-
| Agent
|
|
204
|
-
|
|
236
|
+
| Agent | Access | Use for |
|
|
237
|
+
| --------- | --------------- | ------------------------------------- |
|
|
205
238
|
| **build** | Full read/write | Development, implementation (default) |
|
|
206
|
-
| **plan**
|
|
239
|
+
| **plan** | Read-only | Analysis, code exploration, planning |
|
|
207
240
|
|
|
208
241
|
---
|
|
209
242
|
|
|
@@ -251,17 +284,17 @@ cd packages/slack && bun dev
|
|
|
251
284
|
|
|
252
285
|
Native Rust components via FFI:
|
|
253
286
|
|
|
254
|
-
| Operation | Speedup | Notes
|
|
255
|
-
| --------------------- | ---------------------------------- |
|
|
256
|
-
| PTY/Terminal | **15x faster** | Zero-copy ring buffer
|
|
257
|
-
| Edit Tool | **2–6x faster** | 9 smart replacement strategies
|
|
258
|
-
| Bash Parser | **50–100x faster** | Native tree-sitter vs WASM
|
|
259
|
-
| Archive extraction | **3–5x faster** | s-zip streaming reader
|
|
260
|
-
| Grep search | **90–99% less memory** | Streams GB-sized files
|
|
261
|
-
| File read | **1.5x faster, 99.7% less memory** | 64KB buffer + pre-allocation
|
|
262
|
-
| Git operations | **1.8x faster** | libgit2, no process spawning
|
|
263
|
-
| Permission evaluation | **N× fewer FFI calls** | Entire ruleset in 1 native call
|
|
264
|
-
| File ignore matching | **Faster glob matching** | Compiled `globset` regex
|
|
287
|
+
| Operation | Speedup | Notes |
|
|
288
|
+
| --------------------- | ---------------------------------- | ------------------------------- |
|
|
289
|
+
| PTY/Terminal | **15x faster** | Zero-copy ring buffer |
|
|
290
|
+
| Edit Tool | **2–6x faster** | 9 smart replacement strategies |
|
|
291
|
+
| Bash Parser | **50–100x faster** | Native tree-sitter vs WASM |
|
|
292
|
+
| Archive extraction | **3–5x faster** | s-zip streaming reader |
|
|
293
|
+
| Grep search | **90–99% less memory** | Streams GB-sized files |
|
|
294
|
+
| File read | **1.5x faster, 99.7% less memory** | 64KB buffer + pre-allocation |
|
|
295
|
+
| Git operations | **1.8x faster** | libgit2, no process spawning |
|
|
296
|
+
| Permission evaluation | **N× fewer FFI calls** | Entire ruleset in 1 native call |
|
|
297
|
+
| File ignore matching | **Faster glob matching** | Compiled `globset` regex |
|
|
265
298
|
|
|
266
299
|
---
|
|
267
300
|
|
|
@@ -284,13 +317,13 @@ Native Rust components via FFI:
|
|
|
284
317
|
└──────────────────────────────────────────────┘
|
|
285
318
|
```
|
|
286
319
|
|
|
287
|
-
| Layer
|
|
288
|
-
|
|
289
|
-
| CLI/TUI
|
|
290
|
-
| Native
|
|
291
|
-
| Telegram | grammy + SDK + Groq Whisper | `@ironcode-ai/telegram`
|
|
292
|
-
| Discord
|
|
293
|
-
| Slack
|
|
320
|
+
| Layer | Tech | Packages |
|
|
321
|
+
| -------- | --------------------------- | ------------------------------- |
|
|
322
|
+
| CLI/TUI | TypeScript + Bun | `packages/ironcode` |
|
|
323
|
+
| Native | Rust FFI | `packages/ironcode/native/tool` |
|
|
324
|
+
| Telegram | grammy + SDK + Groq Whisper | `@ironcode-ai/telegram` |
|
|
325
|
+
| Discord | discord.js + SDK | `@ironcode-ai/discord` |
|
|
326
|
+
| Slack | Bolt + SDK | `@ironcode-ai/slack` |
|
|
294
327
|
|
|
295
328
|
---
|
|
296
329
|
|
package/package.json
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
"scripts": {
|
|
7
7
|
"postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.20.
|
|
9
|
+
"version": "1.20.4",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"optionalDependencies": {
|
|
12
|
-
"ironcode-linux-x64-baseline": "1.20.
|
|
13
|
-
"ironcode-linux-x64-modern": "1.20.
|
|
14
|
-
"ironcode-linux-x64-baseline-musl": "1.20.
|
|
15
|
-
"ironcode-windows-x64-modern": "1.20.
|
|
16
|
-
"ironcode-darwin-arm64": "1.20.
|
|
12
|
+
"ironcode-linux-x64-baseline": "1.20.4",
|
|
13
|
+
"ironcode-linux-x64-modern": "1.20.4",
|
|
14
|
+
"ironcode-linux-x64-baseline-musl": "1.20.4",
|
|
15
|
+
"ironcode-windows-x64-modern": "1.20.4",
|
|
16
|
+
"ironcode-darwin-arm64": "1.20.4"
|
|
17
17
|
}
|
|
18
18
|
}
|