ework-aio 0.1.2 → 0.1.4
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 +65 -8
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -13,18 +13,75 @@ All-in-one installer for the **ework** self-hosted AI development stack:
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
# Recommended: user-level install (no sudo needed)
|
|
17
|
+
npm install -g ework-aio --prefix ~/.local && ework-aio install
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
That's the whole install. When it finishes it prints your login URL, operator login, and token.
|
|
21
|
+
|
|
22
|
+
> **PATH heads-up:** `--prefix ~/.local` puts bin shims at `~/.local/bin/`.
|
|
23
|
+
> Most distros already have `~/.local/bin` on PATH (via `systemd-user-sessions`
|
|
24
|
+
> or `~/.profile`). If `command -v ework-aio` fails after install, add this to
|
|
25
|
+
> your `~/.bashrc` / `~/.zshrc`:
|
|
26
|
+
>
|
|
27
|
+
> ```bash
|
|
28
|
+
> export PATH="$HOME/.local/bin:$PATH"
|
|
29
|
+
> ```
|
|
30
|
+
|
|
31
|
+
### Prerequisites
|
|
32
|
+
|
|
33
|
+
The install command checks for these and aborts with a hint if any are missing:
|
|
21
34
|
|
|
22
|
-
|
|
35
|
+
| Tool | Min ver | Install from |
|
|
36
|
+
| ----------- | ------- | ------------------------------------ |
|
|
37
|
+
| `bun` | 1.1.0 | https://bun.sh |
|
|
38
|
+
| `opencode` | 1.14 | https://opencode.ai |
|
|
39
|
+
| `npm` | any | ships with bun or node |
|
|
40
|
+
| `systemctl` | any | systemd-based Linux |
|
|
41
|
+
| `openssl`/`curl`/`jq`/`awk` | any | your distro package manager |
|
|
42
|
+
|
|
43
|
+
### Install variants
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# System-level install (needs sudo; services run as root, units in /etc/systemd/system)
|
|
47
|
+
sudo npm install -g ework-aio && sudo ework-aio install --system
|
|
48
|
+
|
|
49
|
+
# Run without installing globally (downloads + runs once)
|
|
23
50
|
npx ework-aio install
|
|
24
|
-
|
|
51
|
+
|
|
52
|
+
# Route through an HTTP proxy if npm registry is slow on your machine
|
|
53
|
+
HTTPS_PROXY=http://127.0.0.1:7890 npm install -g ework-aio --prefix ~/.local && ework-aio install
|
|
25
54
|
```
|
|
26
55
|
|
|
27
|
-
|
|
56
|
+
User-level (default in this README) keeps everything under your home directory:
|
|
57
|
+
|
|
58
|
+
- bins: `~/.local/bin/`
|
|
59
|
+
- npm package files: `~/.local/lib/node/`
|
|
60
|
+
- data: `~/.local/share/ework-aio/`
|
|
61
|
+
- systemd units: `~/.config/systemd/user/`
|
|
62
|
+
|
|
63
|
+
`sudo` is never required; uninstall is `rm -rf ~/.local/share/ework-aio && npm uninstall -g ework-aio --prefix ~/.local`.
|
|
64
|
+
|
|
65
|
+
### Why two steps?
|
|
66
|
+
|
|
67
|
+
`npm install -g ework-aio` **only** lays down files: the bin launcher and the bash installer. It does **not** run the installer. The second `ework-aio install` step is what actually:
|
|
68
|
+
|
|
69
|
+
- writes `.env` files with random tokens,
|
|
70
|
+
- creates systemd units (user-level by default, system-level if you sudo),
|
|
71
|
+
- starts services,
|
|
72
|
+
- bootstraps the bot user,
|
|
73
|
+
- edits `~/.config/opencode/opencode.json`.
|
|
74
|
+
|
|
75
|
+
Keeping these in a separate, explicitly-invoked step is intentional:
|
|
76
|
+
|
|
77
|
+
- **Privilege boundary.** `sudo npm install -g` runs as root; the install step runs as *you*. Folding them together would force system-level systemd units and root-owned files in `$HOME`.
|
|
78
|
+
- **No surprise side-effects.** `npm install -g foo` should lay down files and stop. Creating services, generating tokens, editing your opencode config — that's invasive and belongs in a step you opted into.
|
|
79
|
+
- **npm `--ignore-scripts`.** Many users / CI disable lifecycle scripts. Auto-installing via `postinstall` would silently no-op for them.
|
|
80
|
+
- **`npm uninstall` reversibility.** Files outside npm's tracking (systemd units, `.env`, DBs, bot PAT) can't be cleaned by npm. Keeping them in a separate command means `npm uninstall -g ework-aio` does what people expect (removes files) and `ework-aio uninstall` does the rest.
|
|
81
|
+
|
|
82
|
+
`bin/ework-aio` with no args defaults to `install`, so `npm install -g ework-aio && ework-aio` (no `install`) also works.
|
|
83
|
+
|
|
84
|
+
---
|
|
28
85
|
|
|
29
86
|
## What it does
|
|
30
87
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ework-aio",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "All-in-one installer for ework (issue tracker) + ework-daemon (AI bridge) + opencode-ework (plugin). One command: npm i -g ework-aio && ework-aio install.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"start": "bun bin/ework-aio.js",
|
|
41
|
-
"check": "tsc --noEmit"
|
|
41
|
+
"check": "tsc --noEmit",
|
|
42
|
+
"postinstall": "echo '\\n ework-aio installed. Run \\033[1mework-aio install\\033[0m to set up services.\\n Help: ework-aio --help\\n'"
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
45
|
"ework-web": "^0.1.0",
|