Core ArchitectureΒΆ
ποΈ Architecture Overview
SFAI SDK uses a plugin-based architecture for platforms and integrations. All official plugins are bundled with the SDK for convenience, but the system is designed for extensibility.
SFAI SDK Plugin-Based Architecture
π Plugin-Based Platform SystemΒΆ
SFAI SDK uses a plugin-based architecture for platform and integration support. All platform plugins must inherit from BasePlatform, which acts as the contract for platform features.
βοΈ How It WorksΒΆ
Handles app lifecycle, context, deployment orchestration, and CLI/API interfaces.
Each platform is a separate module that inherits from BasePlatform
All plugins implement: init, deploy, delete, status, logs, open
Each platform must be registered in pyproject.toml
β¨ BenefitsΒΆ
π Extensibility
New platforms can be added as plugins without modifying the core engine.
π‘οΈ Stability
Changes to platform plugins do not impact the core SDK logic.
π¨ Customization
Organizations can fork or extend platform plugins for their needs.
ποΈ Base ImplementationsΒΆ
Core Base Classes
Abstract base for app-level operations
Abstract base for all platform plugins
class BasePlatform:
def init(self, **kwargs) -> BaseResponse: ...
def deploy(self, context, **kwargs) -> BaseResponse: ...
def delete(self, context) -> BaseResponse: ...
def status(self, context) -> BaseResponse: ...
def logs(self, context) -> BaseResponse: ...
def open(self, context, **kwargs) -> BaseResponse: ...
Abstract base for integrations (e.g., MuleSoft)
