Skip to content

Conversation

@gonengar
Copy link
Contributor

Introduces comprehensive design document covering:

  • Plugin structure (entities + BE functions)
  • Host app configuration format
  • Extension mechanism for schemas and functions
  • Plugin installation flow from multiple sources
  • CLI commands for plugin management
  • Deploy behavior with plugin merging
  • Security considerations and permissions model

Description

Related Issue

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Changes Made

Testing

  • I have tested these changes locally
  • I have added/updated tests as needed
  • All tests pass (npm test)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have updated AGENTS.md if I made architectural changes

Additional Notes

Introduces comprehensive design document covering:
- Plugin structure (entities + BE functions)
- Host app configuration format
- Extension mechanism for schemas and functions
- Plugin installation flow from multiple sources
- CLI commands for plugin management
- Deploy behavior with plugin merging
- Security considerations and permissions model
@github-actions
Copy link
Contributor

github-actions bot commented Jan 26, 2026

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/cli@0.0.17-pr.114.61b57b5

Prefer not to change any import paths? Install using npm alias so your code still imports base44:

npm i "base44@npm:@base44-preview/cli@0.0.17-pr.114.61b57b5"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "base44": "npm:@base44-preview/cli@0.0.17-pr.114.61b57b5"
  }
}

Preview published to npm registry — try new features instantly!

Research on how other platforms handle plugins:
- Terraform: Own registry with GPG signing
- VS Code: Marketplace with verified publisher badges
- Figma: Own marketplace with human review
- Shopify/Heroku/Gatsby: npm-only approach
- Strapi/Backstage: Hybrid npm + own marketplace
- WordPress: SVN with mandatory human review

Includes recommendation for phased hybrid approach:
1. npm-first MVP
2. Base44 registry for discoverability
3. Enterprise features (private registry, signing)
Updates product design based on competitive analysis:

- Add phased rollout summary to executive summary
- Update plugin structure to use package.json + base44.plugin.jsonc
- Make npm the primary distribution channel (Phase 1)
- Add phase indicators to CLI commands section
- Update installation flow for npm-first resolution
- Update lock file to reference npm registry
- Update publishing workflow: npm publish first, then
  optional Base44 registry registration (Phase 2+)

This aligns with patterns from Shopify CLI, Heroku CLI,
and Strapi while planning for future Base44 registry.
Updates to clarify core vs optional features:

- Entity extensions: Core feature (Phase 1)
- Function hooks/wrappers: Optional, future consideration

Changes:
- Update Section 4 header with core vs optional callout
- Mark Section 4.2 (function hooks) as optional/future
- Mark Section 4.3 (function wrapping) as optional/future
- Update plugin config to comment out function hooks
- Update extensions directory to show entity-only structure
- Update summary table with status column (Core/Optional/Phase 3)
- Update architecture diagram to show "Entity Extensions (Core)"

For Phase 1, host apps can create their own functions that
call plugin functions if custom logic is needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants