@giovannijecha/jecode 0.4.5 → 0.6.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 +25 -91
- 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,46 +1,28 @@
|
|
|
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.6.5 in Windows Terminal, with GPT-6.1 Sol selected.*
|
|
27
10
|
|
|
28
11
|
## Install
|
|
29
12
|
|
|
30
|
-
Install
|
|
13
|
+
Install with Node.js 22 or later and npm:
|
|
31
14
|
|
|
32
15
|
```sh
|
|
33
16
|
npm install -g @giovannijecha/jecode
|
|
34
17
|
jecode --version
|
|
35
18
|
```
|
|
36
19
|
|
|
37
|
-
The
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Node.js
|
|
41
|
-
On macOS 11–13.4, use Node.js 22; Node.js 24 needs macOS 13.5 or later.
|
|
20
|
+
The package includes native executables for Windows x64, Linux x64 and macOS
|
|
21
|
+
on Apple silicon or Intel. Check [system requirements](https://github.com/giovannijecha/jecode/blob/main/docs/usage/PLATFORMS.md#supported-versions)
|
|
22
|
+
for minimum OS versions, libraries and Node.js support. The launcher needs
|
|
23
|
+
Node.js; a standalone build does not.
|
|
42
24
|
|
|
43
|
-
##
|
|
25
|
+
## First task
|
|
44
26
|
|
|
45
27
|
Run `jecode` in your project, open `/settings` and choose **Providers**. Connect
|
|
46
28
|
an OpenRouter, OpenAI or Anthropic API key, or sign in with ChatGPT, then select
|
|
@@ -48,71 +30,23 @@ a model. A Claude subscription compatibility route is also available; read the
|
|
|
48
30
|
[provider caveat](https://github.com/giovannijecha/jecode/blob/main/docs/usage/PROVIDERS.md#claude-account).
|
|
49
31
|
API keys use API billing separately from subscription plans.
|
|
50
32
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
[terminal guide](https://github.com/giovannijecha/jecode/blob/main/docs/tui/INTERFACE.md)
|
|
55
|
-
for themes, tool cards, checkpoints and shortcuts.
|
|
56
|
-
|
|
57
|
-
The default permission level, Workspace, confines the agent's commands to your
|
|
58
|
-
project and asks before touching anything outside it; see
|
|
59
|
-
[Permissions](https://github.com/giovannijecha/jecode/blob/main/docs/usage/PERMISSIONS.md)
|
|
60
|
-
for what each system supports.
|
|
61
|
-
|
|
62
|
-
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 and checkpoints are stored locally under `~/.jecode/`.
|
|
65
|
-
|
|
66
|
-
The harness is one native executable written in Rust without third-party Rust
|
|
67
|
-
crates. It supports prompt caching, batched file tools and prepared tool
|
|
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.
|
|
79
|
-
|
|
80
|
-
## Long conversations and processes
|
|
81
|
-
|
|
82
|
-
Earlier work becomes compact records of requests, answers and tool outcomes
|
|
83
|
-
before Jecode needs a model summary. Recording requires no model request. The
|
|
84
|
-
original conversation stays saved and available to the model by reference;
|
|
85
|
-
summaries remain the fallback when records and tool-result previews cannot make
|
|
86
|
-
room. Read [Long-running work](https://github.com/giovannijecha/jecode/blob/main/docs/usage/LONG_WORK.md).
|
|
33
|
+
Type a task and press Enter. Esc stops a turn, Ctrl+Q quits, and `jecode resume`
|
|
34
|
+
continues saved work. `/help` or F1 lists commands and shortcuts. See the
|
|
35
|
+
[terminal guide](https://github.com/giovannijecha/jecode/blob/main/docs/usage/INTERFACE.md).
|
|
87
36
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
37
|
+
The default permission level is Workspace; see [Permissions](https://github.com/giovannijecha/jecode/blob/main/docs/usage/PERMISSIONS.md)
|
|
38
|
+
for command confinement, approvals and platform limits. Read
|
|
39
|
+
[Security](https://github.com/giovannijecha/jecode/blob/main/SECURITY.md) for data
|
|
40
|
+
sent to providers and local credential storage.
|
|
92
41
|
|
|
93
42
|
## Update or remove
|
|
94
43
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```sh
|
|
101
|
-
npm update -g @giovannijecha/jecode
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Remove it with:
|
|
105
|
-
|
|
106
|
-
```sh
|
|
107
|
-
npm uninstall -g @giovannijecha/jecode
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Removing the package keeps your settings, accounts, conversations, and
|
|
111
|
-
checkpoints in `~/.jecode/` or your `JECODE_HOME` directory. If you previously
|
|
112
|
-
installed Jecode from source, check which `jecode` command appears first on
|
|
113
|
-
`PATH`; npm does not remove that separate installation.
|
|
44
|
+
Read the [release notes](https://github.com/giovannijecha/jecode/blob/main/CHANGELOG.md)
|
|
45
|
+
before updating: this build resumes only conversations in its current format
|
|
46
|
+
and leaves unsupported files unchanged. The
|
|
47
|
+
[installation guide](https://github.com/giovannijecha/jecode/blob/main/docs/usage/INSTALLATION.md#update-or-remove-the-npm-installation)
|
|
48
|
+
covers npm updates, removal and existing standalone installations.
|
|
114
49
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
for what changed.
|
|
50
|
+
The [project README](https://github.com/giovannijecha/jecode#readme) and
|
|
51
|
+
[documentation index](https://github.com/giovannijecha/jecode/blob/main/docs/README.md)
|
|
52
|
+
cover the full workflow and references.
|
|
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.6.5",
|
|
4
|
+
"revision": "0a787479aa0eae8a49b4ccca05527abc9a0b08f0",
|
|
5
5
|
"artifacts": [
|
|
6
6
|
{
|
|
7
7
|
"format": 1,
|
|
8
|
-
"version": "0.
|
|
9
|
-
"revision": "
|
|
8
|
+
"version": "0.6.5",
|
|
9
|
+
"revision": "0a787479aa0eae8a49b4ccca05527abc9a0b08f0",
|
|
10
10
|
"sourceClean": true,
|
|
11
11
|
"target": "win32-x64",
|
|
12
12
|
"binary": "jecode.exe",
|
|
13
|
-
"bytes":
|
|
14
|
-
"sha256": "
|
|
13
|
+
"bytes": 12474880,
|
|
14
|
+
"sha256": "c19e1561030a32df3c83a7d8f5e382d91736ec20fc1dda14e45db6de0c946a08",
|
|
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.6.5",
|
|
29
|
+
"revision": "0a787479aa0eae8a49b4ccca05527abc9a0b08f0",
|
|
31
30
|
"sourceClean": true,
|
|
32
31
|
"target": "linux-x64",
|
|
33
32
|
"binary": "jecode",
|
|
34
|
-
"bytes":
|
|
35
|
-
"sha256": "
|
|
33
|
+
"bytes": 15699552,
|
|
34
|
+
"sha256": "fd19970045747a6731382efc23bfa7588aaea407dd6db081325dd9a17d42c153",
|
|
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.6.5",
|
|
50
|
+
"revision": "0a787479aa0eae8a49b4ccca05527abc9a0b08f0",
|
|
52
51
|
"sourceClean": true,
|
|
53
52
|
"target": "darwin-arm64",
|
|
54
53
|
"binary": "jecode",
|
|
55
|
-
"bytes":
|
|
56
|
-
"sha256": "
|
|
54
|
+
"bytes": 10120576,
|
|
55
|
+
"sha256": "689a698c5180c228c025f2eb9e708affeffbb31b68550a0b939a09346dbfb1dd",
|
|
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.6.5",
|
|
70
|
+
"revision": "0a787479aa0eae8a49b4ccca05527abc9a0b08f0",
|
|
72
71
|
"sourceClean": true,
|
|
73
72
|
"target": "darwin-x64",
|
|
74
73
|
"binary": "jecode",
|
|
75
|
-
"bytes":
|
|
76
|
-
"sha256": "
|
|
74
|
+
"bytes": 10960488,
|
|
75
|
+
"sha256": "6e152e5bb6be6bdf6e703492d5ff6adf88aed8c0a397b0d1694871c4c9e13226",
|
|
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.6.5",
|
|
4
|
+
"description": "A terminal coding agent in Rust",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Giovanni Jecha",
|
|
7
7
|
"repository": {
|