From 7db8d349790e69cbf4b60f04ce3c8b351643d5b4 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 07:50:34 +0000 Subject: [PATCH] docs(base44-cli): sync skill docs to CLI v0.1.3 Documents workspace API key auth (BASE44_API_KEY / b44k_ prefix) added in v0.1.3, its effect on `whoami` output and connector reconciliation during `deploy`, and the client-side --level filter fix in `logs`. Co-Authored-By: Claude Sonnet 5 --- CLI_VERSION | 2 +- skills/base44-cli/SKILL.md | 5 ++++- skills/base44-cli/references/auth-whoami.md | 8 ++++++++ skills/base44-cli/references/deploy.md | 1 + skills/base44-troubleshooter/references/project-logs.md | 1 + 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CLI_VERSION b/CLI_VERSION index 5366600..04e1946 100644 --- a/CLI_VERSION +++ b/CLI_VERSION @@ -1 +1 @@ -v0.1.2 +v0.1.3 diff --git a/skills/base44-cli/SKILL.md b/skills/base44-cli/SKILL.md index dfbe38f..85102d7 100644 --- a/skills/base44-cli/SKILL.md +++ b/skills/base44-cli/SKILL.md @@ -4,7 +4,7 @@ description: "The base44 CLI is used for EVERYTHING related to base44 projects: metadata: sourcePackage: name: base44 - version: 0.1.2 + version: 0.1.3 --- # Base44 CLI @@ -64,6 +64,8 @@ RIGHT: `npx base44 login` **Provisioned via Stripe Projects / projects.dev?** When the app was provisioned through that flow, the CLI seeds authentication from the `BASE44_ACCESS_TOKEN` / `BASE44_REFRESH_TOKEN` environment variables it injects (the `BASE44_PROJECTS_*`-prefixed names are normalized automatically). In that case `npx base44 whoami` already succeeds and you do **not** need an interactive `npx base44 login`. +**Workspace API key set?** If the `BASE44_API_KEY` environment variable holds a key starting with `b44k_`, the CLI authenticates all requests with that key instead of a login session — no `npx base44 login` needed, and `npx base44 whoami` reports the key prefix instead of an email. See [auth-whoami.md](references/auth-whoami.md). + ## Overview The Base44 CLI provides command-line tools for authentication, creating projects, managing entities, and deploying Base44 applications. It is framework-agnostic and works with popular frontend frameworks like Vite, Next.js, and Create React App, Svelte, Vue, and more. @@ -569,6 +571,7 @@ Most commands require authentication. If you're not logged in, the CLI will auto | Error | Solution | | --------------------------- | ----------------------------------------------------------------------------------- | | Not authenticated | Run `npx base44 login` first | +| Workspace API key rejected | Verify `BASE44_API_KEY` is valid and authorized for this app | | No entities found | Ensure entities exist in `base44/entities/` directory | | Entity not recognized | Ensure file uses kebab-case naming (e.g., `team-member.jsonc` not `TeamMember.jsonc`) | | No functions found | Ensure functions exist in `base44/functions/` with `entry.ts` or `entry.js` | diff --git a/skills/base44-cli/references/auth-whoami.md b/skills/base44-cli/references/auth-whoami.md index 93e7c91..8acb020 100644 --- a/skills/base44-cli/references/auth-whoami.md +++ b/skills/base44-cli/references/auth-whoami.md @@ -24,6 +24,13 @@ $ npx base44 whoami Logged in as: user@example.com ``` +If a workspace API key is active (see below), the output identifies the key instead of a user: + +```bash +$ npx base44 whoami +Using workspace API key: b44k_abcd12 +``` + ## Use Cases - Verify you're logged in before running other commands @@ -35,3 +42,4 @@ Logged in as: user@example.com - If you're not logged in, the command will prompt you to authenticate first - The email displayed matches your Base44 account email +- **Workspace API key**: If the `BASE44_API_KEY` environment variable is set to a key starting with `b44k_`, the CLI authenticates every request with that key (sent as the `api_key` header) instead of the normal login session, and `whoami` reports the key prefix rather than an email. This takes priority over any logged-in session. diff --git a/skills/base44-cli/references/deploy.md b/skills/base44-cli/references/deploy.md index ee66230..7881934 100644 --- a/skills/base44-cli/references/deploy.md +++ b/skills/base44-cli/references/deploy.md @@ -88,6 +88,7 @@ After successful deployment: - If no resources are found, the command exits with a message - Use individual commands (`entities push`, `functions deploy`, `connectors push`, `site deploy`) if you only want to deploy specific resources - The site must be built before deployment - this command does not run `npm run build` for you +- Normally, pushing connectors reconciles the remote state with local config, removing remote connectors that no longer exist locally — even when there are zero local connectors. When authenticated with a [workspace API key](auth-whoami.md) (`BASE44_API_KEY`) and no local connectors are configured, this reconciliation is skipped instead, since that principal gets a 403 from the connectors-list endpoint. OAuth-authenticated deploys always reconcile removals. ## Related Commands diff --git a/skills/base44-troubleshooter/references/project-logs.md b/skills/base44-troubleshooter/references/project-logs.md index 8bb2daf..3eeeaae 100644 --- a/skills/base44-troubleshooter/references/project-logs.md +++ b/skills/base44-troubleshooter/references/project-logs.md @@ -72,5 +72,6 @@ npx base44 logs --follow - The `--limit` applies after merging logs from all specified functions. - The `--since` and `--until` values accept an ISO datetime, or a relative shorthand (e.g. `1h`, `30m`, `2d`) measured back from now. ISO values without a timezone are normalized to UTC (appends `Z`). - `--env` defaults to `preview`. If `prod` returns no logs, the app may not have been published yet — try `--env preview` to see draft logs. +- `--level` is enforced client-side as well as server-side, so filtering is reliable even for runtimes (e.g. per-app Cloudflare deployments) where the backend returns the unfiltered stream. - `--follow` streams logs indefinitely (oldest to newest) instead of a single fetch; it's incompatible with `--until` and `--order`. - Pass the global `--json` flag to emit each log entry (or, with `--follow`, each new line) as JSON instead of the human-readable format.