# plugin-blog

`@fayz-ai/plugin-blog` · preview · Partial capability

Marketing sites need a blog, and every one ends up rebuilt from scratch. plugin-blog is the reusable version: a headless, SEO-ready blog you compose into a Fayz website as a bundle of { manifest, Provider }. It ships the public read surface — a /blog list and a /blog/:slug article page — plus the data seam behind them, so the host site owns layout and navigation while the plugin owns posts.

## Specs

- **Package:** `@fayz-ai/plugin-blog`
- **Version:** 0.1.0
- **Status:** preview
- **Capability:** Partial capability
- **Product type:** Website
- **Stable channel:** `^0.1.0`
- **Migrations:** none
- **Factory:** `createBlogPlugin()`

## Data model

Convention: plg_ + tenant_id + RLS.

- `plg_blog_categories` — name, slug, description
- `plg_blog_posts` — category_id, slug, title, excerpt, body, cover_image

## AI tools

This plugin declares no AI tools.

## Integrations

No hosted connector — external providers come in via the connector spine (`@fayz-ai/core`).

## Integrate

Add the plugin to surfaces.admin.plugins in your app's app.manifest.json and run the doctor to validate:

```json
{ "surfaces": { "admin": { "plugins": [ { "id": "blog", "enabled": true } ] } } }
```

```bash
npx fayz doctor
```
