stackbite 0.5.13 → 0.5.14
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 +108 -108
- package/package.json +25 -25
- package/packaging/npm/release.json +16 -16
package/README.md
CHANGED
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
# Stackbite through npm and npx
|
|
2
|
-
|
|
3
|
-
Work Stack organizes the work. Stackbite gets it moving.
|
|
4
|
-
|
|
5
|
-
Node.js 20 or newer is required. The portable runtime is available for Windows x64
|
|
6
|
-
and Linux x64 with glibc; macOS, ARM and musl/Alpine builds are not supplied yet.
|
|
7
|
-
Python installation and compilation are unnecessary. Archive extraction requires
|
|
8
|
-
`tar` (included in current Windows and common Linux distributions).
|
|
9
|
-
|
|
10
|
-
## Install without an account
|
|
11
|
-
|
|
12
|
-
Choose one method. For a single run, use the public npm package:
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
npx --yes stackbite
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
For a persistent command, install it globally and then run it:
|
|
19
|
-
|
|
20
|
-
```sh
|
|
21
|
-
npm install --global stackbite
|
|
22
|
-
stackbite
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Both methods download the verified native runtime on first execution. Global
|
|
26
|
-
installation alone installs the small launcher; its first `stackbite` invocation
|
|
27
|
-
downloads the runtime. Running both installation methods is unnecessary.
|
|
28
|
-
|
|
29
|
-
Update a registry installation with `npm install --global stackbite@latest`.
|
|
30
|
-
|
|
31
|
-
## Direct GitHub package
|
|
32
|
-
|
|
33
|
-
Run the package attached to the verified GitHub release:
|
|
34
|
-
|
|
35
|
-
```sh
|
|
36
|
-
npx --yes https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Arguments go after the package URL, for example `--version` or `--status`. For a
|
|
40
|
-
persistent command, install that same package globally:
|
|
41
|
-
|
|
42
|
-
```sh
|
|
43
|
-
npm install --global https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
44
|
-
stackbite
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The core source repository remains private at `Shinick-Han/helm`. The separate
|
|
48
|
-
public `Shinick-Han/stackbite` repository distributes only this thin launcher and
|
|
49
|
-
verified compiled runtime releases; installers need no GitHub or npm login.
|
|
50
|
-
Registry-free distribution does not require publishing rights on npm.
|
|
51
|
-
The small JavaScript package downloads the
|
|
52
|
-
exact pinned native release on first execution, verifies its archive and file
|
|
53
|
-
checksums and product identity, then reuses a persistent binary cache. There is no
|
|
54
|
-
postinstall download or provider installation. An offline cached launch is possible;
|
|
55
|
-
the first launch needs access to GitHub release downloads.
|
|
56
|
-
|
|
57
|
-
For a GitHub URL installation, install the package URL from the newer release.
|
|
58
|
-
Each npm package pins one native release; the portable app's own `stackbite update`
|
|
59
|
-
does not change the npm package version.
|
|
60
|
-
|
|
61
|
-
## Existing data and processes
|
|
62
|
-
|
|
63
|
-
`STACKBITE_STATE_DIR` is the explicit state override. The bundled native runtime
|
|
64
|
-
owns state discovery and migration for both npm and direct launches. It reuses
|
|
65
|
-
existing configured state and keeps live databases, authentication and records
|
|
66
|
-
in place. New state uses `%LOCALAPPDATA%\Stackbite\state` or
|
|
67
|
-
`${XDG_STATE_HOME:-~/.local/state}/stackbite`.
|
|
68
|
-
Rooms, Seats, authentication, provider configuration, journals and Work Stack
|
|
69
|
-
contracts are not renamed or migrated. Binary cache data is separate from this
|
|
70
|
-
state. Installing or launching the npm package does not stop an existing backend.
|
|
71
|
-
Check the connected server's capabilities before using newly added runtime features.
|
|
72
|
-
|
|
73
|
-
The launcher inherits terminal input/output and passes CLI arguments directly to
|
|
74
|
-
the native app. It does not insert a second screen renderer or an agent provider.
|
|
75
|
-
Global npm installation creates only the `stackbite` command; it does not claim an
|
|
76
|
-
external `helm` command or replace independent Kubernetes tooling.
|
|
77
|
-
|
|
78
|
-
## Maintainer release steps
|
|
79
|
-
|
|
80
|
-
Build and verify both native platform archives first. Prepare the pinned manifest
|
|
81
|
-
from their exact extracted bundles and archive bytes:
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
python scripts/prepare_npm_release.py --version 0.5.
|
|
85
|
-
npm test
|
|
86
|
-
npm pack
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Keep `package.json` and `packaging/npm/release.json` versions equal. Inspect `npm
|
|
90
|
-
pack --dry-run` before publishing; the package must include the launcher and pinned
|
|
91
|
-
manifest, and exclude native runtimes, installed state, credentials, tests and
|
|
92
|
-
development worktrees. Test the packed package with `npx` on both platforms.
|
|
93
|
-
|
|
94
|
-
Attach `stackbite-<version>.tgz` and its SHA-256 sidecar to the corresponding GitHub
|
|
95
|
-
release in the public distribution repository. Copy only the npm file allowlist to
|
|
96
|
-
that repository; never push the private core history, state, personal notes or
|
|
97
|
-
credentials. Native archives must retain dependency license notices. Publishing
|
|
98
|
-
the short name requires an authenticated owner account:
|
|
99
|
-
|
|
100
|
-
```sh
|
|
101
|
-
npm login --registry=https://registry.npmjs.org
|
|
102
|
-
npm publish --access public --registry=https://registry.npmjs.org
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Complete any registry-required authentication interactively; do not put credentials
|
|
106
|
-
in this repository, prompts or package files. The repository currently specifies
|
|
107
|
-
`UNLICENSED` for the JavaScript wrapper instead of inventing a license for the app;
|
|
108
|
-
native runtime dependency notices remain in each platform archive.
|
|
1
|
+
# Stackbite through npm and npx
|
|
2
|
+
|
|
3
|
+
Work Stack organizes the work. Stackbite gets it moving.
|
|
4
|
+
|
|
5
|
+
Node.js 20 or newer is required. The portable runtime is available for Windows x64
|
|
6
|
+
and Linux x64 with glibc; macOS, ARM and musl/Alpine builds are not supplied yet.
|
|
7
|
+
Python installation and compilation are unnecessary. Archive extraction requires
|
|
8
|
+
`tar` (included in current Windows and common Linux distributions).
|
|
9
|
+
|
|
10
|
+
## Install without an account
|
|
11
|
+
|
|
12
|
+
Choose one method. For a single run, use the public npm package:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npx --yes stackbite
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
For a persistent command, install it globally and then run it:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
npm install --global stackbite
|
|
22
|
+
stackbite
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Both methods download the verified native runtime on first execution. Global
|
|
26
|
+
installation alone installs the small launcher; its first `stackbite` invocation
|
|
27
|
+
downloads the runtime. Running both installation methods is unnecessary.
|
|
28
|
+
|
|
29
|
+
Update a registry installation with `npm install --global stackbite@latest`.
|
|
30
|
+
|
|
31
|
+
## Direct GitHub package
|
|
32
|
+
|
|
33
|
+
Run the package attached to the verified GitHub release:
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
npx --yes https://github.com/Shinick-Han/stackbite/releases/download/v0.5.14/stackbite-0.5.14.tgz
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Arguments go after the package URL, for example `--version` or `--status`. For a
|
|
40
|
+
persistent command, install that same package globally:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
npm install --global https://github.com/Shinick-Han/stackbite/releases/download/v0.5.14/stackbite-0.5.14.tgz
|
|
44
|
+
stackbite
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The core source repository remains private at `Shinick-Han/helm`. The separate
|
|
48
|
+
public `Shinick-Han/stackbite` repository distributes only this thin launcher and
|
|
49
|
+
verified compiled runtime releases; installers need no GitHub or npm login.
|
|
50
|
+
Registry-free distribution does not require publishing rights on npm.
|
|
51
|
+
The small JavaScript package downloads the
|
|
52
|
+
exact pinned native release on first execution, verifies its archive and file
|
|
53
|
+
checksums and product identity, then reuses a persistent binary cache. There is no
|
|
54
|
+
postinstall download or provider installation. An offline cached launch is possible;
|
|
55
|
+
the first launch needs access to GitHub release downloads.
|
|
56
|
+
|
|
57
|
+
For a GitHub URL installation, install the package URL from the newer release.
|
|
58
|
+
Each npm package pins one native release; the portable app's own `stackbite update`
|
|
59
|
+
does not change the npm package version.
|
|
60
|
+
|
|
61
|
+
## Existing data and processes
|
|
62
|
+
|
|
63
|
+
`STACKBITE_STATE_DIR` is the explicit state override. The bundled native runtime
|
|
64
|
+
owns state discovery and migration for both npm and direct launches. It reuses
|
|
65
|
+
existing configured state and keeps live databases, authentication and records
|
|
66
|
+
in place. New state uses `%LOCALAPPDATA%\Stackbite\state` or
|
|
67
|
+
`${XDG_STATE_HOME:-~/.local/state}/stackbite`.
|
|
68
|
+
Rooms, Seats, authentication, provider configuration, journals and Work Stack
|
|
69
|
+
contracts are not renamed or migrated. Binary cache data is separate from this
|
|
70
|
+
state. Installing or launching the npm package does not stop an existing backend.
|
|
71
|
+
Check the connected server's capabilities before using newly added runtime features.
|
|
72
|
+
|
|
73
|
+
The launcher inherits terminal input/output and passes CLI arguments directly to
|
|
74
|
+
the native app. It does not insert a second screen renderer or an agent provider.
|
|
75
|
+
Global npm installation creates only the `stackbite` command; it does not claim an
|
|
76
|
+
external `helm` command or replace independent Kubernetes tooling.
|
|
77
|
+
|
|
78
|
+
## Maintainer release steps
|
|
79
|
+
|
|
80
|
+
Build and verify both native platform archives first. Prepare the pinned manifest
|
|
81
|
+
from their exact extracted bundles and archive bytes:
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
python scripts/prepare_npm_release.py --version 0.5.14
|
|
85
|
+
npm test
|
|
86
|
+
npm pack
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Keep `package.json` and `packaging/npm/release.json` versions equal. Inspect `npm
|
|
90
|
+
pack --dry-run` before publishing; the package must include the launcher and pinned
|
|
91
|
+
manifest, and exclude native runtimes, installed state, credentials, tests and
|
|
92
|
+
development worktrees. Test the packed package with `npx` on both platforms.
|
|
93
|
+
|
|
94
|
+
Attach `stackbite-<version>.tgz` and its SHA-256 sidecar to the corresponding GitHub
|
|
95
|
+
release in the public distribution repository. Copy only the npm file allowlist to
|
|
96
|
+
that repository; never push the private core history, state, personal notes or
|
|
97
|
+
credentials. Native archives must retain dependency license notices. Publishing
|
|
98
|
+
the short name requires an authenticated owner account:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
npm login --registry=https://registry.npmjs.org
|
|
102
|
+
npm publish --access public --registry=https://registry.npmjs.org
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Complete any registry-required authentication interactively; do not put credentials
|
|
106
|
+
in this repository, prompts or package files. The repository currently specifies
|
|
107
|
+
`UNLICENSED` for the JavaScript wrapper instead of inventing a license for the app;
|
|
108
|
+
native runtime dependency notices remain in each platform archive.
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "stackbite",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "Verified native Stackbite CLI bootstrapper",
|
|
5
|
-
"license": "UNLICENSED",
|
|
6
|
-
"engines": {
|
|
7
|
-
"node": ">=20"
|
|
8
|
-
},
|
|
9
|
-
"bin": {
|
|
10
|
-
"stackbite": "packaging/npm/bin/stackbite.js"
|
|
11
|
-
},
|
|
12
|
-
"files": [
|
|
13
|
-
"packaging/npm/bin/",
|
|
14
|
-
"packaging/npm/lib/",
|
|
15
|
-
"packaging/npm/release.json"
|
|
16
|
-
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"test": "node --test packaging/npm/test/*.test.js"
|
|
19
|
-
},
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "https://github.com/Shinick-Han/stackbite.git"
|
|
23
|
-
},
|
|
24
|
-
"homepage": "https://github.com/Shinick-Han/stackbite"
|
|
25
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "stackbite",
|
|
3
|
+
"version": "0.5.14",
|
|
4
|
+
"description": "Verified native Stackbite CLI bootstrapper",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=20"
|
|
8
|
+
},
|
|
9
|
+
"bin": {
|
|
10
|
+
"stackbite": "packaging/npm/bin/stackbite.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"packaging/npm/bin/",
|
|
14
|
+
"packaging/npm/lib/",
|
|
15
|
+
"packaging/npm/release.json"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test": "node --test packaging/npm/test/*.test.js"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/Shinick-Han/stackbite.git"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/Shinick-Han/stackbite"
|
|
25
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"commit": "
|
|
3
|
+
"version": "0.5.14",
|
|
4
|
+
"commit": "c6d3785cd4214aacaaead109498a8f054ef64844",
|
|
5
5
|
"repository": "Shinick-Han/stackbite",
|
|
6
6
|
"platforms": {
|
|
7
7
|
"win32-x64": {
|
|
8
|
-
"asset": "stackbite-0.5.
|
|
9
|
-
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
10
|
-
"sha256": "
|
|
11
|
-
"size":
|
|
12
|
-
"root": "stackbite-0.5.
|
|
13
|
-
"manifestSha256": "
|
|
14
|
-
"metadataSha256": "
|
|
8
|
+
"asset": "stackbite-0.5.14-windows-x64-c6d3785cd421.zip",
|
|
9
|
+
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.14/stackbite-0.5.14-windows-x64-c6d3785cd421.zip",
|
|
10
|
+
"sha256": "414ef2c1bafddf92003b9389bd259304cc4e07f6948b87933338e18b7af032f2",
|
|
11
|
+
"size": 37060664,
|
|
12
|
+
"root": "stackbite-0.5.14-windows-x64-c6d3785cd421",
|
|
13
|
+
"manifestSha256": "d5283ac3758b1553dd1ec92fb1aeeca8c42b852271f851df520110f6fba388b6",
|
|
14
|
+
"metadataSha256": "e0816868d7380b0ff4c14533b0563aee60ca0f065ec776a4b125ce8035dab87d"
|
|
15
15
|
},
|
|
16
16
|
"linux-x64": {
|
|
17
|
-
"asset": "stackbite-0.5.
|
|
18
|
-
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.
|
|
19
|
-
"sha256": "
|
|
20
|
-
"size":
|
|
21
|
-
"root": "stackbite-0.5.
|
|
22
|
-
"manifestSha256": "
|
|
23
|
-
"metadataSha256": "
|
|
17
|
+
"asset": "stackbite-0.5.14-linux-x86_64-c6d3785cd421.tar.gz",
|
|
18
|
+
"url": "https://github.com/Shinick-Han/stackbite/releases/download/v0.5.14/stackbite-0.5.14-linux-x86_64-c6d3785cd421.tar.gz",
|
|
19
|
+
"sha256": "afd04f63cf1df2b95dc5816b772d6c4a093933496db202681db38576eaa2d915",
|
|
20
|
+
"size": 21859949,
|
|
21
|
+
"root": "stackbite-0.5.14-linux-x86_64-c6d3785cd421",
|
|
22
|
+
"manifestSha256": "4c4d12f3a06124adbcdebb597d925406c05947d4b526f36234d4da9ad3f15df9",
|
|
23
|
+
"metadataSha256": "2ad33dbdba97c140cb0b18842cfc93dbbd137f64c12400a33e774368343eb7b5"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|