---
title: "Products Module"
module_id: "products"
version: "1.0.0"
category: "data"
autonomy: "config-required"
generated: true
generated_at: "2026-04-12"
---

# Products

> Create and manage e-commerce products

## Quick Facts

| Property | Value |
|----------|-------|
| **Module ID** | `products` |
| **Version** | 1.0.0 |
| **Category** | data |
| **Autonomy** | config-required |
| **Core** | No |
| **Capabilities** | `content:receive`, `data:write`, `webhook:trigger` |

## Integrations

**Optional:** `stripe`, `resend`, `stripe_webhook`

## API Contract

## Webhook Events

These events can be subscribed to via Developer → Webhooks or n8n.

| Event | Description |
|-------|-------------|
| `order.created` | An order was placed |
| `order.paid` | An order was paid |
| `order.cancelled` | An order was cancelled |
| `order.refunded` | An order was refunded |
| `product.created` | A product was created |
| `product.updated` | A product was updated |
| `product.deleted` | A product was deleted |

## File Map

| Purpose | Path |
|---------|------|
| Module definition | `src/lib/modules/products-module.ts` |
| Hook | `src/hooks/useProducts.ts` |
| Admin page | `src/pages/admin/ProductsPage.tsx` |
| Public block | `src/components/public/blocks/ProductsBlock.tsx` |

## Contributing

To enhance this module, see [Contributing Guide](../contributing/contributing.md) and [Module API](../reference/module-api.md).

Key rules:
- Follow `ModuleDefinition<I, O>` contract pattern
- All schema changes require idempotent migrations
- Skills must be self-describing (Law 2)
- Blocks are interfaces, not pipelines (Law 3)

---

*This file is auto-generated by `scripts/generate-module-docs.ts`. Do not edit manually.*