# SDKs Overview StellaOps provides SDKs for extending platform functionality and integrating with external systems. ## Plugin SDK The Plugin SDK enables development of custom plugins for all StellaOps modules: | SDK | Purpose | Documentation | |-----|---------|---------------| | **Plugin Development** | Create custom plugins | [Plugin Development Guide](./plugin-development.md) | | **Plugin Templates** | `dotnet new` templates | [Plugin Templates](./plugin-templates/README.md) | ### Plugin Categories | Category | Interface | Use Case | |----------|-----------|----------| | Router Transports | `IRouterTransportPlugin` | Custom communication protocols | | Authority Providers | `IAuthorityPlugin` | Identity/auth providers | | Concelier Connectors | `IConcielierConnector` | Vulnerability data sources | | Scanner Analyzers | `IScannerAnalyzerPlugin` | Language-specific scanners | | Crypto Providers | `ICryptoPlugin` | Cryptographic implementations | | Notify Channels | `INotifyChannel` | Notification delivery | ## Language SDKs Client SDKs for integrating with StellaOps APIs: | Language | Status | Documentation | |----------|--------|---------------| | [Go](./go.md) | Planned | - | | [Java](./java.md) | Planned | - | | [Python](./python.md) | Planned | - | | [TypeScript](./typescript.md) | Planned | - | ## Determinism Checklist All SDKs and plugins must maintain determinism: - [ ] Hash any inbound assets/payloads; place sums alongside artifacts - [ ] Keep examples offline-friendly and deterministic (fixed seeds, pinned versions, stable ordering) - [ ] Note source/approver for any provided captures or schemas ## SDK Design Principles - **Offline-first**: No hidden network calls; explicit configuration for remote access - **Deterministic**: Stable ordering, reproducible outputs - **Typed**: Strong typing for compile-time safety - **Async-native**: First-class async/await support - **Testable**: Easy to mock and test in isolation ## See Also - [Plugin Architecture](../plugins/ARCHITECTURE.md) - [Plugin Configuration](../plugins/CONFIGURATION.md) - [Plugin SDK Guide](../10_PLUGIN_SDK_GUIDE.md)