@vibead/cli 0.1.0-beta.12 → 0.1.0-beta.15

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
@@ -1,32 +1,119 @@
1
- # Vibead CLI (beta)
1
+ # Vibead CLI
2
2
 
3
- The npm launcher for the official [vibead/cli](https://github.com/vibead/cli) beta.12 release. Vibead adds disclosed synthetic advertisements or publisher messages to supported working-status rows in Claude Code, Codex, Gemini CLI and OpenCode.
3
+ **Try clearly marked test ads while your AI coding agent works.**
4
+
5
+ Vibead shows test ads in your terminal while **Claude Code, Codex, Gemini CLI or OpenCode** is thinking. Keep using your usual agent account, model, settings and project. No separate Vibead account or API key is needed.
6
+
7
+ **This is a beta:** ads are simulated, with no earnings or credits. Your AI provider's usual charges still apply.
8
+
9
+ ## Get started
10
+
11
+ You need **macOS** (Apple Silicon or Intel) or **Linux x64**, **Node.js 20 or newer**, and one of the agents below already installed and working. **Windows is not supported yet.** If you need Node.js, [install the current LTS version](https://nodejs.org/en/download), then reopen your terminal.
12
+
13
+ ### 1. Install Vibead
14
+
15
+ Open Terminal on your Mac, or your Linux terminal, and run:
4
16
 
5
17
  ```sh
6
18
  npm install -g @vibead/cli
7
- vibead claude
8
- # Or: vibead codex, vibead gemini, vibead opencode
9
19
  ```
10
20
 
11
- You can also run `npx @vibead/cli claude`. Your agent must already be installed and working. Your existing agent login, provider settings and project stay in use; normal provider charges apply. This is a beta with no earnings or credits.
21
+ You only need to install it once. You do not need to sign in to npm to install this public package.
22
+
23
+ ### 2. Choose your agent
24
+
25
+ In the project folder where you normally use your agent, run **one** of these commands:
26
+
27
+ | Your agent | Run this |
28
+ | --- | --- |
29
+ | Claude Code | `vibead claude` |
30
+ | Codex | `vibead codex` |
31
+ | Gemini CLI | `vibead gemini` |
32
+ | OpenCode | `vibead opencode` |
33
+
34
+ **The first launch downloads about 72–84 MB.** Wait for the download message to finish and your agent to open. Later launches reuse the downloaded files. Review any permission or project-trust prompts from your agent; in Codex, review the Vibead hooks if prompted.
35
+
36
+ ### 3. Send a prompt
12
37
 
13
- ## Supported systems
38
+ Use your agent as usual, or try this:
14
39
 
15
- Node.js 20 or newer, macOS Apple Silicon/Intel, or Linux x64 with glibc 2.34 or newer. Windows, Linux ARM64 and Alpine/musl are not supported. `tar` is required; `curl` is also required when an HTTPS proxy is configured. Mac downloads are ad hoc signed, without Developer ID notarization.
40
+ > Compare five sorting algorithms and explain their tradeoffs. Do not run commands or change files.
16
41
 
17
- On first use the launcher downloads the matching 72–84 MB official GitHub archive, verifies its pinned SHA-256 checksum, and extracts the complete kit to `~/.cache/vibead`. Later runs use that cached version. Set `VIBEAD_CACHE_DIR` to choose another writable cache directory. The wrapper does not require npm install scripts, a compiler, or a separate server. `vibead --version` reports the release without a download.
42
+ Look for a message marked **`[Ad]`** in the agent's status line while it thinks. The message should disappear when the response finishes. Very short responses may finish before an ad appears.
18
43
 
19
- ## Usage
44
+ Exit your agent normally when you're done. To use your agent without Vibead next time, launch it with its usual command, such as `claude` or `codex`.
45
+
46
+ ## Try without a global install
47
+
48
+ If you prefer to try it first, or the install command reports a permissions error:
49
+
50
+ ```sh
51
+ npx @vibead/cli claude
52
+ ```
53
+
54
+ Replace `claude` with `codex`, `gemini` or `opencode` as needed. If npm asks to install `@vibead/cli`, confirm to continue. This still downloads and caches Vibead's files.
55
+
56
+ ## Need help?
57
+
58
+ | What you see | What to do |
59
+ | --- | --- |
60
+ | `npm: command not found`, or a Node.js version error | Install the [current Node.js LTS version](https://nodejs.org/en/download), reopen your terminal, and try again. |
61
+ | A permissions error during installation, or `vibead: command not found` | Use the `npx` command above to run without a global installation. |
62
+ | Your agent is missing or asks you to sign in | First make sure its usual command, such as `claude`, works on its own. Complete the agent's normal setup, then launch it through Vibead. |
63
+ | The first launch cannot download its files | Check your connection and access to GitHub, then rerun the same command. If the error names `tar` or `curl`, install that tool through your system's package manager. |
64
+ | `Unsupported platform` or a `GLIBC` error | Check the system requirements below. **Windows is not supported yet**, and neither are Linux ARM64 or Alpine Linux. |
65
+ | Your agent opens but no ad appears | Try a longer prompt and review any hook approvals. Turn 1 may show a VibeAd house ad while hosted ads load. If no ad appears at all, use the issue link below. |
66
+
67
+ For command help, run `vibead --help`. To check the installed beta release, run `vibead --version`.
68
+
69
+ **Still stuck?** [Report an issue](https://github.com/vibead/cli/issues/new) with your operating system, terminal app, agent name/version, Vibead version and what happened. Session reports are saved under `~/.vibead-beta/results`. Review a report before sharing it; leave out credentials, private prompts and configuration backups.
70
+
71
+ ## Optional: try your own publisher message
72
+
73
+ You can also test a message marked `[Org]` using the shared publisher demo:
74
+
75
+ 1. Run `vibead claude --test-publisher` (or use another agent name from the table).
76
+ 2. Open the [Woolworths demo publisher](https://www.vibead.ai/woolworths-demo), edit **Terminal line**, and click **Publish to workspace**.
77
+ 3. Send a prompt in your agent and look for that message while it works. Change the message and send another prompt to test the update.
78
+
79
+ This is a shared, fictional demo that anyone can edit. See the [publisher guide](https://github.com/vibead/cli/blob/main/ENTERPRISE-DEMO.md) for details.
80
+
81
+ To test clickable ads instead, use `vibead claude --test-links` and follow the [click-test guide](https://github.com/vibead/cli/blob/main/BETA.md#optional-clickable-ad-test-beta8). Use `--test-links` and `--test-publisher` separately.
82
+
83
+ ## Update or remove Vibead
84
+
85
+ To update to the latest npm release:
86
+
87
+ ```sh
88
+ npm install -g @vibead/cli@latest
89
+ ```
90
+
91
+ To remove the global installation, first exit any running Vibead sessions, then run:
92
+
93
+ ```sh
94
+ npm uninstall -g @vibead/cli
95
+ ```
96
+
97
+ Downloaded files remain in `~/.cache/vibead`; you can remove that folder too after all sessions have exited. If you set a custom cache directory, use that location instead.
98
+
99
+ ## System requirements and beta details
100
+
101
+ - **macOS:** Apple Silicon or Intel. Builds are ad hoc signed and are not Apple-notarized. Testing on physical Mac terminals is still in progress. See the [beta.15 release notes](https://github.com/vibead/cli/releases/tag/v0.1.0-beta.15) and [beta.12 release notes](https://github.com/vibead/cli/releases/tag/v0.1.0-beta.12).
102
+ - **Linux:** x64 with glibc 2.34 or newer. Linux ARM64 and Alpine/musl are not supported.
103
+ - **Tools:** Node.js 20+ and `tar`. `curl` is also needed when an HTTPS proxy is configured. No compiler or separately managed ad server is needed.
104
+ - **Downloads:** the launcher chooses the matching official archive (beta.15 on Linux x64 and macOS), checks its SHA-256 checksum, and stores the complete kit in `~/.cache/vibead`. Set `VIBEAD_CACHE_DIR` to use another writable folder.
105
+ - **Known limitations:** while the hosted `--test-publisher` service warms up, turn 1 shows a VibeAd house ad (labelled `[Ad]`); with a single published message it alternates with house ads so no ad repeats on consecutive turns. Clickable ads are still unreliable on Windows terminals (Windows is not supported). Source and server code remain private. Third-party notices are included with the package and downloaded kit.
106
+
107
+ Your agent's own options go after `--`. For example, to use an existing Codex profile:
20
108
 
21
109
  ```sh
22
- vibead --help
23
110
  vibead codex -- --profile my-profile
24
- vibead claude --test-links
25
- vibead claude --test-publisher
26
111
  ```
27
112
 
28
- Use `--test-links` and `--test-publisher` separately. The publisher demo is shared and fictional. Run your normal agent directly whenever you do not want Vibead. Exit normally so Vibead can remove its session integration; reports are under `~/.vibead-beta/results`. Recover an interrupted integration with `vibead AGENT --cleanup`.
113
+ If a session was interrupted and left its integration behind, use the cleanup command for that agent. For Claude Code:
29
114
 
30
- See the [beta guide](https://github.com/vibead/cli/blob/main/BETA.md), [publisher guide](https://github.com/vibead/cli/blob/main/ENTERPRISE-DEMO.md), and [release notes](https://github.com/vibead/cli/releases/tag/v0.1.0-beta.12) for limits and platform qualification. Physical Mac acceptance remains pending, and OpenCode has a reported multi-turn advertisement display issue. Source and server code remain private. Third-party notices ship in this package and in each downloaded kit.
115
+ ```sh
116
+ vibead claude --cleanup
117
+ ```
31
118
 
32
- Remove the npm launcher with `npm uninstall -g @vibead/cli`. To remove cached downloads too, remove the `vibead` folder in your cache directory after all Vibead sessions have exited.
119
+ Replace `claude` with the affected agent's name if needed. See the [full beta guide](https://github.com/vibead/cli/blob/main/BETA.md) for recovery details and additional tests. Its manual-download examples run `./vibead-beta-linux-x64/vibead-beta claude`. The npm package installs the same launcher under two names, `vibead` and `vibead-beta`, so `vibead claude` and `vibead-beta claude` are equivalent; this guide uses `vibead`.
package/lib/install.mjs CHANGED
@@ -17,6 +17,14 @@ export function platformKey(platform = process.platform, arch = process.arch) {
17
17
  return key;
18
18
  }
19
19
 
20
+ // A platform entry is either a SHA-256 string (built at release.version) or
21
+ // { version, sha256 } when that platform stays on an earlier archive, e.g.
22
+ // macOS on beta.12 while beta.14 ships Linux x64 only.
23
+ export function platformRelease(key) {
24
+ const entry = release.platforms[key];
25
+ return typeof entry === 'string' ? { version: release.version, sha256: entry } : entry;
26
+ }
27
+
20
28
  export async function verifyChecksum(file, expected) {
21
29
  const hash = createHash('sha256');
22
30
  for await (const chunk of createReadStream(file)) hash.update(chunk);
@@ -42,17 +50,18 @@ async function download(url, destination) {
42
50
  export async function ensureInstalled() {
43
51
  const key = platformKey();
44
52
  const cache = resolve(process.env.VIBEAD_CACHE_DIR || join(homedir(), '.cache', 'vibead'));
45
- const target = join(cache, `${release.version}-${key}-${release.platforms[key].slice(0, 12)}`);
53
+ const { version, sha256 } = platformRelease(key);
54
+ const target = join(cache, `${version}-${key}-${sha256.slice(0, 12)}`);
46
55
  const executable = join(target, 'vibead-beta');
47
56
  try { await access(executable); return executable; } catch {}
48
57
  await mkdir(cache, { recursive: true, mode: 0o700 });
49
58
  const staging = await mkdtemp(join(cache, '.install-'));
50
59
  try {
51
- console.error(`vibead: downloading verified ${release.version} for ${key} (first run only)…`);
60
+ console.error(`vibead: downloading verified ${version} for ${key} (first run only)…`);
52
61
  const archive = join(staging, 'release.tar.gz');
53
- const url = `https://github.com/vibead/cli/releases/download/v${release.version}/vibead-beta-${release.version}-${key}.tar.gz`;
62
+ const url = `https://github.com/vibead/cli/releases/download/v${version}/vibead-beta-${version}-${key}.tar.gz`;
54
63
  await download(url, archive);
55
- await verifyChecksum(archive, release.platforms[key]);
64
+ await verifyChecksum(archive, sha256);
56
65
  try { await execute('tar', ['-xzf', archive, '-C', staging]); }
57
66
  catch (error) { throw new Error(error.code === 'ENOENT' ? 'tar is required to extract the official release.' : `Could not extract release: ${error.message}`); }
58
67
  const extracted = join(staging, `vibead-beta-${key}`);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vibead/cli",
3
- "version": "0.1.0-beta.12",
4
- "description": "Vibead beta launcher for Claude Code, Codex, Gemini CLI and OpenCode",
3
+ "version": "0.1.0-beta.15",
4
+ "description": "Try clearly marked test ads in Claude Code, Codex, Gemini CLI and OpenCode while they work.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
7
7
  "repository": { "type": "git", "url": "git+https://github.com/vibead/cli.git", "directory": "npm" },
package/releases.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "version": "0.1.0-beta.12",
2
+ "version": "0.1.0-beta.15",
3
3
  "platforms": {
4
- "darwin-arm64": "389e6591444c4fe4a0e0de97389ce7d27eb2401a8b5d232f3a15f00a72ade8a4",
5
- "darwin-x64": "ae0dbfce66e971f04813d39d597541caa542fbad84ec2d07b41760822bcf4b0d",
6
- "linux-x64": "940af00180c3534447a480aae1816b7da7f1b865cec73b4904f5a3b984737571"
4
+ "darwin-arm64": "3ee636753a530ad9db781863410043c04a180ab1f143be059be2232b8a91992b",
5
+ "darwin-x64": "d108f504e7fd2f5360fc236d46fd0342883e00572e3733a706993c45215db283",
6
+ "linux-x64": "c04df0b15bfe5e3f2f50c7a5d671b19ff28b85134e4a5688566e6ea760cdbf2a"
7
7
  }
8
8
  }