one-code-extension 0.1.2 → 0.1.3
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 +5 -0
- package/docs/decisions/distribution.md +25 -6
- package/docs/decisions.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,6 +35,11 @@ brew install isurumaduranga/one-ai/one-code
|
|
|
35
35
|
|
|
36
36
|
> The npm route needs **Node 22.19+**.
|
|
37
37
|
|
|
38
|
+
> Tip: the app opens in a **full-screen TUI** (alt-screen, restores your
|
|
39
|
+
> terminal on exit) by default. On your own pi that's opt-in — set
|
|
40
|
+
> `"tuiMode": "fullscreen"` in `~/.pi/agent/settings.json`, or launch with
|
|
41
|
+
> `pi --tui-mode fullscreen`.
|
|
42
|
+
|
|
38
43
|
## Two-minute quickstart — free, no card
|
|
39
44
|
|
|
40
45
|
You need one model-provider key. Two providers hand out **free frontier-adjacent
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Part of [Decisions](../decisions.md).
|
|
4
4
|
|
|
5
|
-
## Two artifacts from one codebase: the app and the package (2026-08-10
|
|
5
|
+
## Two artifacts from one codebase: the app and the package (2026-08-10)
|
|
6
6
|
|
|
7
|
-
One Code ships two npm packages built from this single repo
|
|
7
|
+
One Code ships two npm packages built from this single repo — **both live on
|
|
8
|
+
npm since 2026-08-10 at 0.1.2** (GitHub release `v0.1.2`):
|
|
8
9
|
|
|
9
10
|
| npm name | What it is | pi relationship |
|
|
10
11
|
|---|---|---|
|
|
@@ -21,7 +22,11 @@ blocks every punctuation variant — discovered only at publish time; a 404 on
|
|
|
21
22
|
`npm view` does not mean a name is claimable). The *command* the app installs
|
|
22
23
|
is still `one-code`; the extension package stays unscoped so
|
|
23
24
|
`pi install npm:one-code-extension` reads clean, and is attached to the org
|
|
24
|
-
via team access rather than a scope.
|
|
25
|
+
via team access rather than a scope. The npm org (`one-ai`) and the planned
|
|
26
|
+
GitHub org (`oneai-hq` — `one-ai` was taken on GitHub) deliberately differ:
|
|
27
|
+
registry namespaces are independent, install commands only ever cite the npm
|
|
28
|
+
scope, and `repository` fields point at URLs, so the mismatch costs nothing
|
|
29
|
+
beyond a profile cross-link. A Homebrew tap (`brew install IsuruMaduranga/one-code/one-code`)
|
|
25
30
|
delivers the same app and solves the Node ≥22.19 requirement via
|
|
26
31
|
`depends_on "node"`; a single compiled binary is not viable (pi-tui ships
|
|
27
32
|
per-platform native modules).
|
|
@@ -82,11 +87,21 @@ mistake. Adopted at 0.1.2 (the app skipped 0.1.1 to converge); the cost is an
|
|
|
82
87
|
occasional republish of an unchanged package. The Homebrew tap is
|
|
83
88
|
`IsuruMaduranga/homebrew-one-ai` — named for the brand umbrella so future
|
|
84
89
|
tools join the same tap — giving `brew install isurumaduranga/one-ai/one-code`
|
|
85
|
-
(two-segment installs are not brew grammar; verified empirically).
|
|
90
|
+
(two-segment installs are not brew grammar; verified empirically). Two
|
|
91
|
+
release-process facts learned shipping 0.1.2: the formula's `url` + `sha256`
|
|
92
|
+
must be bumped by hand each release until a release workflow automates it,
|
|
93
|
+
and Homebrew's `std_npm_args` passes npm's supply-chain guard
|
|
94
|
+
`--min-release-age=1`, so **the brew install of a release only works ~24h
|
|
95
|
+
after its npm publish** — day-one users get "No matching version found …
|
|
96
|
+
with a date before <now−1d>"; either schedule the formula bump a day after
|
|
97
|
+
the npm publish or accept the gap.
|
|
86
98
|
|
|
87
99
|
Registering the package also seeds first-run settings (`theme: "one-code"`,
|
|
88
|
-
`quietStartup: true
|
|
89
|
-
|
|
100
|
+
`quietStartup: true`, and — from 0.1.3 — `tuiMode: "fullscreen"`, the
|
|
101
|
+
alt-screen One Code look per the fullscreen decision in `tui.md`), which
|
|
102
|
+
doubles as skipping pi's stock first-time theme picker — the branded first
|
|
103
|
+
run. Seeded only when no settings file exists, so a user's later changes
|
|
104
|
+
stick. Three hardcoded `~/.pi` paths found during
|
|
90
105
|
this work (quiet-startup detection, the skills listing, the Anthropic-OAuth
|
|
91
106
|
check) now resolve through pi's `getAgentDir()`, which honours the isolation
|
|
92
107
|
env var.
|
|
@@ -124,6 +139,10 @@ Per project directive, prefer ecosystem packages over new code.
|
|
|
124
139
|
|
|
125
140
|
## Publish readiness (Phase 7)
|
|
126
141
|
|
|
142
|
+
*(Historical — the release shipped 2026-08-10 as described in the two-artifact
|
|
143
|
+
entry above. The tarball/install checks below were the single-package-era
|
|
144
|
+
method and remain the template for pre-publish verification.)*
|
|
145
|
+
|
|
127
146
|
`npm pack` produces a 69 kB / 47-file tarball: `extensions/`, `agents/`, `types/`,
|
|
128
147
|
README, LICENSE and `docs/decisions.md`. Every path in the `pi.extensions`
|
|
129
148
|
manifest is checked to be present in the tarball.
|
package/docs/decisions.md
CHANGED
|
@@ -11,7 +11,7 @@ entry. (Companion docs: [`findings.md`](findings.md) for how pi behaves,
|
|
|
11
11
|
|
|
12
12
|
Full context: [`decisions/distribution.md`](decisions/distribution.md).
|
|
13
13
|
|
|
14
|
-
- **[Two artifacts from one codebase: the app and the package](decisions/distribution.md#two-artifacts-from-one-codebase-the-app-and-the-package-2026-08-10
|
|
14
|
+
- **[Two artifacts from one codebase: the app and the package](decisions/distribution.md#two-artifacts-from-one-codebase-the-app-and-the-package-2026-08-10)** — npm `@one-ai/one-code` (bundled app: pinned pi, `~/.one-code` isolation via `PI_CODING_AGENT_DIR`, package-registration load shape, stdout rebranding, own update check) + npm `one-code-extension` (peer-dep pi package with a runtime tested-range warning); lockstep versions from 0.1.2; Homebrew tap `isurumaduranga/one-ai` delivers the app (brew's `--min-release-age=1` makes day-one brew installs fail by design).
|
|
15
15
|
- **[Distribution: pi package, not a wrapper binary](decisions/distribution.md#distribution-pi-package-not-a-wrapper-binary)** — *(partially superseded by the two-artifact model)* ship as an installable pi package because pi's rebranding resolves from pi's own `package.json`; a dependent can't rebrand it, and a package keeps upstream upgrades a version bump away.
|
|
16
16
|
- **[Community packages: adopted where they work](decisions/distribution.md#community-packages-adopted-where-they-work)** — prefer ecosystem packages, but trial first: only `pi-ask-user` survived; `pi-subagents` was rejected (children SIGKILLed ~29 ms after spawn here).
|
|
17
17
|
- **[Publish readiness (Phase 7)](decisions/distribution.md#publish-readiness-phase-7)** — what's done and what remains before `npm publish` (metadata, tarball, install-path verification).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one-code-extension",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
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",
|