@viberaven/cli 1.6.11 → 1.7.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,15 +1,15 @@
1
1
  <!-- VIBERAVEN:START -->
2
2
  VibeRaven reads a repository and lists launch gaps for AI-built apps that deploy on Vercel and use Supabase. It runs fully locally: no login, no API key, no telemetry.
3
3
 
4
- Canonical agent command: `npx -y viberaven --agent-mode`
4
+ Canonical agent command: `npx -y viberaven check`
5
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.
6
+ If this command is run from the `viberaven` repo itself, use `node packages/cli/dist/cli.js check` to avoid resolving the local package metadata.
7
7
 
8
8
  Suggest one pass before a Vercel + Supabase app launches or is handed off, after a Supabase migration or policy change, or when the user reports a production error about RLS, env vars, the database connection, the service role key or a Stripe webhook. It is not needed for apps that do not use Vercel and Supabase, for general SQL or deployment questions, or for one local error.
9
9
 
10
10
  This is advice, not a gate: the user decides when to ship. It is a repository check, not a live database test: it cannot show which RLS policies are live in production, and a clear result is not a security audit.
11
11
 
12
- Prefer `viberaven_check_readiness` when the VibeRaven MCP server is configured; otherwise `npx -y viberaven --agent-mode`.
12
+ Prefer `viberaven_check_readiness` when the VibeRaven MCP server is configured; otherwise `npx -y viberaven check`.
13
13
  <!-- VIBERAVEN:END -->
14
14
 
15
15
  # VibeRaven CLI: agent instructions
@@ -19,7 +19,7 @@ Prefer `viberaven_check_readiness` when the VibeRaven MCP server is configured;
19
19
  From the project root:
20
20
 
21
21
  ```bash
22
- npx -y viberaven --agent-mode
22
+ npx -y viberaven check
23
23
  ```
24
24
 
25
25
  It writes, in `.viberaven/`:
@@ -32,7 +32,7 @@ It writes, in `.viberaven/`:
32
32
 
33
33
  ## Work the gaps
34
34
 
35
- The run prints a block between `VIBERAVEN_NEXT_ACTION_START` and `VIBERAVEN_NEXT_ACTION_END` with `batchSize`, `batchApplied`, `remainingInBatch`, `scanNow`, `stalled`, `type` (`repo-code`, `provider-action`, `verify`, `stalled` or `done`), `gapId` and `requiresUserAction`.
35
+ Read the task list for each gap's fix route and whether user action is required. For legacy batch-loop integrations, the optional `--agent-mode` output also prints a block between `VIBERAVEN_NEXT_ACTION_START` and `VIBERAVEN_NEXT_ACTION_END` with `batchSize`, `batchApplied`, `remainingInBatch`, `scanNow`, `stalled`, `type` (`repo-code`, `provider-action`, `verify`, `stalled` or `done`), `gapId` and `requiresUserAction`.
36
36
 
37
37
  1. For a repo-code task with `requiresUserAction: false` that lists an MCP call, call `viberaven_heal_apply { gap: "<gapId>", yes: true }` or run `npx -y viberaven fix --gap <gapId>`. Preview first with `npx -y viberaven fix --gap <gapId> --dry-run` or `viberaven_heal_plan`.
38
38
  2. For a repo-code task without an MCP call, patch it directly with `npx -y viberaven prompt --gap <gapId>` as guidance. Make minimal, targeted changes and do not refactor unrelated files.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @viberaven/cli
2
2
 
3
- A successful deploy does not show whether one user can read another user's rows. VibeRaven reads an AI-built Vercel + Supabase app's repository for missing row level security (RLS), permissive policies and other launch gaps, then writes findings and tasks a coding agent can work through.
3
+ VibeRaven checks AI-built apps on Vercel + Supabase for launch gaps before you ship: tables without RLS, permissive policies such as `using (true)`, service_role keys in client code, anon-callable security definer functions, the wrong pooler port and unverified Stripe webhooks. It reads the repository on your machine, then writes findings and tasks a coding agent can work through.
4
4
 
5
5
  Use a pass before launch or client handoff, after a migration or policy change, or when investigating a production RLS, environment, database connection, service-role or Stripe webhook failure.
