Plugins
Plugins
Official plugins to extend Manic functionality.
Plugins
Plugins extend Manic's core functionality. The framework includes official plugins for styling, content, SEO, and more.
Installation
Each plugin is a separate package:
# Add plugins you need
bun add @manicjs/tailwind @manicjs/mdx @manicjs/seo @manicjs/sitemap @manicjs/mcp @manicjs/api-docsOfficial Plugins
Tailwind CSS
Tailwind CSS v4 integration with zero config.
UnoCSS
UnoCSS for atomic CSS styling.
MDX
Markdown with JSX components.
SEO
Meta tags, Open Graph, and social cards.
Sitemap
Auto-generate sitemap.xml.
MCP
Model Context Protocol server.
API Docs
Scalar API reference UI.
Using Plugins
1. Install
bun add @manicjs/[plugin-name]2. Configure
Add to your manic.config.ts:
import { } from 'manicjs/config';
import { } from '@manicjs/tailwind';
declare function (?: <string, unknown>): unknown;
export default ({
: [
(),
(),
],
});3. That's It
Plugins automatically integrate with both dev server and build output. No additional setup required.
How Plugins Work
Plugin Interface
interface ManicPlugin {
name: string;
/** Bun plugin script - auto-injected */
preload?: string;
/** bunfig.toml snippet */
bunfig?: string;
/** Dev server hooks */
configureServer?(ctx: ManicServerPluginContext): void | Promise<void>;
/** Build hooks */
build?(ctx: ManicBuildPluginContext): void | Promise<void>;
}Build Context
During build, plugins can:
- Inject HTML into
<head>viainjectHtml() - Emit static files via
emitClientFile() - Access route information via
pageRoutesandapiRoutes
Server Context
In dev server, plugins can:
- Add routes via
addRoute() - Inject link headers via
addLinkHeader() - Inject HTML via
injectHtml()
Creating Custom Plugins
See Plugin Development for creating your own plugins.
Version Compatibility
| Plugin | Version |
|---|---|
| @manicjs/tailwind | 1.0.0+ |
| @manicjs/unocss | 1.0.0+ |
| @manicjs/mdx | 1.0.0+ |
| @manicjs/seo | 1.0.0+ |
| @manicjs/sitemap | 1.0.0+ |
| @manicjs/mcp | 1.0.0+ |
| @manicjs/api-docs | 1.0.0+ |