Version 0.4.8 | Extend nself with third-party integrations
Plugins extend nself with third-party service integrations, providing database schemas, webhook handlers, CLI commands, and more. The plugin system enables seamless integration with payment processors, e-commerce platforms, DevOps tools, and other services.
| Plugin | Category | Description | Version | Status |
|---|---|---|---|---|
| Stripe | Billing | Payment processing, subscriptions, invoices | 1.0.0 | Released |
| GitHub | DevOps | Repositories, issues, PRs, workflows | 1.0.0 | Released |
| Shopify | E-Commerce | Products, orders, customers, inventory | 1.0.0 | Released |
# List available plugins
nself plugin list
# Install a plugin
nself plugin install stripe
# Configure (add required environment variables to .env)
echo "STRIPE_API_KEY=sk_live_xxx" >> .env
# Initialize database schema
nself plugin stripe init
# Sync data from the service
nself plugin stripe sync
# Start webhook server
nself plugin stripe server# List available plugins
nself plugin list
# List installed plugins
nself plugin list --installed
# Check for updates
nself plugin updates
# Update all plugins
nself plugin update
# Remove a plugin
nself plugin remove <name>
# Remove plugin and delete data
nself plugin remove <name> --delete-data# Initialize database schema
nself plugin <name> init
# Sync all data
nself plugin <name> sync
# Sync specific resources
nself plugin <name> sync --resources customers,orders
# Incremental sync
nself plugin <name> sync --incremental
# Show sync status
nself plugin <name> status
# Start HTTP server
nself plugin <name> server
# Start on custom port
nself plugin <name> server --port 3001Each plugin provides:
Tables for storing synced data:
stripe_customers, github_repos)Real-time event processing:
Commands for data management:
Pre-built SQL views for insights:
Docker services for plugins:
URL routing configuration:
Each plugin requires specific environment variables. These should be added to your .env file.
| Variable | Plugin | Description |
|---|---|---|
DATABASE_URL | All | PostgreSQL connection string |
STRIPE_API_KEY | Stripe | Stripe secret API key |
STRIPE_WEBHOOK_SECRET | Stripe | Webhook signing secret |
GITHUB_TOKEN | GitHub | Personal access token |
GITHUB_WEBHOOK_SECRET | GitHub | Webhook signing secret |
SHOPIFY_SHOP_DOMAIN | Shopify | Store domain (your-store.myshopify.com) |
SHOPIFY_ACCESS_TOKEN | Shopify | Admin API token |
SHOPIFY_WEBHOOK_SECRET | Shopify | Webhook signing secret |
| Plugin | Port |
|---|---|
| Stripe | 3001 |
| GitHub | 3002 |
| Shopify | 3003 |
Plugins use standardized webhook endpoints:
https://your-domain.com/webhooks/<plugin-name>Examples:
https://example.com/webhooks/stripehttps://example.com/webhooks/githubhttps://example.com/webhooks/shopifyAlways configure webhook secrets for signature verification:
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
GITHUB_WEBHOOK_SECRET=xxx
SHOPIFY_WEBHOOK_SECRET=xxxFor local development, use tunneling:
# Stripe CLI
stripe listen --forward-to localhost/webhooks/stripe
# ngrok
ngrok http 443Each plugin creates prefixed tables:
| Plugin | Prefix | Example Tables |
|---|---|---|
| Stripe | stripe_ | stripe_customers, stripe_subscriptions |
| GitHub | github_ | github_repositories, github_issues |
| Shopify | shopify_ | shopify_products, shopify_orders |
# List plugin tables
nself db tables | grep stripe_
nself db tables | grep github_
nself db tables | grep shopify_
# Query plugin data
nself db query "SELECT COUNT(*) FROM stripe_customers"Plugin tables are automatically:
query {
stripe_customers(limit: 10) {
id
email
stripe_subscriptions {
status
current_period_end
}
}
}nself uses a two-tier registry system:
Primary: plugins.nself.org
Fallback: GitHub
https://plugins.nself.org/registry.json # Full registry
https://plugins.nself.org/plugins/:name # Plugin info
https://plugins.nself.org/plugins/:name/:v # Specific version
https://plugins.nself.org/health # Health check
https://plugins.nself.org/categories # Category list# Check for plugin updates
nself plugin updates
# JSON output
nself plugin updates --json# Update specific plugin
nself plugin update stripe
# Update all plugins
nself plugin update --all
# Dry run (see what would update)
nself plugin update --dry-run# Rebuild configuration
nself build
# Restart services
nself start| Category | Description | Available Plugins |
|---|---|---|
| billing | Payment processing and subscriptions | Stripe |
| ecommerce | Online stores and inventory | Shopify |
| devops | Development tools and CI/CD | GitHub |
| productivity | Workspace and collaboration tools | (Coming soon) |
| communication | Messaging and notifications | (Coming soon) |
| finance | Banking and accounting | (Coming soon) |
| Plugin | Category | Description | ETA |
|---|---|---|---|
| PayPal | Billing | Alternative payment processing | Q1 2026 |
| Linear | DevOps | Issue tracking integration | Q1 2026 |
| Plaid | Finance | Banking data aggregation | Q2 2026 |
| Notion | Productivity | Workspace database sync | Q2 2026 |
| Plugin | Category | Description | ETA |
|---|---|---|---|
| Intercom | Communication | Customer messaging | Q2 2026 |
| SendGrid | Communication | Email delivery and webhooks | Q2 2026 |
| Square | Billing | POS and payments | Q3 2026 |
| Airtable | Productivity | Spreadsheet/database sync | Q3 2026 |
Ready to use plugins? Start here:
Last Updated: January 2026 | Version 0.4.8