NYC
skills/base44/skills/sync-sdk-skill

sync-sdk-skill

SKILL.md

Sync SDK Skill

Synchronize the skills/base44-sdk/ skill with the latest SDK source code from the Base44 SDK repository.

Usage

When activated, this command will ask for:

  1. SDK source folder path (required) - The local path to the Base44 SDK source code
  2. Documentation URL (optional) - URL to fetch additional documentation

Steps

Step 1: Gather Input

Ask the user for the required inputs using the AskQuestion tool if available, otherwise ask conversationally:

Required:

  • SDK source folder path (e.g., ~/projects/base44-sdk or /Users/me/base44-sdk)

Optional:

  • Documentation URL (e.g., https://docs.base44.com/sdk)

If the user provided these in the initial prompt, use those values.

Step 2: Validate Source Folder

  1. Check that the provided path exists and contains SDK source code
  2. Look for these key indicators:
    • package.json with @base44/sdk or similar SDK-related content
    • src/ directory with module implementations
    • TypeScript/JavaScript files with SDK module exports (e.g., entities.ts, auth.ts, client.ts)

If validation fails, ask the user to verify the path.

Step 3: Discover SDK Modules

Scan the SDK source folder to find all available modules. Look for:

  1. Module files in directories like:

    • src/
    • src/modules/
    • lib/
  2. For each module, extract:

    • Module name and exports
    • Available methods and their signatures
    • Method parameters and types
    • Return types
    • Usage examples (if present in source or JSDoc)
    • Submodules (e.g., integrations.Core, integrations.custom)
  3. Parse module definitions from:

    • TypeScript interfaces and types
    • Class definitions and methods
    • JSDoc comments and annotations
    • Export statements
  4. Key modules to look for:

    • entities - CRUD operations on data models
    • auth - Login, register, user management
    • agents - AI conversations and messages
    • functions - Backend function invocation
    • integrations - AI, email, file uploads, custom APIs
    • connectors - OAuth tokens (service role only)
    • analytics - Track custom events
    • appLogs - Log user activity
    • users - User invitations
    • client - Client creation and configuration

Step 4: Read Existing Skill

Read the current skill files to understand what needs updating:

skills/base44-sdk/
├── SKILL.md
└── references/
    ├── analytics.md
    ├── app-logs.md
    ├── auth.md
    ├── base44-agents.md
    ├── client.md
    ├── connectors.md
    ├── entities.md
    ├── functions.md
    ├── integrations.md
    └── users.md

Step 5: Compare and Identify Changes

Compare discovered SDK modules with existing skill documentation:

  1. New modules: Modules in source but not in skill references
  2. New methods: Methods added to existing modules
  3. Updated methods: Methods with changed signatures, parameters, or return types
  4. Deprecated methods: Methods marked as deprecated
  5. Removed methods: Methods in skill but not in source (verify before removing)
  6. New parameters: New options added to existing methods

Create a summary of changes to show the user before applying.

Step 6: Fetch External Documentation (Optional)

If a documentation URL was provided:

  1. Fetch the documentation page
  2. Extract relevant module and method documentation
  3. Use this to supplement information from source code
  4. Cross-reference for accuracy

Step 7: Update Skill Files

For each change identified:

Update Reference Files

For each module, update or create references/{module-name}.md:

# {ModuleName} Module

{Description from source}

## Overview

{Brief explanation of what the module does}

## Methods

### `{methodName}(params)`

{Method description}

**Parameters:**

| Parameter | Type | Description | Required |
|-----------|------|-------------|----------|
| `param1` | `string` | {description} | Yes |
| `options` | `object` | {description} | No |

**Returns:** `Promise<{ReturnType}>`

**Example:**

```javascript
const result = await base44.{module}.{methodName}({
  param1: "value"
});

Notes

{Any important behavioral notes, frontend/backend availability, etc.}


#### Update SKILL.md

1. Update the **SDK Modules** table if modules changed
2. Update **Quick Start** if core patterns changed
3. Update **Module Selection** section with new capabilities
4. Update **Common Patterns** with new usage examples
5. Update **Frontend vs Backend** table if availability changed
6. Keep the existing structure and formatting
7. Do NOT change the frontmatter description unless explicitly asked

### Step 8: Present Summary

After updates, present a summary to the user:

Sync Summary

Files Updated

  • references/new-module.md (created)
  • references/entities.md (updated methods)
  • SKILL.md (updated module table)

Changes Made

  • Added new module: newModule
  • Updated entities module: added bulkCreate() method
  • Added new parameter options.cache to auth.me()
  • Deprecated integrations.legacyMethod()

Manual Review Recommended

  • [List any changes that need verification]

## Important Notes

- **Preserve existing content**: Don't remove detailed explanations, examples, or warnings unless they're outdated
- **Keep formatting consistent**: Match the existing style of SKILL.md and reference files
- **Maintain progressive disclosure**: Keep detailed docs in references, summaries in SKILL.md
- **Flag uncertainties**: If source code is unclear, flag it for manual review
- **Document frontend/backend availability**: Always note if a method is backend-only (e.g., `connectors`, `asServiceRole`)
- **Preserve type information**: Include TypeScript types in method signatures
- **Keep examples practical**: Examples should reflect real-world usage patterns

## Module-Specific Guidelines

### entities.md
- Document CRUD methods: `create`, `get`, `list`, `filter`, `update`, `delete`
- Include query filter syntax and operators
- Document `subscribe()` for real-time updates
- Note RLS/FLS security implications if applicable

### auth.md
- Cover all authentication methods (email/password, OAuth, etc.)
- Document `me()`, `updateMe()`, `logout()`
- Include redirect flow examples
- Note token handling

### integrations.md
- Document `Core` submodule methods (InvokeLLM, SendEmail, UploadFile, GenerateImage)
- Document `custom.call()` for custom integrations
- Include AI prompt examples

### connectors.md
- Note this is service role / backend only
- Document `getAccessToken()` for OAuth providers

### functions.md
- Show both frontend invocation and backend implementation
- Include `createClientFromRequest()` usage
- Document `asServiceRole` access patterns

## Troubleshooting

| Issue | Solution |
|-------|----------|
| Can't find module files | Try searching for `export class` or `export function` patterns |
| Types not detected | Look for `.d.ts` files or inline TypeScript annotations |
| Missing method descriptions | Check for JSDoc comments (`/** ... */`) above methods |
| Submodule structure | Modules like `integrations.Core` may be in nested files |
| Return types unclear | Check TypeScript generics and Promise wrappers |
Weekly Installs
10
Repository
base44/skills
First Seen
12 days ago
Installed on
mcpjam10
mistral-vibe10
claude-code10
junie10
windsurf10
zencoder10