You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> 📖 **[Learn more about Steps →](https://motia.dev/docs/concepts/steps)**
257
256
258
257
---
259
258
259
+
## 🔌 Plugins & Adapters
260
+
261
+
Extend Motia with plugins and customize infrastructure with adapters.
262
+
263
+
### Official Plugins
264
+
265
+
Pre-installed with every Motia project to enhance your workbench:
266
+
267
+
| Plugin | Description | NPM |
268
+
|--------|-------------|-----|
269
+
|**[@motiadev/plugin-logs](https://github.com/motiadev/motia/tree/main/plugins/plugin-logs)**| Real-time log viewer with filtering and search |[](https://www.npmjs.com/package/@motiadev/plugin-logs)|
270
+
|**[@motiadev/plugin-endpoint](https://github.com/motiadev/motia/tree/main/plugins/plugin-endpoint)**| Interactive API endpoint testing tool |[](https://www.npmjs.com/package/@motiadev/plugin-endpoint)|
271
+
|**[@motiadev/plugin-observability](https://github.com/motiadev/motia/tree/main/plugins/plugin-observability)**| Performance tracing and distributed monitoring |[](https://www.npmjs.com/package/@motiadev/plugin-observability)|
272
+
|**[@motiadev/plugin-states](https://github.com/motiadev/motia/tree/main/plugins/plugin-states)**| State management and inspection tool |[](https://www.npmjs.com/package/@motiadev/plugin-states)|
273
+
|**[@motiadev/plugin-bullmq](https://github.com/motiadev/motia/tree/main/plugins/plugin-bullmq)**| BullMQ queue and DLQ management |[](https://www.npmjs.com/package/@motiadev/plugin-bullmq)|
274
+
275
+
**[View all community plugins →](https://github.com/MotiaDev/awesome-plugins)**
276
+
277
+
### Official Adapters
278
+
279
+
Customize your infrastructure with production-ready adapters:
|**[@motiadev/adapter-redis-state](https://github.com/motiadev/motia/tree/main/packages/adapter-redis-state)**| Redis state management |[](https://www.npmjs.com/package/@motiadev/adapter-redis-state)|
287
+
|**[@motiadev/adapter-redis-streams](https://github.com/motiadev/motia/tree/main/packages/adapter-redis-streams)**| Redis Streams for real-time data |[](https://www.npmjs.com/package/@motiadev/adapter-redis-streams)|
288
+
289
+
### Create Your Own
290
+
291
+
-**[Create a Plugin](https://github.com/MotiaDev/awesome-plugins/blob/main/CONTRIBUTING.md)** - Build custom workbench features
292
+
-**[Plugin Development Guide](https://motia.dev/docs/development-guide/plugins)** - Complete documentation
293
+
-**[Contribute to awesome-plugins](https://github.com/MotiaDev/awesome-plugins)** - Share with the community
294
+
295
+
---
296
+
260
297
## 🎯 Examples
261
298
262
299
### 🏆 **[ChessArena.ai](https://chessarena.ai)** - Full-Featured Production App
@@ -299,8 +386,8 @@ If you prefer to set up manually or want to understand the structure, follow the
299
386
```json
300
387
{
301
388
"scripts": {
302
-
"build": "vite build",
303
-
"dev": "vite build --watch",
389
+
"build": "tsdown",
390
+
"dev": "tsdown --watch",
304
391
"clean": "rm -rf dist"
305
392
}
306
393
}
@@ -604,21 +691,44 @@ Use it as a starting point for your own plugins.
604
691
- Verify the `componentName` matches your exported component
605
692
- Ensure the plugin is built (`pnpmrunbuild`)
606
693
- Check browser console for errors
694
+
- Ensure tsdown and Babel plugins are installed
607
695
</Callout>
608
696
609
697
<Callout type="warning" title="Styles not loading">
610
698
- Verify CSS is imported in `src/index.ts`
611
-
- Check that `styles.css`is exported in `package.json`
612
-
- Ensure TailwindCSS is properly configured
613
-
- Confirm that `cssImports` is defined in `src/plugin.ts` with the path to the built CSS file (e.g., `['@motiadev/plugin-example/dist/plugin-example.css']`)
699
+
- Check that the CSS build is configured in `tsdown.config.ts`
700
+
- Ensure TailwindCSS is properly configured in `postcss.config.js`
701
+
- Confirm that `cssImports` is defined in `src/plugin.ts` with the correct path (e.g., `['@motiadev/plugin-example/dist/styles.css']`)
614
702
</Callout>
615
703
616
704
<Callout type="default" title="Resolving type errors">
617
705
- Make sure `@motiadev/core` and `@motiadev/ui` are listed in `peerDependencies`
618
706
- Run `pnpminstall` so TypeScript picks up the types
619
707
- Confirm `declaration:true` is set in `tsconfig.json`
708
+
- Check external dependencies are correctly configured in tsdown
709
+
</Callout>
710
+
711
+
## Publishing and Contributing Plugins
712
+
713
+
Want to share your plugin with the Motia community?
714
+
715
+
<Callout type="info" title="Publish to NPM and contribute">
716
+
If you've created a plugin and want to share it with the community:
717
+
718
+
1. **Publish to NPM** - Make your plugin available for everyone to install
719
+
2. **Add to awesome-plugins** - Submit your plugin to our curated list
720
+
721
+
For complete instructions on creating, publishing, and contributing plugins, see the **[Plugin Contributing Guide](https://github.com/MotiaDev/awesome-plugins/blob/main/CONTRIBUTING.md)**.
722
+
723
+
The guide includes:
724
+
- Step-by-step NPM publishing workflow
725
+
- Best practices for plugin development
726
+
- Submission format and guidelines
727
+
- Troubleshooting common issues
620
728
</Callout>
621
729
622
730
## Next Steps
623
731
624
732
- Explore the [plugin-logs source code](https://github.com/motiadev/motia/tree/main/plugins/plugin-logs) for a complete example
733
+
- Check out the [awesome-plugins repository](https://github.com/MotiaDev/awesome-plugins) for community plugins
734
+
- Read the [Plugin Contributing Guide](https://github.com/MotiaDev/awesome-plugins/blob/main/CONTRIBUTING.md) to publish your own
0 commit comments