AI Direct Context
This page helps AI tools and coding assistants understand how to develop and maintain StarEcho BaaS apps.
One-Shot Entry
/llms.txt is a plain-text entry point focused on BaaS development: cloud functions, data collections, permission roles, storage, cross-app access, and the recommended AI workflow through the VS Code extension.
Developer Docs
VS Code Extension AI Capabilities
After installing and logging into the StarEcho BaaS development extension, compatible AI tools can use built-in tools or MCP to:
- Resolve local paths by StarEcho app name or client ID
- List, create, pull, upload, test, disable, or delete cloud functions
- Create, read, and update
requestMode=raw, including the public WebhookrawHttpUrl - List, write/rotate, and explicitly delete write-only application Secrets (reads never return values)
- List, create, update, and delete data collections, including their developer descriptions
- List, read, create, overwrite, rename, or delete data documents
Cloud functions can use invokeAccess = cloud_function for private helpers. These functions can only be called by other cloud functions through $invoke; users, anonymous access, Basic/Bearer HTTP calls, and cron jobs cannot invoke them directly.
Third-party Webhooks use requestMode = raw, requireAuth = 0, and invokeAccess = http. The Raw endpoint accepts top-level JSON, text, or binary, exposes pre-parse request.rawBody / request.rawBodyBase64, and applies { statusCode, headers, body } to the actual HTTP response.
Data collections follow ownerMode:
none: unowned documents; owner fields should be hidden and not writtenuser: UID-bound documents; UI may accept RID or UID, but the server stores UID
Local Sync Space
The extension syncs cloud functions into .starecho/ under the workspace. This is a sync space and can be ignored as a whole in .gitignore; if version control is needed, commit only selected app folders or cloud function files.
resolve_app, pull, and upload prefer the active VS Code workspace (or the nearest .starecho found upward from the caller's directory) and return clientId, workspaceRoot, and cloudFunctionRoot. Writes are rejected if their target escapes the selected workspace. When multiple workspace candidates exist, pass workspaceRoot (or the compatibility alias localRoot) explicitly. Each workspace keeps independent sync metadata and a remote hash; upload refuses to overwrite a remotely changed function unless forced.