Files
Carmel Cohen 1463369a86 feat(base44-sandbox): add cloud-sandbox remote-dev skill flavor (#121)
* feat(base44-sandbox): add cloud-sandbox remote-dev skill flavor

Add a focused, separately-installable "sandbox flavor" for developing a
Base44 app inside Base44's cloud sandbox (PR base44-dev/apper#11608), where
the implementation is remote and writing a backend-function file is what
ships it — no local checkout and no Base44 CLI.

- skills/base44-sandbox: new hand-authored skill. Backend functions and
  frontend code are supported; entities, connectors, and agents are marked
  not-supported-yet; no automations. Concise inline guidance with a pointer
  to base44-cli's functions-create reference (no duplicated copies).
- skills/base44-remote-dev: vendored connection skill (MCP / HTTP bridge,
  tools, edit→preview→verify loop) from the upstream PR.
- New base44-sandbox plugin across channels: second entry in the Claude and
  Codex marketplaces + plugins/base44-sandbox/ bundle (its own .claude/.codex/
  .cursor manifests + skills/assets symlinks). Bundles base44-remote-dev,
  base44-sandbox, base44-sdk, base44-troubleshooter; excludes deploy-oriented
  base44-cli. npx skills --skill documented in the README.
- validate-template.mjs now discovers and validates all .cursor-plugin
  manifests (repo root + plugins/*/).
- sync-cli-skill flags base44-sandbox for manual review when function
  authoring conventions change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(base44-sandbox): support connectors via MCP tools and projectless CLI

Connectors are now usable in remote-dev (apper#11608 MCP connector tools +
cli#547 projectless connectors), so flip them from "not supported" to a
documented connect flow:

- list_connectors (apps:read) / initiate_connector_connection (apps:write)
  over MCP, and base44 connectors list-available/initiate/pull over the CLI
  with --app-id (no local project / config.jsonc).
- Document the declarative/replace scope semantics (read current scopes first,
  pass the complete set) and the human-consent authorization-URL step.
- Note the connector CLI is the one allowed CLI use in remote-dev; it targets
  a remote app by id with no deploy step (not a contradiction of the no-CLI
  rule, which is about local-project/deploy commands).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-remote-dev): document the connector MCP tools

Upstream's base44-remote-dev SKILL.md doesn't yet list the connector tools
shipped in apper#11608, so add a "Connectors (OAuth integrations)" section
covering list_connectors (apps:read) and initiate_connector_connection
(apps:write) — declarative/replace scope semantics and the human-consent
redirect-URL step — plus the projectless base44 connectors CLI equivalent.

Marked as a local addition (HTML comment) to reconcile when upstream
documents these tools.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-remote-dev): drop local-addition note from connectors section

The connectors section will align with upstream by merge time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(docs): use entry.ts as the backend-function entry file

The function entry file (and the function.jsonc "entry" value) is entry.ts,
not index.ts. Update all function examples across base44-sandbox, base44-sdk,
and base44-cli docs (functions-create, automations, project-structure trees).

Invocation already uses base44.functions.invoke('name', data) everywhere; no
change needed there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-sandbox): connector token usage, complete README, reference-first

- Add "Using a connected connector in code": fetch the OAuth token via
  base44.asServiceRole.connectors.getConnection(type) inside a backend
  function, with a link to base44-sdk's connectors reference.
- Add a "Reference order & the complete README" section: prefer this skill
  and its siblings over web search, and point to the public app-specific
  onboarding README endpoint.
- Surface the reference-first note near the top too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-sdk): clarify functions.invoke() returns the raw axios response

invoke() resolves to the raw axios response, so the function's JSON is on
.data (not the top-level object), and it throws on non-2xx with the error
body at err.response.data. Update the invoke method doc and every frontend
example to read res.data, and add the warning in SKILL.md + QUICK_REFERENCE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-sandbox): note invoke() returns raw axios response (.data)

Add a small frontend-calling clarification so agents read the function's
JSON off res.data and handle the non-2xx throw; link to base44-sdk for detail.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(base44-sandbox): support entities and agents (filesystem-only)

Entities and agents are now authorable in the sandbox — writing the .jsonc
file auto-syncs, no entities/agents push or deploy. Flip both from
"not supported" to supported, broaden the mental model to "writing a resource
file is the deploy", and add Entities and Agents authoring sections (file
naming, schema, links to base44-cli references with their push/deploy
sections flagged as not applicable).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(base44-sandbox): add base44-cli reference to the Agents section

Match the functions/entities pattern: link the Agents section to the
base44-cli Agent Schema and make clear to ignore agents push/pull/deploy
commands (sandbox auto-syncs the file).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(sandbox): drop HTTP bridge surface, document base44 sandbox CLI names

Remove the HTTP REST sandbox-bridge option (POST /api/apps/<id>/sandbox-bridge/<tool>)
from base44-remote-dev and base44-sandbox; local agents use MCP or the
`base44 sandbox` CLI instead.

Clarify CLI naming throughout: add the MCP-tool -> CLI-command mapping
(list_directory->sandbox ls, read_file->sandbox read, write_file->sandbox write,
edit_file->sandbox edit, run_command->sandbox run; grep/release unchanged) and
annotate inline tool references with their CLI command names.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01842h6eP9hLWHnoRrERmbLo

* docs(sandbox): drop the sandbox release command/tool

The release command is no longer supported, so remove it from the
base44 sandbox CLI mapping table.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01842h6eP9hLWHnoRrERmbLo

* docs(sandbox): document checkpoint command and create_checkpoint tool

Add the `base44 sandbox checkpoint` CLI command (base44/cli#547) and the
`create_checkpoint` MCP tool (base44-dev/apper#11608) to the base44-remote-dev
and base44-sandbox skills, including the sandbox:write scope, the CLI/MCP name
mapping, and the COMMIT_FLUSH_PENDING error code.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(sandbox): functions need only entry.ts, no function.jsonc

In the sandbox the function is inferred from the directory, so authors only
create entry.ts under base44/functions/<name>/; the function.jsonc config is
not required and is ignored in this mode.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(sandbox): note function.jsonc guidance in cli ref doesn't apply

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 15:58:40 +03:00
..