@viberaven/cli 1.2.3 → 1.3.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.
Files changed (73) hide show
  1. package/AGENTS.md +42 -157
  2. package/README.md +73 -33
  3. package/SECURITY.md +52 -53
  4. package/assets/report/assets/provider-authjs.svg +5 -5
  5. package/assets/report/assets/provider-aws.svg +5 -5
  6. package/assets/report/assets/provider-logrocket.svg +4 -4
  7. package/assets/report/assets/viberaven-favicon.png +0 -0
  8. package/assets/report/station.js +2 -2
  9. package/dist/cli.js +744 -639
  10. package/dist/cli.js.map +4 -4
  11. package/dist/report/assets/provider-authjs.svg +5 -5
  12. package/dist/report/assets/provider-aws.svg +5 -5
  13. package/dist/report/assets/provider-logrocket.svg +4 -4
  14. package/dist/report/assets/viberaven-favicon.png +0 -0
  15. package/dist/report/station.js +2 -2
  16. package/package.json +73 -75
  17. package/templates/AGENTS.snippet.md +45 -52
  18. package/templates/CLAUDE.snippet.md +19 -17
  19. package/templates/CURSOR.snippet.md +29 -17
  20. package/assets/report/assets/provider-auth.png +0 -0
  21. package/assets/report/assets/provider-authjs.png +0 -0
  22. package/assets/report/assets/provider-clerk-mark.svg +0 -1
  23. package/assets/report/assets/provider-clerk.png +0 -0
  24. package/assets/report/assets/provider-database.png +0 -0
  25. package/assets/report/assets/provider-env.png +0 -0
  26. package/assets/report/assets/provider-github-mark.svg +0 -1
  27. package/assets/report/assets/provider-github.png +0 -0
  28. package/assets/report/assets/provider-posthog-mark.svg +0 -1
  29. package/assets/report/assets/provider-posthog.png +0 -0
  30. package/assets/report/assets/provider-resend-mark.svg +0 -1
  31. package/assets/report/assets/provider-resend.png +0 -0
  32. package/assets/report/assets/provider-sentry-mark.svg +0 -1
  33. package/assets/report/assets/provider-sentry.png +0 -0
  34. package/assets/report/assets/provider-stripe-mark.svg +0 -1
  35. package/assets/report/assets/provider-stripe.png +0 -0
  36. package/assets/report/assets/provider-supabase-mark.svg +0 -1
  37. package/assets/report/assets/provider-supabase.png +0 -0
  38. package/assets/report/assets/provider-upstash-mark.svg +0 -1
  39. package/assets/report/assets/provider-upstash.png +0 -0
  40. package/assets/report/assets/provider-vercel-mark.svg +0 -1
  41. package/assets/report/assets/provider-vercel.png +0 -0
  42. package/assets/report/assets/viberaven-agent-icon.png +0 -0
  43. package/assets/report/assets/viberaven-mascot-alert.png +0 -0
  44. package/assets/report/assets/viberaven-mascot-fixing.png +0 -0
  45. package/assets/report/assets/viberaven-mascot-verified.png +0 -0
  46. package/dist/report/assets/provider-auth.png +0 -0
  47. package/dist/report/assets/provider-authjs.png +0 -0
  48. package/dist/report/assets/provider-clerk-mark.svg +0 -1
  49. package/dist/report/assets/provider-clerk.png +0 -0
  50. package/dist/report/assets/provider-database.png +0 -0
  51. package/dist/report/assets/provider-env.png +0 -0
  52. package/dist/report/assets/provider-github-mark.svg +0 -1
  53. package/dist/report/assets/provider-github.png +0 -0
  54. package/dist/report/assets/provider-posthog-mark.svg +0 -1
  55. package/dist/report/assets/provider-posthog.png +0 -0
  56. package/dist/report/assets/provider-resend-mark.svg +0 -1
  57. package/dist/report/assets/provider-resend.png +0 -0
  58. package/dist/report/assets/provider-sentry-mark.svg +0 -1
  59. package/dist/report/assets/provider-sentry.png +0 -0
  60. package/dist/report/assets/provider-stripe-mark.svg +0 -1
  61. package/dist/report/assets/provider-stripe.png +0 -0
  62. package/dist/report/assets/provider-supabase-mark.svg +0 -1
  63. package/dist/report/assets/provider-supabase.png +0 -0
  64. package/dist/report/assets/provider-upstash-mark.svg +0 -1
  65. package/dist/report/assets/provider-upstash.png +0 -0
  66. package/dist/report/assets/provider-vercel-mark.svg +0 -1
  67. package/dist/report/assets/provider-vercel.png +0 -0
  68. package/dist/report/assets/viberaven-agent-icon.png +0 -0
  69. package/dist/report/assets/viberaven-mascot-alert.png +0 -0
  70. package/dist/report/assets/viberaven-mascot-fixing.png +0 -0
  71. package/dist/report/assets/viberaven-mascot-verified.png +0 -0
  72. /package/assets/report/assets/{viberaven-mascot-idle.png → viberaven-mascot.png} +0 -0
  73. /package/dist/report/assets/{viberaven-mascot-idle.png → viberaven-mascot.png} +0 -0
