one-code-extension 0.1.0 → 0.1.2

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 CHANGED
@@ -18,18 +18,19 @@ One project, two npm packages — pick the one that fits you:
18
18
 
19
19
  | You | Install | Package |
20
20
  |---|---|---|
21
- | **Most people** (new to pi included) | `npm install -g one-code` | [`one-code`](https://www.npmjs.com/package/one-code) — the app: its own `one-code` command, a pinned pi bundled inside, state isolated in `~/.one-code`, coexists with any existing `pi` |
21
+ | **Most people** (new to pi included) | `npm install -g @one-ai/one-code` | [`@one-ai/one-code`](https://www.npmjs.com/package/@one-ai/one-code) — the app: its own `one-code` command, a pinned pi bundled inside, state isolated in `~/.one-code`, coexists with any existing `pi` |
22
22
  | Already running pi, want it on your own install | `pi install npm:one-code-extension` | [`one-code-extension`](https://www.npmjs.com/package/one-code-extension) — just the extensions; rides your pi (tested against pi 0.83–0.84, warns outside that range) |
23
23
 
24
24
  ```bash
25
- npm install -g one-code
25
+ npm install -g @one-ai/one-code
26
26
  cd your-project && one-code
27
27
  ```
28
28
 
29
29
  Or via Homebrew (also installs Node for you):
30
30
 
31
31
  ```bash
32
- brew install isuruwijesiri/one-code/one-code
32
+ brew install isurumaduranga/one-ai/one-code
33
+ # or tap once, then it's just: brew tap isurumaduranga/one-ai && brew install one-code
33
34
  ```
34
35
 
35
36
  > The npm route needs **Node 22.19+**.
@@ -8,14 +8,20 @@ One Code ships two npm packages built from this single repo:
8
8
 
9
9
  | npm name | What it is | pi relationship |
10
10
  |---|---|---|
11
- | **`one-code`** (`app/`) | the bundled app — a `one-code` bin | **exact-pins** pi (`0.84.1`) as a dependency |
11
+ | **`@one-ai/one-code`** (`app/`) | the bundled app — a `one-code` bin | **exact-pins** pi (`0.84.1`) as a dependency |
12
12
  | **`one-code-extension`** (repo root) | the pi package | **peerDependency** range; runs on the user's own pi |
13
13
 
14
14
  The split exists because the two installs need opposite dependency stances
15
15
  (reproducible pin vs. ride-the-user's-pi), and nothing else: the app is a thin
16
16
  launcher over the same extension set. `one-code-extension` was chosen over
17
17
  `one-code-pi`, which reads as "one-code *with* pi bundled" — the opposite of
18
- what it is. A Homebrew tap (`brew install IsuruMaduranga/one-code/one-code`)
18
+ what it is. The app is scoped under the **`one-ai`** npm org because npm's
19
+ typosquat guard rejects unscoped `one-code` (an existing `onecode` package
20
+ blocks every punctuation variant — discovered only at publish time; a 404 on
21
+ `npm view` does not mean a name is claimable). The *command* the app installs
22
+ is still `one-code`; the extension package stays unscoped so
23
+ `pi install npm:one-code-extension` reads clean, and is attached to the org
24
+ via team access rather than a scope. A Homebrew tap (`brew install IsuruMaduranga/one-code/one-code`)
19
25
  delivers the same app and solves the Node ≥22.19 requirement via
20
26
  `depends_on "node"`; a single compiled binary is not viable (pi-tui ships
21
27
  per-platform native modules).
@@ -62,12 +68,22 @@ injects one inline JS extension (`app/update-check.mjs`) via
62
68
  `extensionFactories`: a non-blocking, fail-silent fetch of
63
69
  `registry.npmjs.org/one-code/latest` on session start, notifying with an
64
70
  install-aware hint (`brew upgrade one-code` when the bin resolves under a
65
- Homebrew prefix, else `npm i -g one-code`). pi's semver helpers are not
71
+ Homebrew prefix, else `npm i -g @one-ai/one-code`). pi's semver helpers are not
66
72
  exported from the package root, so the dotted-numeric compare lives in the
67
73
  app. `one-code --version` reports the app version with the pinned pi in
68
74
  parentheses. Both paths live-verified (drift warning and update notice each
69
75
  fired against a real TUI).
70
76
 
77
+ **Versioning is lockstep.** Both packages share one version per release, even
78
+ when only one changed, and the app pins the extension at exactly its own
79
+ version — so one git tag (`vX.Y.Z`) names the whole release, GitHub Releases
80
+ map one-to-one, and a pin/version mismatch is an instantly visible release
81
+ mistake. Adopted at 0.1.2 (the app skipped 0.1.1 to converge); the cost is an
82
+ occasional republish of an unchanged package. The Homebrew tap is
83
+ `IsuruMaduranga/homebrew-one-ai` — named for the brand umbrella so future
84
+ tools join the same tap — giving `brew install isurumaduranga/one-ai/one-code`
85
+ (two-segment installs are not brew grammar; verified empirically).
86
+
71
87
  Registering the package also seeds first-run settings (`theme: "one-code"`,
72
88
  `quietStartup: true`), which doubles as skipping pi's stock first-time theme
73
89
  picker — the branded first run. Three hardcoded `~/.pi` paths found during
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "one-code-extension",
3
- "version": "0.1.0",
4
- "description": "One Code as a pi package \u2014 the Claude Code experience on your own pi install: ported system prompt, Claude-Code-format permissions, .claude/ compatibility, ToolSearch-style deferred tools, and system-reminder steering. For the bundled app, install `one-code` instead.",
3
+ "version": "0.1.2",
4
+ "description": "One Code as a pi package \u2014 the Claude Code experience on your own pi install: ported system prompt, Claude-Code-format permissions, .claude/ compatibility, ToolSearch-style deferred tools, and system-reminder steering. For the bundled app, install `@one-ai/one-code` instead.",
5
5
  "keywords": [
6
6
  "pi",
7
7
  "pi-package",