@giovannijecha/jecode 0.4.5 → 0.5.5
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 +23 -45
- package/native/darwin-arm64/jecode +0 -0
- package/native/darwin-x64/jecode +0 -0
- package/native/linux-x64/jecode +0 -0
- package/native/manifest.json +18 -19
- package/native/win32-x64/jecode.exe +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,29 +1,12 @@
|
|
|
1
1
|
# Jecode
|
|
2
2
|
|
|
3
|
-
Jecode is a
|
|
4
|
-
|
|
3
|
+
Jecode is a coding agent for your terminal. Choose a model, describe a task,
|
|
4
|
+
and let it read your project, edit files, run commands and check
|
|
5
5
|
the result. Tool cards and diffs show the work as it happens.
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|
|
|
9
|
-
*Jecode 0.
|
|
10
|
-
|
|
11
|
-
## Measured efficiency
|
|
12
|
-
|
|
13
|
-
On a historical five-turn coding benchmark, Jecode used **21% fewer cost-weighted tokens
|
|
14
|
-
than Codex** with GPT-6.1 Sol and **36% fewer than Claude Code** with Claude
|
|
15
|
-
Sonnet 5.5. All runs passed 21/21 hidden acceptance tests.
|
|
16
|
-
|
|
17
|
-
| Same model, high effort | Weighted token use | Active time |
|
|
18
|
-
| --- | ---: | ---: |
|
|
19
|
-
| Jecode vs Codex 0.166, GPT-6.1 Sol | **21% less** | 11% longer |
|
|
20
|
-
| Jecode vs Claude Code 2.1.318, Sonnet 5.5 | **36% less** | **30% shorter** |
|
|
21
|
-
|
|
22
|
-
One Node project, Windows, 2026-11-04: 7 vs 6 GPT runs and 4 vs 3 Claude runs.
|
|
23
|
-
Jecode used account sign-in; its API-key routes were not compared. Time excludes
|
|
24
|
-
two deliberate 6.5-minute pauses. Weighted tokens are a cache-aware cost proxy,
|
|
25
|
-
not raw totals, API bills or plan quota.
|
|
26
|
-
See the [method, per-run data and limits](https://github.com/giovannijecha/jecode/blob/main/docs/development/AGENT_BENCHMARK.md).
|
|
9
|
+
*Jecode 0.5.5 in Windows Terminal, with GPT-6.1 Sol selected.*
|
|
27
10
|
|
|
28
11
|
## Install
|
|
29
12
|
|
|
@@ -52,7 +35,7 @@ Press Enter to send a task, Ctrl+G to open commands while keeping your draft,
|
|
|
52
35
|
Esc to stop a turn, and Ctrl+Q to quit. `/help` or F1 lists commands and common
|
|
53
36
|
shortcuts, and `jecode resume` continues saved work. Read the
|
|
54
37
|
[terminal guide](https://github.com/giovannijecha/jecode/blob/main/docs/tui/INTERFACE.md)
|
|
55
|
-
for themes, tool cards
|
|
38
|
+
for themes, tool cards and shortcuts.
|
|
56
39
|
|
|
57
40
|
The default permission level, Workspace, confines the agent's commands to your
|
|
58
41
|
project and asks before touching anything outside it; see
|
|
@@ -60,30 +43,20 @@ project and asks before touching anything outside it; see
|
|
|
60
43
|
for what each system supports.
|
|
61
44
|
|
|
62
45
|
Jecode sends your conversation, including file contents and command output the
|
|
63
|
-
agent has read, to the provider you select. Your keys, account tokens
|
|
64
|
-
conversations
|
|
46
|
+
agent has read, to the provider you select. Your keys, account tokens and
|
|
47
|
+
conversations are stored locally under `~/.jecode/`.
|
|
65
48
|
|
|
66
49
|
The harness is one native executable written in Rust without third-party Rust
|
|
67
|
-
crates. It supports
|
|
68
|
-
sequences in one request. Native HTTP connections persist between requests;
|
|
69
|
-
OpenAI conversations use WebSocket with HTTP fallback. Separate
|
|
70
|
-
[performance measurements](https://github.com/giovannijecha/jecode/blob/main/docs/development/PERFORMANCE.md)
|
|
71
|
-
record lower first-update latency on Windows; the comparison above predates
|
|
72
|
-
that work and the later native records for long conversations. The
|
|
73
|
-
[benchmark report](https://github.com/giovannijecha/jecode/blob/main/docs/development/AGENT_BENCHMARK.md#exact-records-development-branch-2026-11-07)
|
|
74
|
-
also records short and 40-turn context comparisons, including quality misses.
|
|
75
|
-
They do not establish a general 25% token saving at equal quality. Separate
|
|
76
|
-
[offline checks](https://github.com/giovannijecha/jecode/blob/main/docs/development/CONTEXT_CHECKS.md)
|
|
77
|
-
screen long saved contexts without model calls; they do not establish a ten-hour
|
|
78
|
-
live result.
|
|
50
|
+
crates. It supports batched file tools and prepared tool sequences in one request.
|
|
79
51
|
|
|
80
52
|
## Long conversations and processes
|
|
81
53
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
54
|
+
Each request adds to the previous one, keeping earlier messages unchanged.
|
|
55
|
+
When a request would pass
|
|
56
|
+
the **Auto-compact at** threshold (default 80% of the model's window), or the
|
|
57
|
+
provider rejects it as too long, the same model writes one summary of the
|
|
58
|
+
earlier work. The original conversation stays saved and available to the model
|
|
59
|
+
by reference. Read [Long-running work](https://github.com/giovannijecha/jecode/blob/main/docs/usage/LONG_WORK.md).
|
|
87
60
|
|
|
88
61
|
`/process` lists running and recent commands, with saved output and a control to
|
|
89
62
|
move a waiting call into the background. Process completions reach the model and
|
|
@@ -92,8 +65,13 @@ statistics visible.
|
|
|
92
65
|
|
|
93
66
|
## Update or remove
|
|
94
67
|
|
|
95
|
-
|
|
96
|
-
|
|
68
|
+
This build resumes only conversations saved in its current format; it reports
|
|
69
|
+
older ones and leaves their files unchanged, without migrating them. Read the
|
|
70
|
+
[release notes](https://github.com/giovannijecha/jecode/blob/main/CHANGELOG.md)
|
|
71
|
+
before updating, especially the
|
|
72
|
+
[0.5.5 upgrade notes](https://github.com/giovannijecha/jecode/blob/main/CHANGELOG.md#upgrading-from-045). The
|
|
73
|
+
[0.4.5 notes](https://github.com/giovannijecha/jecode/blob/main/CHANGELOG.md#upgrading-from-035)
|
|
74
|
+
cover the Claude prompt-cache default.
|
|
97
75
|
|
|
98
76
|
Update the npm installation with:
|
|
99
77
|
|
|
@@ -107,8 +85,8 @@ Remove it with:
|
|
|
107
85
|
npm uninstall -g @giovannijecha/jecode
|
|
108
86
|
```
|
|
109
87
|
|
|
110
|
-
Removing the package keeps your settings, accounts
|
|
111
|
-
|
|
88
|
+
Removing the package keeps your settings, accounts and conversations in
|
|
89
|
+
`~/.jecode/` or your `JECODE_HOME` directory. If you previously
|
|
112
90
|
installed Jecode from source, check which `jecode` command appears first on
|
|
113
91
|
`PATH`; npm does not remove that separate installation.
|
|
114
92
|
|
|
Binary file
|
package/native/darwin-x64/jecode
CHANGED
|
Binary file
|
package/native/linux-x64/jecode
CHANGED
|
Binary file
|
package/native/manifest.json
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": 1,
|
|
3
|
-
"version": "0.
|
|
4
|
-
"revision": "
|
|
3
|
+
"version": "0.5.5",
|
|
4
|
+
"revision": "6d639f6ca199a7f2a3a811990863c83346bde2fd",
|
|
5
5
|
"artifacts": [
|
|
6
6
|
{
|
|
7
7
|
"format": 1,
|
|
8
|
-
"version": "0.
|
|
9
|
-
"revision": "
|
|
8
|
+
"version": "0.5.5",
|
|
9
|
+
"revision": "6d639f6ca199a7f2a3a811990863c83346bde2fd",
|
|
10
10
|
"sourceClean": true,
|
|
11
11
|
"target": "win32-x64",
|
|
12
12
|
"binary": "jecode.exe",
|
|
13
|
-
"bytes":
|
|
14
|
-
"sha256": "
|
|
13
|
+
"bytes": 12432896,
|
|
14
|
+
"sha256": "8bc89baffbd56c7646202e0ff56c521ba5cfe4da794f8f8cb0f049e45b7d2122",
|
|
15
15
|
"windowsBuildMinimum": 17763,
|
|
16
16
|
"abiCheckedFiles": [
|
|
17
|
-
"jecode-checkpoint_space.exe",
|
|
18
17
|
"jecode-http.exe",
|
|
19
18
|
"jecode-openai_crypto.exe",
|
|
20
19
|
"jecode-pty.exe",
|
|
@@ -26,13 +25,13 @@
|
|
|
26
25
|
},
|
|
27
26
|
{
|
|
28
27
|
"format": 1,
|
|
29
|
-
"version": "0.
|
|
30
|
-
"revision": "
|
|
28
|
+
"version": "0.5.5",
|
|
29
|
+
"revision": "6d639f6ca199a7f2a3a811990863c83346bde2fd",
|
|
31
30
|
"sourceClean": true,
|
|
32
31
|
"target": "linux-x64",
|
|
33
32
|
"binary": "jecode",
|
|
34
|
-
"bytes":
|
|
35
|
-
"sha256": "
|
|
33
|
+
"bytes": 15690288,
|
|
34
|
+
"sha256": "58d3fc01c188147648dbe73f9c8607a614afb40ace52d8bf3d5d44653eff3865",
|
|
36
35
|
"glibcMinimum": "2.28",
|
|
37
36
|
"abiCheckedFiles": [
|
|
38
37
|
"jecode-clipboard_linux",
|
|
@@ -47,13 +46,13 @@
|
|
|
47
46
|
},
|
|
48
47
|
{
|
|
49
48
|
"format": 1,
|
|
50
|
-
"version": "0.
|
|
51
|
-
"revision": "
|
|
49
|
+
"version": "0.5.5",
|
|
50
|
+
"revision": "6d639f6ca199a7f2a3a811990863c83346bde2fd",
|
|
52
51
|
"sourceClean": true,
|
|
53
52
|
"target": "darwin-arm64",
|
|
54
53
|
"binary": "jecode",
|
|
55
|
-
"bytes":
|
|
56
|
-
"sha256": "
|
|
54
|
+
"bytes": 10083408,
|
|
55
|
+
"sha256": "771a556bc72b23b7dd277e8a0c2b65bcbd1d1972eeeab271ab6b4a9085dd4583",
|
|
57
56
|
"macosMinimum": "11.0",
|
|
58
57
|
"abiCheckedFiles": [
|
|
59
58
|
"jecode-http",
|
|
@@ -67,13 +66,13 @@
|
|
|
67
66
|
},
|
|
68
67
|
{
|
|
69
68
|
"format": 1,
|
|
70
|
-
"version": "0.
|
|
71
|
-
"revision": "
|
|
69
|
+
"version": "0.5.5",
|
|
70
|
+
"revision": "6d639f6ca199a7f2a3a811990863c83346bde2fd",
|
|
72
71
|
"sourceClean": true,
|
|
73
72
|
"target": "darwin-x64",
|
|
74
73
|
"binary": "jecode",
|
|
75
|
-
"bytes":
|
|
76
|
-
"sha256": "
|
|
74
|
+
"bytes": 10909288,
|
|
75
|
+
"sha256": "d5f38bd0d94c668fecf5d709db7f5155c15983078ac6f718d4b865e38e13dd9f",
|
|
77
76
|
"macosMinimum": "11.0",
|
|
78
77
|
"abiCheckedFiles": [
|
|
79
78
|
"jecode-http",
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giovannijecha/jecode",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A
|
|
3
|
+
"version": "0.5.5",
|
|
4
|
+
"description": "A terminal coding agent in Rust",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Giovanni Jecha",
|
|
7
7
|
"repository": {
|