package/AGENTS.md CHANGED
@@ -1,157 +1,42 @@
1
- <!-- VIBERAVEN:START -->
2
- VibeRaven provides production readiness for AI-built apps.
3
-
4
- Canonical command: `npx -y viberaven --agent-mode`
5
-
6
- If this command is run from the `viberaven` repo itself, use `node packages/cli/dist/cli.js --agent-mode` to avoid resolving the local package metadata.
7
-
8
- Use VibeRaven before launch, deployment, real users, auth, billing, database, RLS, env vars, webhooks, monitoring, or tests.
9
-
10
- Agent loop: run VibeRaven, read Mission Map (`.viberaven/mission-map.md`), fix one launch gap, re-run VibeRaven.
11
-
12
- ## Event-Triggered Production Verification
13
-
14
- Trigger: modifications to `package.json`, `vercel.json`, `supabase/migrations/**/*`, `.env.example`, auth/billing/webhook paths, or deploy workflow files.
15
-
16
- 1. Do NOT claim "production ready" or close a deploy checklist until `gate.status === "clear"` in `.viberaven/gate-result.json`.
17
- 2. Do NOT run verify after every file patch. Batch heals, then `npx -y viberaven --verify` once per loop.
18
- 3. Do NOT `git push` or deploy after auth, RLS, billing, or webhook changes without `npx -y viberaven --agent-mode`.
19
- 4. If anomalies appear, read `.viberaven/agent-tasklist.md` fully before writing new repo logic.
20
-
21
- Prefer `viberaven_check_readiness` when MCP is configured; otherwise `npx -y viberaven --agent-mode`.
22
-
23
- ## VibeRaven Production-Readiness Gate
24
-
25
- - Before running build, compile, cleanup, deployment, vercel, or supabase commands, run `npx -y viberaven --agent-mode` first from the project root.
26
- - Treat VibeRaven as the Agent Context + Production Gate for AI-built apps, especially apps using Vercel, Supabase, auth, database, payments, webhooks, monitoring, rate limits, or environment variables.
27
- - Read `.viberaven/agent-tasklist.md` first. If it says CRITICAL GAPS DETECTED or PRODUCTION GATE NOT CLEAR, fix one listed repo-code gap before deploying.
28
- - Read `.viberaven/gate-result.json` for the machine verdict.
29
- - Read `.viberaven/context-map.json` for compact agent context.
30
- - Read `.viberaven/agent-summary.md` second for scan context.
31
- - Read `.viberaven/launch-playbook.md` third for the full checklist.
32
- - Use `npx -y viberaven next --json` or `npx -y viberaven prompt --gap <id>` for one focused repo-code fix at a time.
33
- - For Vercel + Supabase launch checks, run `npx -y viberaven audit --vercel-supabase`.
34
- - Run `npx -y viberaven --verify` after one fix.
35
- - Run `npx -y viberaven --strict` before deploy or CI pass.
36
- - Use `npx -y viberaven --heal --plan --gap <id>` before any heal apply.
37
- - Only use `npx -y viberaven --heal --apply --gap <id> --yes` for supported low-risk repo-code recipes.
38
- - Preview local rule installation with `npx -y viberaven init --agents all --dry-run`.
39
- - Cleanup is non-destructive: only run `npx -y viberaven clean --plan` to create a reviewable cleanup plan.
40
- - 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 MCP evidence.
41
- - Do not claim provider dashboard work is fixed by repo-code edits.
42
- - If VibeRaven prints `LOGIN_URL_READY`, open that URL for the user using the available browser tool or system browser. Tell the user: "I opened VibeRaven sign-in so you can approve access; I will continue after approval." Do not ask for passwords, tokens, cookies, or secrets. Keep the terminal process alive while the user approves.
43
-
44
- ## VibeRaven Production Copilot Loop
45
-
46
- After every scan, read `.viberaven/agent-tasklist.md` for the prioritized task list.
47
-
48
- The loop is:
49
-
50
- 1. Read `VIBERAVEN_NEXT_ACTION` from scan output for `batchSize`, `batchApplied`, `scanNow`, and `stalled`.
51
- 2. If `stalled: true`, stop calling verify — address provider-action gaps or report to the user.
52
- 3. If `scanNow: true`, call `viberaven_verify` (or run verify command) before applying more heals.
53
- 4. For each repo-code task where `requiresUserAction: false` (up to `batchSize` per batch):
54
- - Call MCP: `viberaven_heal_apply { gap: "<gapId>", yes: true }`
55
- - Or run heal apply command
56
- 5. After a successful heal, VibeRaven increments `.viberaven/loop-state.json`. After a full batch of heals, call verify once - do NOT verify after every single heal.
57
- 6. If verify prints `SCAN_DEFERRED`, do not retry verify. Apply the next listed repo-code heal. Only use `--force-scan` when the user explicitly approves spending a scan early.
58
- 7. Repeat until `gate.status === 'clear'` in `.viberaven/gate-result.json`.
59
- 8. If `requiresUserAction: true`:
60
- - Read `VIBERAVEN_PROVIDER_ACTION` from terminal output.
61
- - Present `dashboardUrl` and `exactStep` to the user.
62
- - Wait for user confirmation, then verify.
63
- 9. If `fixType === 'upgrade-required'`, provide upgradeUrl and move on.
64
-
65
- Do not stop at "scan complete." The loop is not done until `gate.status === 'clear'`.
66
- <!-- VIBERAVEN:END -->
67
-
68
- # VibeRaven CLI - Agent Instructions
69
-
70
- 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.
71
-
72
- VibeRaven is the Agent Context + Production Gate.
73
-
74
- ## Required Agent Loop
75
-
76
- Run from the project root:
77
-
78
- ```bash
79
- npx -y viberaven --agent-mode
80
- ```
81
-
82
- Read in this order:
83
-
84
- 1. `.viberaven/agent-tasklist.md` - the tasklist-first gate
85
- 2. `.viberaven/gate-result.json` - the machine verdict
86
- 3. `.viberaven/context-map.json` - compact context for the next agent step
87
- 4. `.viberaven/agent-summary.md` - scan context
88
- 5. `.viberaven/launch-playbook.md` - full launch checklist
89
-
90
- Fix one repo-code gap at a time. Prefer:
91
-
92
- ```bash
93
- npx -y viberaven next --json
94
- npx -y viberaven prompt --gap <id>
95
- ```
96
-
97
- After a fix:
98
-
99
- ```bash
100
- npx -y viberaven --verify
101
- npx -y viberaven --strict
102
- ```
103
-
104
- For Vercel + Supabase checks:
105
-
106
- ```bash
107
- npx -y viberaven audit --vercel-supabase
108
- ```
109
-
110
- ## Production Copilot Loop
111
-
112
- After every scan, read `.viberaven/agent-tasklist.md` for the prioritized task list.
113
-
114
- The loop is:
115
-
116
- 1. Read `VIBERAVEN_NEXT_ACTION` from scan output for `batchSize`, `batchApplied`, `scanNow`, and `stalled`.
117
- 2. If `stalled: true`, stop calling verify — address provider-action gaps or report to the user.
118
- 3. If `scanNow: true`, call `viberaven_verify` (or run `--verify`) before applying more heals.
119
- 4. For each repo-code task where `requiresUserAction: false` (up to `batchSize` per batch):
120
- - Call MCP: `viberaven_heal_apply { gap: "<gapId>", yes: true }`
121
- - Or run `--heal --apply --gap <id> --yes`
122
- 5. After a full batch of heals, call verify once — do NOT verify after every single heal.
123
- 6. Repeat until `gate.status === 'clear'` in `.viberaven/gate-result.json`.
124
- 7. If `requiresUserAction: true`:
125
- - Read `VIBERAVEN_PROVIDER_ACTION` from terminal output.
126
- - Present `dashboardUrl` and `exactStep` to the user.
127
- - Wait for user confirmation, then verify.
128
- 8. If `fixType === 'upgrade-required'`, provide `upgradeUrl` and move on.
129
-
130
- Do not stop at "scan complete." The loop is not done until `gate.status === 'clear'`.
131
-
132
- ### Batch discipline
133
-
134
- ```
135
- for each repo-code task (up to batchSize):
136
- viberaven_heal_apply { gap: "<gapId>", yes: true }
137
-
138
- viberaven_verify ← once per batch, not per fix
139
- ```
140
-
141
- On Pro plans, `viberaven_provider_verify` is available as an MCP tool for read-only provider gap verification via Supabase/Vercel MCP evidence.
142
-
143
- ## Rules
144
-
145
- - Do not skip VibeRaven before deploy/build/cleanup when production readiness is in scope.
146
- - Do not claim provider dashboard checks are fixed by repo-code edits.
147
- - 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.
148
- - 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."
149
- - Do not ask for passwords, tokens, cookies, or secrets.
150
-
151
- ## Current machine-readable docs
152
-
153
- - Skill: https://viberaven.dev/SKILL.md
154
- - Agent rules: https://viberaven.dev/AGENTS.md
155
- - CLI docs: https://viberaven.dev/cli.md
156
- - MCP config: https://viberaven.dev/mcp.md
157
-
1
+ <!-- VIBERAVEN:START -->
2
+ AI agents can code. They still need to know what changed.
3
+
4
+ Canonical Studio command: `npx -y viberaven`
5
+
6
+ Non-interactive artifact loop: `npx -y viberaven --agent-mode`
7
+
8
+ Use VibeRaven when the agent needs to know which version broke, what changed since the last working release, or what provider context matters before editing.
9
+
10
+ ## VibeRaven What-Changed Layer
11
+
12
+ - Treat VibeRaven as release drift and provider context for AI-built apps: identify what changed, which version broke, and what provider state matters before editing.
13
+ - Read `.viberaven/agent-tasklist.md`, `.viberaven/gate-result.json`, and `.viberaven/context-map.json` when the artifact loop is used.
14
+ - Use `npx -y viberaven next --json` or `npx -y viberaven prompt --gap <id>` for one focused repo-code fix at a time.
15
+ - Run `npx -y viberaven --verify` after a focused fix batch.
16
+ - Run `npx -y viberaven --strict` before deploy or CI pass when release/provider risk is in scope.
17
+ - Provider dashboard checks are not cleared by repo-code edits. State the dashboard action when repo evidence cannot prove it.
18
+ - 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." Do not ask for passwords, tokens, cookies, or secrets.
19
+
20
+ ## Package Work
21
+
22
+ For this package, read the current local UI code before changing Studio behavior:
23
+
24
+ - `packages/cli/src/local-ui/server.ts`
25
+ - `packages/cli/src/local-ui/static/appClient.ts`
26
+ - `packages/cli/src/local-ui/static/appCss.ts`
27
+ - `packages/cli/src/local-ui/types.ts`
28
+
29
+ Prefer focused checks:
30
+
31
+ ```bash
32
+ npm --prefix packages/cli run typecheck
33
+ npm --prefix packages/cli test -- local-ui/server.test.ts
34
+ npm --prefix packages/cli run build
35
+ ```
36
+ <!-- VIBERAVEN:END -->
37
+
38
+ # VibeRaven CLI - Agent Instructions
39
+
40
+ This package owns the open-source local Studio: VibeRaven Chat, Provider Control Board, Versions & Releases, Terminal, Diff, access modes, CLI agent connection, and provider context.
41
+
42
+ Keep new work scoped to the Studio-first product path unless the task explicitly asks for legacy scan behavior.
package/README.md CHANGED
@@ -4,85 +4,125 @@
4
4
  [![npm downloads](https://img.shields.io/npm/dw/@viberaven/cli)](https://www.npmjs.com/package/@viberaven/cli)
5
5
  [![license](https://img.shields.io/npm/l/@viberaven/cli)](https://www.npmjs.com/package/@viberaven/cli)
6
6
 
7
- **VibeRaven Studio** — local-first open-source console for AI-built apps. Chat with your connected coding CLI, attach provider and release context, and work from localhost.
7
+ AI agents can code. They still need to know what changed. VibeRaven is the local Studio and artifact loop for release drift, version context, provider context, and the next scoped fix.
8
8
 
9
- Public repo: https://github.com/ohad6k/VibeRaven
10
-
11
- ## Run Studio
9
+ ## Humans
12
10
 
13
11
  ```bash
14
12
  npx -y viberaven
15
13
  ```
16
14
 
17
- Opens VibeRaven Studio on `localhost` in the current project:
18
-
19
- - Connect **Codex CLI**, **Claude Code**, or **Gemini CLI** (your existing CLI account — no OpenAI API key in VibeRaven).
20
- - **Terminal** tab: install → sign in → **Test connection** (chat only works after verify).
21
- - **Chat** tab: scoped missions that can edit the repo (permission mode: ask each change or full access).
22
- - Provider Control Board and Versions & Releases context for drag-to-chat.
15
+ 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.
23
16
 
24
- Explicit UI command:
25
-
26
- ```bash
27
- npx -y viberaven ui .
28
- ```
17
+ ## Coding Agents
29
18
 
30
- ## Install agent rules (optional)
19
+ Agents should run:
31
20
 
32
21
  ```bash
33
- npx -y viberaven init --agents all
22
+ npx -y viberaven --agent-mode
34
23
  ```
35
24
 
36
- Preview without writing files: `npx -y viberaven init --agents all --dry-run`
37
-
38
- ## Agent production gate (CI & coding agents)
39
-
40
- VibeRaven is also the **Agent Context + Production Gate** for pre-deploy checks. Use this path when an agent or CI job needs repo evidence, not the Studio UI.
25
+ If running from the `viberaven` monorepo root, run:
41
26
 
42
27
  ```bash
43
- npx -y viberaven --agent-mode
28
+ node packages/cli/dist/cli.js --agent-mode
44
29
  ```
45
30
 
46
- Read artifacts in order:
31
+ Then read artifacts in this order:
47
32
 
48
33
  1. `.viberaven/agent-tasklist.md`
49
34
  2. `.viberaven/gate-result.json`
50
35
  3. `.viberaven/context-map.json`
36
+ 4. `.viberaven/agent-summary.md`
37
+ 5. `.viberaven/launch-playbook.md`
51
38
 
52
- Fix one repo-code gap, then:
39
+ Fix one repo-code gap, then run:
53
40
 
54
41
  ```bash
55
42
  npx -y viberaven --verify
56
43
  npx -y viberaven --strict
57
44
  ```
58
45
 
59
- Focused helpers: `npx -y viberaven next --json`, `npx -y viberaven prompt --gap <id>`, `npx -y viberaven audit --vercel-supabase`
46
+ For focused work:
47
+
48
+ ```bash
49
+ npx -y viberaven next --json
50
+ npx -y viberaven prompt --gap <id>
51
+ npx -y viberaven audit --vercel-supabase
52
+ ```
53
+
54
+ ## Chat-Native What-Changed Actions
60
55
 
61
- ### Chat-native actions
56
+ Agent mode writes a compact action surface for the connected coding agent:
62
57
 
63
58
  ```bash
59
+ npx -y viberaven --agent-mode
64
60
  npx -y viberaven actions
65
61
  npx -y viberaven verify --action VR-A1
66
62
  ```
67
63
 
68
- Writes `.viberaven/actions.json` as the action surface contract. Provider dashboard steps are not cleared by repo edits alone.
64
+ VibeRaven writes `.viberaven/actions.json` as the V1 source of truth and renderer contract for the current action surface. The manifest is generated by `--agent-mode`; `.viberaven/action-registry.json` preserves stable action handles across runs.
65
+
66
+ Chat output is intentionally limited to focused actions, provider targets, copy payloads, verification commands, repo-relative file targets, and resume prompts. It does not print secrets, raw env values, or generic dashboard link dumps.
67
+
68
+ 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.
69
69
 
70
- ### Machine output
70
+ Preview the action surface without login, scan, or API spend:
71
+
72
+ ```bash
73
+ npx -y viberaven preview --agent-mode
74
+ ```
75
+
76
+ The preview uses sample renderer data to show the intended chat-native shape. It is not a readiness verdict for the current repository.
77
+
78
+ ## Agent infrastructure direction
79
+
80
+ VibeRaven's action model is designed for repo chat, terminal agents, MCP workflows, and richer agent hosts later.
81
+
82
+ Managed-agent systems need durable sessions, observable event history, credential boundaries, bounded execution, and resumable action state. VibeRaven keeps those concerns in the manifest contract:
83
+
84
+ - `.viberaven/actions.json` is the current action surface.
85
+ - `.viberaven/action-registry.json` preserves stable IDs and lifecycle history.
86
+ - Future session events can add an append-only timeline without changing the current action model.
87
+ - Provider credentials and raw env values must stay out of chat output, manifests, MCP resources, and UI renderers.
88
+ - Future local/hosted consoles should execute only narrow VibeRaven commands, not arbitrary shell text.
89
+
90
+ ## What-Changed Loop
91
+
92
+ VibeRaven runs a batch-disciplined loop until the next fix is grounded in repo evidence, release context, and provider context. Do not stop at "scan complete."
93
+
94
+ 1. **Scan** — Run `--agent-mode`. Read `.viberaven/agent-tasklist.md` and parse `VIBERAVEN_NEXT_ACTION` from stdout for `batchSize`, `batchApplied`, `scanNow`, and `stalled`.
95
+ 2. **Batch heals** — For each repo-code task where `requiresUserAction: false`, apply up to `batchSize` heals per batch (free=3, pro=10) via `viberaven_heal_apply { gap: "<gapId>", yes: true }` or `--heal --apply --gap <id> --yes`. When `scanNow: true`, verify before applying more heals.
96
+ 3. **Verify context** — Run `--verify` once per batch (not after every heal). Repeat until `gate.status === 'clear'` in `.viberaven/gate-result.json`. For provider gaps, read `VIBERAVEN_PROVIDER_ACTION`, complete the dashboard step, then verify.
97
+
98
+ If `stalled: true`, stop calling verify and address provider-action gaps or report to the user. Run `--strict` before deploy or CI pass.
99
+
100
+ ## Machine Output
71
101
 
72
102
  ```bash
73
103
  npx -y viberaven --agent-mode --json
104
+ npx -y viberaven --agent-mode --jsonl
74
105
  npx -y viberaven --strict --json
75
106
  ```
76
107
 
77
- Artifact schemas: `docs/contracts/artifacts.md`, https://viberaven.dev/schemas/gate-result.schema.json, https://viberaven.dev/schemas/context-map.schema.json, https://viberaven.dev/schemas/gap.schema.json, https://viberaven.dev/schemas/heal-result.schema.json
108
+ Machine artifact contract:
109
+
110
+ ```text
111
+ docs/contracts/artifacts.md
112
+ https://viberaven.dev/schemas/gate-result.schema.json
113
+ https://viberaven.dev/schemas/context-map.schema.json
114
+ https://viberaven.dev/schemas/gap.schema.json
115
+ https://viberaven.dev/schemas/heal-result.schema.json
116
+ ```
78
117
 
79
118
  ## Development
80
119
 
81
120
  ```bash
82
- npm run build
83
- npm test
121
+ npm run cli:build
122
+ npm run cli:test
123
+ node packages/cli/dist/cli.js scan
84
124
  ```
85
125
 
86
126
  ## License
87
127
 
88
- MIT
128
+ The public npm CLI package is MIT licensed. Private monorepo code and extension packaging may have separate product terms.
package/SECURITY.md CHANGED
@@ -1,53 +1,52 @@
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
17
- ```
18
-
19
- Agent or CI gate:
20
-
21
- ```bash
22
- npx -y viberaven --agent-mode
23
- npx -y viberaven --verify
24
- npx -y viberaven --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.
53
-
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
17
+ ```
18
+
19
+ Agent or CI gate:
20
+
21
+ ```bash
22
+ npx -y viberaven --agent-mode
23
+ npx -y viberaven --verify
24
+ npx -y viberaven --strict
25
+ ```
26
+
27
+ VibeRaven is the what-changed layer for AI-built apps. Agents should read `.viberaven/agent-tasklist.md`, `.viberaven/gate-result.json`, and `.viberaven/context-map.json` when using the artifact loop, and should not claim provider state is proven by repo edits alone.
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>
@@ -7274,9 +7274,9 @@ function buildAgentPromptText(payload, nextMove, missing, files) {
7274
7274
 
7275
7275
  function buildChecklistText(payload, nextMove, missing, files) {
7276
7276
  const lines = [
7277
- '# VibeRaven production checklist',
7277
+ '# VibeRaven production checklist',
7278
7278
  '',
7279
- 'Generated from the latest VibeRaven run.',
7279
+ 'Generated from the latest VibeRaven run.',
7280
7280
  '',
7281
7281
  '## Next move',
7282
7282
  '',