@viberaven/cli 0.1.0-beta.6 → 1.0.0

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/AGENTS.md CHANGED
@@ -1,106 +1,49 @@
1
- # VibeRaven CLI agent instructions
2
-
3
-
4
-
5
- Use this when the user asks whether their app is **production-ready**, **launch-ready**, what they are **missing before ship**, or how to improve **auth / database / payments / deployment** on an AI-built project.
6
-
7
-
8
-
9
- ## Humans (interactive menu)
10
-
11
-
12
-
13
- ```bash
14
-
15
- npx -y @viberaven/cli@beta
16
-
17
- # or: viberaven tui
18
-
19
- ```
20
-
21
-
22
-
23
- No subcommand needed opens an interactive menu for scan, gaps, prompts, and sign-in.
24
-
25
-
26
-
27
- ## Run (agents you run this, not the user)
28
-
29
-
30
-
31
- ```bash
32
-
33
- npx -y @viberaven/cli@beta scan
34
-
35
- ```
36
-
37
-
38
-
39
- If not signed in:
40
-
41
-
42
-
43
- ```bash
44
-
45
- npx -y @viberaven/cli@beta login
46
-
47
- ```
48
-
49
-
50
-
51
- Then scan again. Agents should use `scan` without `--open`; open the report only when the user wants the browser map.
52
-
53
- If scan output says `LOGIN_REQUIRED`, stop and ask the user to complete:
54
-
55
- ```bash
56
- npx -y @viberaven/cli@beta login
57
- ```
58
-
59
- Then rerun:
60
-
61
- ```bash
62
- npx -y @viberaven/cli@beta scan
63
- ```
64
-
65
-
66
-
67
- ## Read
68
-
69
-
70
-
71
- 1. `.viberaven/agent-summary.md` — short briefing and top gaps
72
-
73
- 2. `.viberaven/last-scan.json` — full mission map, providers, checks
74
-
75
- 3. `.viberaven/report.html` — visual map for the user (human menu or `--open`)
76
-
77
-
78
-
79
- ## Fix loop
80
-
81
-
82
-
83
- 1. `npx -y @viberaven/cli@beta prompt` — stdout = copy-ready prompt for the top gap
84
-
85
- Or: `viberaven prompt --gap <id>` / `--area database` / `--provider supabase`
86
-
87
- 2. Implement the change in the repo.
88
-
89
- 3. `npx -y @viberaven/cli@beta scan` — verify production core % and gap count improved.
90
-
91
- 4. Tell the user to review `.viberaven/report.html` for the provider map.
92
-
93
-
94
-
95
- ## Rules
96
-
97
-
98
-
99
- - Do not skip the scan — VibeRaven uses repo evidence plus managed analysis, not generic checklists.
100
-
101
- - Prefer fixing **critical** gaps first unless the user names an area.
102
-
103
- - Do not claim external dashboard setup is done unless checks pass or the user confirmed manually.
104
-
105
- - Do not claim human-provider actions as repo-code fixes. Human-provider actions include dashboard setup, billing/product configuration, DNS, webhooks, provider credentials, quota upgrades, and read-only MCP/provider-live verification.
106
-
1
+ # VibeRaven CLI - Agent Instructions
2
+
3
+ Use VibeRaven when the user asks whether an app is production-ready, launch-ready, safe to deploy, or missing auth, database, payments, deployment, monitoring, security, provider setup, Vercel, or Supabase checks.
4
+
5
+ VibeRaven is the Agent Context + Production Gate.
6
+
7
+ ## Required Agent Loop
8
+
9
+ Run from the project root:
10
+
11
+ ```bash
12
+ npx -y @viberaven/cli --agent-mode
13
+ ```
14
+
15
+ Read in this order:
16
+
17
+ 1. `.viberaven/agent-tasklist.md` - the tasklist-first gate
18
+ 2. `.viberaven/gate-result.json` - the machine verdict
19
+ 3. `.viberaven/context-map.json` - compact context for the next agent step
20
+ 4. `.viberaven/agent-summary.md` - scan context
21
+ 5. `.viberaven/launch-playbook.md` - full launch checklist
22
+
23
+ Fix one repo-code gap at a time. Prefer:
24
+
25
+ ```bash
26
+ npx -y @viberaven/cli next --json
27
+ npx -y @viberaven/cli prompt --gap <id>
28
+ ```
29
+
30
+ After a fix:
31
+
32
+ ```bash
33
+ npx -y @viberaven/cli --verify
34
+ npx -y @viberaven/cli --strict
35
+ ```
36
+
37
+ For Vercel + Supabase checks:
38
+
39
+ ```bash
40
+ npx -y @viberaven/cli audit --vercel-supabase
41
+ ```
42
+
43
+ ## Rules
44
+
45
+ - Do not skip VibeRaven before deploy/build/cleanup when production readiness is in scope.
46
+ - Do not claim provider dashboard checks are fixed by repo-code edits.
47
+ - Provider dashboard checks, billing/product configuration, DNS, webhooks, credentials, quotas, and live provider verification must be completed or verified in the provider dashboard or through read-only provider evidence.
48
+ - If VibeRaven prints `LOGIN_URL_READY`, open that URL for the user. Say: "I opened VibeRaven sign-in so you can approve access; I will continue after approval."
49
+ - Do not ask for passwords, tokens, cookies, or secrets.
package/README.md CHANGED
@@ -1,85 +1,70 @@
1
- # @viberaven/cli
2
-
3
- Launch readiness for Claude Code, Codex, and other coding agents same mission map and provider intelligence as VibeRaven Station.
4
-
5
- ## For humans
6
-
7
- ```bash
8
- npx -y @viberaven/cli@beta login
9
- npx -y @viberaven/cli@beta scan --open
10
- ```
11
-
12
- Sign in once, then scan with `--open` to view `.viberaven/report.html` in the browser (same editorial Mission Map skin as the extension). Or run **`viberaven`** with no args for the interactive terminal menu.
13
-
14
- Uses the **same VibeRaven account and scan quota** as the VS Code extension. **Does not use your `OPENAI_API_KEY`** — scans go through the managed API after login. See [SECURITY.md](./SECURITY.md).
15
-
16
- ## For coding agents
17
-
18
- Use VibeRaven when the user asks whether an AI-built app is launch-ready, production-ready, or missing auth/database/payments/deployment/security work.
19
-
20
- ```bash
21
- npx -y @viberaven/cli@beta scan
22
- ```
23
-
24
- If output includes `LOGIN_REQUIRED`, ask the user to run:
25
-
26
- ```bash
27
- npx -y @viberaven/cli@beta login
28
- ```
29
-
30
- After login, run scan. Read `.viberaven/agent-summary.md` and `.viberaven/launch-playbook.md`. Loop:
31
-
32
- 1. `viberaven next --json`
33
- 2. Repo fix → `viberaven prompt --gap <id>` → implement → `viberaven report` (free) or `scan`
34
- 3. Provider → `viberaven guide <provider>` and `viberaven open <provider>`
35
- 4. Repeat until done; check `viberaven status --json` before each new scan
36
-
37
- Do not claim dashboard, billing, DNS, webhook, MCP, or provider-live actions as repo-code fixes. Tell the user when `.viberaven/report.html` has manual provider actions to review.
38
-
39
- See [AGENTS.md](./AGENTS.md). Paste [templates/AGENTS.snippet.md](./templates/AGENTS.snippet.md) into your repo's `AGENTS.md`.
40
-
41
- ## Artifacts
42
-
43
- | File | Purpose |
44
- |------|---------|
45
- | `.viberaven/last-scan.json` | Full scan payload |
46
- | `.viberaven/agent-summary.md` | Short briefing + next action for agents |
47
- | `.viberaven/launch-playbook.md` | Ordered launch checklist |
48
- | `.viberaven/report.html` | Visual mission map + `report/station.css` (extension editorial UI) |
49
-
50
- ## Switch providers (matches the extension map)
51
-
52
- The report shows a provider switch per production area (database, auth, payments, deployment, monitoring, security). Picking one copies a command:
53
-
54
- ```bash
55
- viberaven stack set database neon && viberaven scan --open
56
- ```
57
-
58
- You can also set it directly:
59
-
60
- ```bash
61
- viberaven stack set auth clerk # persists to .viberaven/stack.json
62
- viberaven stack list
63
- viberaven stack clear # remove all overrides
64
- ```
65
-
66
- The next `scan` re-maps that area using your chosen provider.
67
-
68
- ## Development
69
-
70
- From repo root:
71
-
72
- ```bash
73
- npm run cli:build
74
- npm run cli:test
75
- node packages/cli/dist/cli.js scan
76
- ```
77
-
78
- Inside `packages/cli`:
79
-
80
- ```bash
81
- npm run typecheck # tsc against the shared station engine
82
- npm run demo-report # render a sample report.html and open it
83
- ```
84
-
85
- The report reuses the Station Mission Map visual language (`src/report/reportStyles.ts`) for parity with the extension.
1
+ # @viberaven/cli
2
+
3
+ VibeRaven is the Agent Context + Production Gate for AI-built apps. It gives Claude Code, Codex, Cursor, and other coding agents a production-readiness loop before Vercel/Supabase deployment.
4
+
5
+ ## Humans
6
+
7
+ ```bash
8
+ npx -y @viberaven/cli
9
+ ```
10
+
11
+ No subcommand is needed in a real terminal. It opens the interactive menu for sign-in, scan, report, provider guides, dashboards, prompts, and sign-out.
12
+
13
+ ## Coding Agents
14
+
15
+ Agents should run:
16
+
17
+ ```bash
18
+ npx -y @viberaven/cli --agent-mode
19
+ ```
20
+
21
+ Then read artifacts in this order:
22
+
23
+ 1. `.viberaven/agent-tasklist.md`
24
+ 2. `.viberaven/gate-result.json`
25
+ 3. `.viberaven/context-map.json`
26
+ 4. `.viberaven/agent-summary.md`
27
+ 5. `.viberaven/launch-playbook.md`
28
+
29
+ Fix one repo-code gap, then run:
30
+
31
+ ```bash
32
+ npx -y @viberaven/cli --verify
33
+ npx -y @viberaven/cli --strict
34
+ ```
35
+
36
+ For focused work:
37
+
38
+ ```bash
39
+ npx -y @viberaven/cli next --json
40
+ npx -y @viberaven/cli prompt --gap <id>
41
+ npx -y @viberaven/cli audit --vercel-supabase
42
+ ```
43
+
44
+ Provider dashboard checks are not cleared by repo-code edits. Billing/product configuration, DNS, webhooks, credentials, quotas, and live provider verification must be completed or verified in the provider dashboard or through read-only provider evidence.
45
+
46
+ ## Machine Output
47
+
48
+ ```bash
49
+ npx -y @viberaven/cli --agent-mode --json
50
+ npx -y @viberaven/cli --agent-mode --jsonl
51
+ npx -y @viberaven/cli --strict --json
52
+ ```
53
+
54
+ Machine artifact contract:
55
+
56
+ ```text
57
+ docs/contracts/artifacts.md
58
+ https://viberaven.dev/schemas/gate-result.schema.json
59
+ https://viberaven.dev/schemas/context-map.schema.json
60
+ https://viberaven.dev/schemas/gap.schema.json
61
+ https://viberaven.dev/schemas/heal-result.schema.json
62
+ ```
63
+
64
+ ## Development
65
+
66
+ ```bash
67
+ npm run cli:build
68
+ npm run cli:test
69
+ node packages/cli/dist/cli.js scan
70
+ ```
package/SECURITY.md CHANGED
@@ -1,36 +1,52 @@
1
- # Security `@viberaven/cli`
2
-
3
- ## Your OpenAI key stays on your machine (extension only)
4
-
5
- The **npm CLI does not read `OPENAI_API_KEY`** and does not accept a bring-your-own-key scan path. Scans use the **VibeRaven managed API** after device login (`viberaven login`), same as the signed-in VS Code extension.
6
-
7
- - API keys for model calls live on the **server**, not in the published npm package.
8
- - Local credentials store only a **VibeRaven access token** in `%APPDATA%\viberaven\credentials.json` (or `~/.config/viberaven/`).
9
- - Never commit `credentials.json` or paste tokens into chat.
10
-
11
- ## What gets written to your repo
12
-
13
- After `viberaven scan`, the CLI may create:
14
-
15
- | Path | Contents |
16
- |------|----------|
17
- | `.viberaven/last-scan.json` | Mission map + gaps (secrets redacted before write) |
18
- | `.viberaven/agent-summary.md` | Agent briefing |
19
- | `.viberaven/report.html` | Local HTML report + `report/station.css` |
20
-
21
- Repo scanners already redact common key patterns in evidence strings; the CLI runs an extra redaction pass before writing files.
22
-
23
- ## Safe `npx` usage
24
-
25
- ```bash
26
- npx -y @viberaven/cli@beta login
27
- npx -y @viberaven/cli@beta scan
28
- ```
29
-
30
- - Use official package name `@viberaven/cli` from npm.
31
- - Do not set `OPENAI_API_KEY` for CLI scans — it is ignored by design.
32
- - Add `.viberaven/` to `.gitignore` if you do not want scan output in git (optional; files should not contain raw keys after redaction).
33
-
34
- ## Reporting issues
35
-
36
- If you believe a scan artifact leaked a secret, rotate the key immediately and open an issue at https://github.com/ohad6k/VibeRaven/issues with the redacted file path only (not the secret).
1
+ # Security - `@viberaven/cli`
2
+
3
+ ## Managed Scan Boundary
4
+
5
+ The npm CLI does not read `OPENAI_API_KEY` and does not accept a bring-your-own-key scan path. Scans use the VibeRaven managed API after device login, same as the signed-in VS Code extension.
6
+
7
+ - API keys for model calls live on the server, not in the published npm package.
8
+ - Local credentials store only a VibeRaven access token in `%APPDATA%\viberaven\credentials.json` or `~/.config/viberaven/`.
9
+ - Never commit `credentials.json` or paste tokens into chat.
10
+
11
+ ## Safe Commands
12
+
13
+ Human terminal:
14
+
15
+ ```bash
16
+ npx -y @viberaven/cli
17
+ ```
18
+
19
+ Agent or CI gate:
20
+
21
+ ```bash
22
+ npx -y @viberaven/cli --agent-mode
23
+ npx -y @viberaven/cli --verify
24
+ npx -y @viberaven/cli --strict
25
+ ```
26
+
27
+ VibeRaven is the Agent Context + Production Gate. Agents should read `.viberaven/agent-tasklist.md`, `.viberaven/gate-result.json`, and `.viberaven/context-map.json` before claiming an app is safe to deploy.
28
+
29
+ ## Written Artifacts
30
+
31
+ After a scan, the CLI may create:
32
+
33
+ | Path | Contents |
34
+ |------|----------|
35
+ | `.viberaven/last-scan.json` | Full scan payload |
36
+ | `.viberaven/agent-tasklist.md` | Agent tasklist |
37
+ | `.viberaven/gate-result.json` | Machine gate verdict |
38
+ | `.viberaven/context-map.json` | Compact agent context |
39
+ | `.viberaven/gaps/<gapId>.json` | Per-gap evidence |
40
+ | `.viberaven/agent-summary.md` | Human/agent summary |
41
+ | `.viberaven/launch-playbook.md` | Launch checklist |
42
+ | `.viberaven/report.html` | Local HTML report |
43
+
44
+ Repo scanners redact common key patterns in evidence strings; the CLI runs an extra redaction pass before writing files.
45
+
46
+ ## Provider Boundaries
47
+
48
+ Provider dashboard checks are not cleared by repo-code edits. Billing/product configuration, DNS, webhooks, credentials, quotas, and live provider verification must be completed or verified in the provider dashboard or through read-only provider evidence.
49
+
50
+ ## Reporting Issues
51
+
52
+ If you believe a scan artifact leaked a secret, rotate the key immediately and open an issue at https://github.com/ohad6k/VibeRaven/issues with the redacted file path only.
@@ -1,5 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true">
2
- <path fill="#412991" d="M32 5 11 16.8v13.7c0 12.2 8.9 23.3 21 27 12.1-3.7 21-14.8 21-27V16.8L32 5Z"/>
3
- <path fill="#EB5424" d="M32 5v48.7c-3.1-1.1-6.1-2.7-8.7-4.7L32 5Z"/>
4
- <path fill="#FBC22C" d="m32 5 8.7 44c-2.6 2-5.6 3.6-8.7 4.7V5Z"/>
5
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true">
2
+ <path fill="#412991" d="M32 5 11 16.8v13.7c0 12.2 8.9 23.3 21 27 12.1-3.7 21-14.8 21-27V16.8L32 5Z"/>
3
+ <path fill="#EB5424" d="M32 5v48.7c-3.1-1.1-6.1-2.7-8.7-4.7L32 5Z"/>
4
+ <path fill="#FBC22C" d="m32 5 8.7 44c-2.6 2-5.6 3.6-8.7 4.7V5Z"/>
5
+ </svg>
@@ -1,5 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 64" aria-hidden="true">
2
- <text x="48" y="31" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="21" font-weight="800" letter-spacing="-1.4" fill="#111827">AWS</text>
3
- <path fill="#FF9900" d="M23.6 42.4c13.9 7.5 31.5 7.5 45.1-.1 1.1-.6 2.2.8 1.3 1.7-12.3 12.5-34.3 12.6-47.2.8-.9-.8-.3-2.9.8-2.4Z"/>
4
- <path fill="#FF9900" d="M66.8 39.8c2.4-.3 7.8-.8 8.8 1 .9 1.6-1 5.8-2.5 8.2-.5.8-1.7.4-1.5-.6.5-2.1 1.3-4.8.5-5.8-.8-1-3.8-.8-5.4-.6-1 .1-1.2-2-.1-2.2h.2Z"/>
5
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 64" aria-hidden="true">
2
+ <text x="48" y="31" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="21" font-weight="800" letter-spacing="-1.4" fill="#111827">AWS</text>
3
+ <path fill="#FF9900" d="M23.6 42.4c13.9 7.5 31.5 7.5 45.1-.1 1.1-.6 2.2.8 1.3 1.7-12.3 12.5-34.3 12.6-47.2.8-.9-.8-.3-2.9.8-2.4Z"/>
4
+ <path fill="#FF9900" d="M66.8 39.8c2.4-.3 7.8-.8 8.8 1 .9 1.6-1 5.8-2.5 8.2-.5.8-1.7.4-1.5-.6.5-2.1 1.3-4.8.5-5.8-.8-1-3.8-.8-5.4-.6-1 .1-1.2-2-.1-2.2h.2Z"/>
5
+ </svg>
@@ -1,4 +1,4 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true">
2
- <path fill="#764ABC" fill-rule="evenodd" clip-rule="evenodd" d="M26.8 12.9A20.8 20.8 0 0 1 32.3 7a20.5 20.5 0 0 1 5.5 5.8 29.3 29.3 0 0 1 5.1 17.1c1.1.9 2.3 1.8 3.4 2.7a6.2 6.2 0 0 1 2 5.7c-.5 2.6-1.1 5.2-1.6 7.8a2.2 2.2 0 0 1-3.3 1.1c-1.8-1.5-3.6-3-5.4-4.5a8.4 8.4 0 0 1-5.2 2.3 8.5 8.5 0 0 1-6.1-2.2c-1.3 1-2.5 2.1-3.8 3.2-.6.6-1.2 1-1.9 1.4a2.2 2.2 0 0 1-2.9-1.4c-.6-2.5-1.2-5.1-1.8-7.6a6.3 6.3 0 0 1 2.1-6c1-.8 2-1.6 3-2.3.3-.2.1-.5.2-.7a29.3 29.3 0 0 1 5.2-16.5Zm2.2 8.2a4.3 4.3 0 0 0 .4 5.8 4.8 4.8 0 0 0 6.5.1 4.3 4.3 0 0 0 1.1-4.8 4.4 4.4 0 0 0-3.9-2.9 4.5 4.5 0 0 0-4.1 1.8Zm3.3 4.9a2.1 2.1 0 1 0 0-4.2 2.1 2.1 0 0 0 0 4.2Z"/>
3
- <path fill="#764ABC" d="M26.4 48.1a1.1 1.1 0 0 1 1.6-.9 10.4 10.4 0 0 0 9 0 1.1 1.1 0 0 1 1.6.8v4.8a1.1 1.1 0 0 1-1.7.8c-.5-.4-.9-.9-1.4-1.3-.7 1.4-1.4 2.8-2.1 4.1a1.1 1.1 0 0 1-1.8 0c-.8-1.4-1.4-2.8-2.2-4.1-.4.4-.9.9-1.3 1.3a1.1 1.1 0 0 1-1.7-.8v-4.7Z"/>
4
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" aria-hidden="true">
2
+ <path fill="#764ABC" fill-rule="evenodd" clip-rule="evenodd" d="M26.8 12.9A20.8 20.8 0 0 1 32.3 7a20.5 20.5 0 0 1 5.5 5.8 29.3 29.3 0 0 1 5.1 17.1c1.1.9 2.3 1.8 3.4 2.7a6.2 6.2 0 0 1 2 5.7c-.5 2.6-1.1 5.2-1.6 7.8a2.2 2.2 0 0 1-3.3 1.1c-1.8-1.5-3.6-3-5.4-4.5a8.4 8.4 0 0 1-5.2 2.3 8.5 8.5 0 0 1-6.1-2.2c-1.3 1-2.5 2.1-3.8 3.2-.6.6-1.2 1-1.9 1.4a2.2 2.2 0 0 1-2.9-1.4c-.6-2.5-1.2-5.1-1.8-7.6a6.3 6.3 0 0 1 2.1-6c1-.8 2-1.6 3-2.3.3-.2.1-.5.2-.7a29.3 29.3 0 0 1 5.2-16.5Zm2.2 8.2a4.3 4.3 0 0 0 .4 5.8 4.8 4.8 0 0 0 6.5.1 4.3 4.3 0 0 0 1.1-4.8 4.4 4.4 0 0 0-3.9-2.9 4.5 4.5 0 0 0-4.1 1.8Zm3.3 4.9a2.1 2.1 0 1 0 0-4.2 2.1 2.1 0 0 0 0 4.2Z"/>
3
+ <path fill="#764ABC" d="M26.4 48.1a1.1 1.1 0 0 1 1.6-.9 10.4 10.4 0 0 0 9 0 1.1 1.1 0 0 1 1.6.8v4.8a1.1 1.1 0 0 1-1.7.8c-.5-.4-.9-.9-1.4-1.3-.7 1.4-1.4 2.8-2.1 4.1a1.1 1.1 0 0 1-1.8 0c-.8-1.4-1.4-2.8-2.2-4.1-.4.4-.9.9-1.3 1.3a1.1 1.1 0 0 1-1.7-.8v-4.7Z"/>
4
+ </svg>