Skip to main content

🔌 Plugins

Curate.fun has a unique plugin pattern that uses module federation, which allows the bot to load and use remote plugins without needing to install or redeploy. These plugins can extend its functionality, particularly for content ingestion, transformation, distribution.

Plugin Structure

Plugins are defined in two parts in your curate.config.json:

  1. Plugin Registration:
{
"plugins": {
"@curatedotfun/telegram": {
"type": "distributor",
"url": "https://unpkg.com/@curatedotfun/telegram@latest/dist/remoteEntry.js"
},
"@curatedotfun/ai-transform": {
"type": "transformer",
"url": "https://unpkg.com/@curatedotfun/ai-transform@latest/dist/remoteEntry.js"
}
}
}
  1. Plugin Usage in Feeds:
{
"outputs": {
"stream": {
"enabled": true,
"transform": {
"plugin": "@curatedotfun/ai-transform",
"config": {
// Transformer-specific configuration
}
},
"distribute": [
{
"plugin": "@curatedotfun/telegram",
"config": {
// Distributor-specific configuration
}
}
]
}
}
}

Select a plugin from the sidebar to view its detailed configuration and setup instructions.

Available Plugins

Distributors

📱 Telegram Plugin

Distribute curated content to Telegram channels and topics.

📡 RSS Plugin

Generate RSS feeds for your curated content.

📝 Notion Plugin

Sync content to Notion databases with customizable properties.

💾 Supabase Plugin

Store and manage content in your Supabase database.

🌐 NEAR Social Plugin

Post curated content to NEAR Social, a decentralized social network on the NEAR Protocol.

Transformers

🤖 AI Transform

Transform content using OpenRouter's GPT models for AI-powered content enhancement.

📝 Simple Transform

Format content using a template-based approach with customizable placeholders.

Source Plugins

🐦 Twitter Plugin

Monitor and collect content from Twitter.

Object Transform

🔄 Object Transform

Transform data structures using a flexible mapping system.