Extensions¶
Extensions connect Kiket to your tools and processes. Build custom integrations in any language, host them anywhere, and publish to the marketplace.
The Federated Model¶
Unlike traditional integrations that run inside the platform, Kiket extensions run on your infrastructure:
graph LR
subgraph "Kiket Platform"
A[Event Engine] -->|Signed Webhook| B((Your Extension))
end
subgraph "Your Infrastructure"
B --> C[Your Database]
B --> D[External APIs]
B --> E[Internal Services]
end
B -->|API Calls| A
style A fill:#7C3AED,stroke:#fff,color:#fff
style B fill:#F59E0B,stroke:#fff,color:#000
Why federated?
- Data sovereignty — Sensitive data stays in your network
- No vendor lock-in — Your code runs on your infrastructure
- Any language — Python, Node.js, Ruby, Go, Java, .NET, or anything that speaks HTTP
- Any hosting — AWS Lambda, Vercel, Cloud Run, Kubernetes, or bare metal
How Extensions Work¶
sequenceDiagram
participant Kiket as Kiket Platform
participant Ext as Your Extension
participant API as External API
Note over Kiket: Event occurs (issue.created)
Kiket->>Ext: POST /webhook (signed payload)
Ext->>Ext: Verify signature
Ext->>API: Sync to external system
API-->>Ext: Response
Ext->>Kiket: API call (update issue)
Kiket-->>Ext: 200 OK
- Events trigger webhooks — Issue changes, comments, transitions, etc.
- Your extension processes — Verify signature, handle business logic
- Call back to Kiket — Update issues, add comments, trigger workflows
Quick Start¶
1. Create the Manifest¶
Every extension starts with a manifest:
# extension.yaml
manifest_version: 2
extension:
key: my-sync
name: My Sync Extension
version: 1.0.0
runtime: external
triggers:
- event: issue.created
handler: /webhook/issue-created
settings:
- key: api_key
label: API Key
type: secret
required: true
2. Build the Handler¶
3. Deploy & Register¶
# Package your extension
kiket extensions package
# Register with Kiket
kiket extensions register
# Install in your project
kiket extensions install my-sync
SDKs¶
Official SDKs handle signature verification, API calls, and common patterns:
CLI Commands¶
# Install the CLI
gem install kiket-cli
# Authenticate
kiket auth login
# Scaffold a new extension
kiket extensions scaffold
# Development commands
kiket extensions lint # Validate manifest
kiket extensions test # Run tests
kiket extensions replay # Replay webhooks locally
kiket extensions package # Build for deployment
# Publishing
kiket extensions register # Register with Kiket
kiket extensions publish # Publish to marketplace
In This Section¶
-
Manifest Reference
Complete specification for extension.yaml
-
Setup Wizard
Guided configuration for extension users
-
Secret Store
Secure credential management
-
Packaging & Sandbox
Build and test your extension
-
Delivery Contract
Webhook format and guarantees
-
Marketplace
Publish and distribute extensions
Advanced Topics¶
-
Custom Data Modules
Extend Kiket's data model with custom fields
-
Federation Model
Deep dive into the federated architecture
-
Version Lifecycle
Versioning, deprecation, and upgrades
-
Publishing Workflow
From development to production
Get Help¶
- Email: partners@kiket.dev
- Partner Slack: Join the channel
- GitHub: kiket-dev/extensions