@vln.codes__/icode 1.1.0 → 1.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 +28 -55
  2. package/package.json +8 -8
package/README.md CHANGED
@@ -1,16 +1,15 @@
1
1
  # iCode (packages/icode)
2
2
 
3
3
  **iCode** is a professional terminal-based coding agent built on **OpenCode AI**,
4
- designed from the beginning for **Kinyarwanda** speakers.
4
+ designed from the beginning for **English**-speaking developers.
5
5
 
6
- - **Kinyarwanda-first** developer experience (UI, prompts, explanations).
7
- - **EjoChat** as a dedicated Kinyarwanda language-intelligence service.
6
+ - **English-first** developer experience (UI, prompts, explanations).
7
+ - **EjoChat** as an optional language-intelligence service.
8
8
  - **OpenCode** remains the coding engine (files, terminal, Git, tools, commands).
9
9
  - Streams output, slash commands, semantic colors with ASCII/monochrome fallback.
10
10
 
11
- > iCode is not "English software translated into Kinyarwanda". It is a developer
12
- > tool designed natively for Kinyarwanda speakers, while keeping all technical
13
- > code, syntax, identifiers, paths, and commands unchanged.
11
+ > iCode keeps every technical identifier, file path, command, URL, and code
12
+ > snippet exactly as the user wrote them, while explaining in English.
14
13
 
15
14
  ---
16
15
 
@@ -43,8 +42,7 @@ icode --help
43
42
  | macOS (Darwin) | x64, arm64 |
44
43
  | Windows | x64, arm64 |
45
44
 
46
- On first run you'll be asked to connect an AI provider (`icode providers`)
47
- and, optionally, set an EjoChat API key for Kinyarwanda language intelligence.
45
+ On first run you'll be asked to connect an AI provider (`icode providers`).
48
46
 
49
47
  ---
50
48
 
@@ -53,8 +51,6 @@ and, optionally, set an EjoChat API key for Kinyarwanda language intelligence.
53
51
  ```
54
52
  src/
55
53
  cli/ renderer, prompt, spinner, theme, terminal, slashes, danger, shell
56
- language/ kinyarwanda (dictionaries), detector, token-protector,
57
- ejochat (Anthropic-compatible client), kinyarwanda-service
58
54
  agent/ opencode (OpenCode SDK driver), context (project info)
59
55
  config/ load ~/.config/icode/config.* + env
60
56
  security/ secret detection & redaction
@@ -65,21 +61,12 @@ src/
65
61
 
66
62
  ```
67
63
  USER INPUT
68
- -> language detection
69
- -> Kinyarwanda understanding (EjoChat)
70
- -> intent extraction
71
64
  -> OpenCode agent (code/tools)
72
65
  -> tool execution
73
66
  -> technical result
74
- -> EjoChat Kinyarwanda explanation
75
67
  -> CLI renderer
76
68
  ```
77
69
 
78
- **The rule that matters:** EjoChat is the *language-intelligence* layer only. It
79
- never runs coding tools. OpenCode owns the coding engine. Every string sent to
80
- EjoChat passes through token protection and secret redaction, so technical
81
- tokens are never corrupted and secrets are never exposed.
82
-
83
70
  ---
84
71
 
85
72
  ## Setup
@@ -90,29 +77,23 @@ Requires [Bun](https://bun.sh) and the workspace-installed dependencies:
90
77
  bun install
91
78
  ```
92
79
 
93
- Provide the EjoChat key (never hard-coded, never committed):
94
-
95
- ```sh
96
- export EJOCHAT_API_KEY=ejochat_your_key_here
97
- ```
98
-
99
80
  Optional config in `~/.config/icode/config.{json,jsonc,toml,yaml}` — see
100
81
  `examples/`. All values are overridable via environment variables:
101
82
 
102
83
  | Variable | Purpose |
103
84
  | --------------------- | ------------------------------------------ |
104
- | `EJOCHAT_API_KEY` | Required for Kinyarwanda intelligence |
85
+ | `EJOCHAT_API_KEY` | Optional, enables EjoChat summaries |
105
86
  | `EJOCHAT_BASE_URL` | Default `https://api.ejolabs.com/api/v1` |
106
87
  | `EJOCHAT_MODEL` | EjoChat model |
107
88
  | `EJOCHAT_DISABLED` | `1` to disable EjoChat entirely |
108
- | `ICODE_LANGUAGE` | `rw` (default) \| `auto` \| `en` |
89
+ | `ICODE_LANGUAGE` | `en` (default and only option) |
109
90
  | `ICODE_DEBUG` | `1` to surface technical errors |
110
91
  | `ICODE_ASCII` | `1` to force ASCII-only glyphs |
111
92
  | `ICODE_NO_COLOR` | `1` to disable color |
112
93
 
113
94
  ### EjoChat API contract
114
95
 
115
- This package integrates with the official **EjoChat** API (by Ejo Labs):
96
+ This package can optionally integrate with the official **EjoChat** API (by Ejo Labs):
116
97
 
117
98
  - Endpoint: `POST https://api.ejolabs.com/api/v1/subiza` (configurable via
118
99
  `EJOCHAT_BASE_URL`; the `/subiza` path is appended automatically).
@@ -135,36 +116,34 @@ bun run bin/icode.ts
135
116
  Interactive prompt:
136
117
 