6
6
 
@@ -10,27 +10,27 @@ Requires Node.js 20 or newer. Run from the app's project root:
10
10
 
11
11
  ```bash
12
12
  # Open the local Studio
13
- npx -y viberaven@1.6.11
13
+ npx -y viberaven@1.6.12
14
14
 
15
15
  # Fresh terminal check
16
- npx -y viberaven@1.6.11 check
16
+ npx -y viberaven@1.6.12 check
17
17
  ```
18
18
 
19
19
  The `viberaven` package launches this CLI. Studio combines findings, provider context and git comparisons. For chat, select an installed/authenticated Codex CLI, Claude Code or Gemini CLI and use **Test connection**. Access modes: `ask`, `approve`, `full`. Stop Studio with Ctrl+C.
20
20
 
21
21
  ## Repository Evidence And Tasks
22
22
 
23
- Checks include migration tables without RLS, unrestricted policy conditions such as `USING (true)`, browser-exposed service-role keys, environment names missing from `.env.example` or similar templates, and Stripe handlers without raw-body signature verification.
23
+ Checks include migration tables without RLS (Supabase lint `rls_disabled_in_public`), unrestricted policy conditions such as `USING (true)`, browser-exposed service-role keys, security definer functions that no migration closes to `anon` (lint `anon_security_definer_function_executable`), a direct 5432 database URL instead of the 6543 pooler, environment names missing from `.env.example` or similar templates, and Stripe handlers without raw-body signature verification. Each gap is listed in the [GitHub README](https://github.com/ohad6k/VibeRaven#what-it-checks).
24
24
 
25
25
  `check` refreshes `.viberaven/agent-tasklist.md` (tasks and source locations), `gate-result.json` (full verdict), `context-map.json` (agent context) and `gaps/<gapId>.json` without patching app source.
26
26
 
27
27
  `check --json` prints a findings summary and artifact paths. `--json` without `check` runs a fresh scan and prints the full gate object.
28
28
 
29
29
  ```bash
30
- npx -y viberaven@1.6.11 check --json
31
- npx -y viberaven@1.6.11 audit --vercel-supabase --json
32
- npx -y viberaven@1.6.11 fix --gap <gapId> --dry-run
33
- npx -y viberaven@1.6.11 init --agents all --dry-run
30
+ npx -y viberaven@1.6.12 check --json
31
+ npx -y viberaven@1.6.12 audit --vercel-supabase --json
32
+ npx -y viberaven@1.6.12 fix --gap <gapId> --dry-run
33
+ npx -y viberaven@1.6.12 init --agents all --dry-run
34
34
  ```
35
35
 
36
36
  Read tasks and source before targeted edits. Preview fixes first. The `rls_disabled` recipe adds an RLS migration without policies: agree before applying, because browser roles lose row access until policies exist. Apply/test through your database workflow; recheck after a batch. Provider actions require provider evidence.
@@ -41,9 +41,9 @@ Read tasks and source before targeted edits. Preview fixes first. The `rls_disab
41
41
 
42
42
  ```bash
43
43
  # Fail on blockers
44
- npx -y viberaven@1.6.11 --strict --json
44
+ npx -y viberaven@1.6.12 --strict --json
45
45
  # Also fail on warnings
46
- npx -y viberaven@1.6.11 --strict=warning --json
46
+ npx -y viberaven@1.6.12 --strict=warning --json
47
47
  ```
48
48
 
49
49
  Default `--strict` returns 0 for `clear`/`warning`, 1 for `not_clear`, 2 for `error`, 3 for `unknown` or unavailable results. `--strict=warning` also returns 1 for warnings.
@@ -53,7 +53,7 @@ Default `--strict` returns 0 for `clear`/`warning`, 1 for `not_clear`, 2 for `er
53
53
  Older integrations can keep the canonical artifact command:
54
54
 
55
55
  ```bash
56
- npx -y viberaven --agent-mode
56
+ npx -y viberaven check
57
57
  ```
58
58
 
59
59
  Studio remains the default. MCP hosts use the separate [`@viberaven/mcp`](https://www.npmjs.com/package/@viberaven/mcp) package.