137
118
  ```
138
- ⚡ iCode > sobanura iyi dosiye
119
+ ⚡ iCode > explain this file
139
120
  ```
140
121
 
141
122
  Single-shot mode:
142
123
 
143
124
  ```sh
144
- bun run bin/icode.ts "Kosora ikibazo kiri muri iyi code."
125
+ bun run bin/icode.ts "Fix the bug in this code."
145
126
  ```
146
127
 
147
- ### Slash commands (English names, Kinyarwanda descriptions)
128
+ ### Slash commands
148
129
 
149
- | Command | Meaning (Kinyarwanda) |
150
- | ------------------- | -------------------------------------- |
151
- | `/help` | Erekana amabwiriza yose ya iCode. |
152
- | `/status` | Erekana uko umushinga umeze. |
153
- | `/model` | Reba model ikoreshwa. |
154
- | `/language rw\|auto\|en` | Hitamo ururimi. |
155
- | `/config` | Reba ahantu iCode ibitswe config. |
156
- | `/clear` | Siba ibyo bigaragara kuri terminal. |
157
- | `/exit` | Sohoka muri iCode. |
158
- | `/version` | Erekana version ya iCode. |
130
+ | Command | Meaning |
131
+ | ------------------- | ------------------------------------ |
132
+ | `/help` | Show all iCode commands. |
133
+ | `/status` | Show the status of the project. |
134
+ | `/model` | Show the model in use. |
135
+ | `/language en` | Set the interface language. |
136
+ | `/config` | Show where iCode stores its config. |
137
+ | `/clear` | Clear the terminal. |
138
+ | `/exit` | Exit iCode. |
139
+ | `/version` | Show the iCode version. |
159
140
 
160
141
  ---
161
142
 
162
- ## Language modes
143
+ ## Language mode
163
144
 
164
- - **`rw`** (default): UI and explanations in Kinyarwanda; code/syntax/commands
165
- unchanged.
166
- - **`auto`**: detects whether the input is Kinyarwanda.
167
- - **`en`**: English UI/explanations.
145
+ - **`en`** (default and only option): English UI/explanations. Code, syntax,
146
+ commands, and technical identifiers are never translated.
168
147
 
169
148
  ## Security
170
149
 
@@ -175,12 +154,6 @@ bun run bin/icode.ts "Kosora ikibazo kiri muri iyi code."
175
154
  - If `EJOCHAT_API_KEY` is missing, iCode prints a warning and continues as a
176
155
  normal coding agent — it never crashes (spec section 4).
177
156
 
178
- ## Technical token protection
179
-
180
- `language/token-protector.ts` protects file paths, URLs, code blocks, inline
181
- code, commands, env vars, and identifiers before Kinyarwanda processing, then
182
- restores them — so language processing can never corrupt code or paths.
183
-
184
157
  ## Testing
185
158
 
186
159
  ```sh
@@ -200,7 +173,7 @@ bun typecheck # tsgo
200
173
  assemble the npm packages with `bun run script/package.ts --version=<ver>`
201
174
  from this directory.
202
175
  - The repo also keeps a self-contained TypeScript reference implementation under
203
- `src/` (Kinyarwanda CLI built on OpenCode), used for development and tests.
176
+ `src/` (English CLI built on OpenCode), used for development and tests.
204
177
  The shipped product is the native binary, not this source.
205
178
 
206
179
  ## Credits
@@ -209,5 +182,5 @@ bun typecheck # tsgo
209
182
  - The coding engine and underlying coding workflows are built on the
210
183
  **OpenCode** engine (MIT, © 2025 opencode). iCode is not affiliated with the
211
184
  OpenCode team. See the repository LICENSE (root and `packages/opencode`).
212
- - **EjoChat** (by Ejo Labs) is used only as a Kinyarwanda language-intelligence
213
- layer and never runs coding tools.
185
+ - **EjoChat** (by Ejo Labs) is used only as an optional language-intelligence
186
+ layer and never runs coding tools.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@vln.codes__/icode",
4
- "version": "1.1.0",
5
- "description": "iCode — a fast, native AI coding agent with a Kinyarwanda-first experience. Install globally to run `icode`.",
4
+ "version": "1.1.1",
5
+ "description": "iCode — a fast, native AI coding agent. Install globally to run `icode`.",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "bin": {
@@ -18,12 +18,12 @@
18
18
  "package": "bun run script/package.ts --version=$npm_package_version"
19
19
  },
20
20
  "optionalDependencies": {
21
- "@vln.codes__/icode-linux-x64": "1.1.0",
22
- "@vln.codes__/icode-linux-arm64": "1.1.0",
23
- "@vln.codes__/icode-darwin-x64": "1.1.0",
24
- "@vln.codes__/icode-darwin-arm64": "1.1.0",
25
- "@vln.codes__/icode-windows-x64": "1.1.0",
26
- "@vln.codes__/icode-windows-arm64": "1.1.0"
21
+ "@vln.codes__/icode-linux-x64": "1.1.1",
22
+ "@vln.codes__/icode-linux-arm64": "1.1.1",
23
+ "@vln.codes__/icode-darwin-x64": "1.1.1",
24
+ "@vln.codes__/icode-darwin-arm64": "1.1.1",
25
+ "@vln.codes__/icode-windows-x64": "1.1.1",
26
+ "@vln.codes__/icode-windows-arm64": "1.1.1"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@opencode-ai/script": "workspace:*",