2.9 KiB
2.9 KiB
Faster Marketplace Registry
This repository manages the marketplace catalog for themes and components. Changes to this registry are automatically synced to the database.
Structure
_registry/
├── themes.json # All published themes
├── components.json # All published components
└── CLAUDE.md # This documentation
Adding a Theme
Add an entry to themes.json:
{
"uuid": "your-unique-uuid-here",
"name": "Theme Name",
"slug": "theme-name",
"description": "Theme description",
"category": "business",
"repo_name": "theme-your-unique-uuid-here",
"repo_url": "https://gitea.../faster-marketplace/theme-your-unique-uuid-here",
"version": "1.0.0",
"image": "https://example.com/screenshot.png",
"status": "active"
}
Required Fields
| Field | Description |
|---|---|
uuid |
Unique identifier (generate with uuidgen or online tool) |
name |
Display name of the theme |
category |
One of: business, portfolio, blog, ecommerce, landing |
Optional Fields
| Field | Default |
|---|---|
slug |
Same as uuid |
description |
Empty string |
repo_name |
theme-{uuid} |
repo_url |
Auto-generated |
version |
1.0.0 |
image |
Placeholder image |
status |
active |
Adding a Component
Add an entry to components.json:
{
"uuid": "your-unique-uuid-here",
"name": "Component Name",
"slug": "component-name",
"description": "Component description",
"category": "hero",
"repo_name": "component-your-unique-uuid-here",
"repo_url": "https://gitea.../faster-marketplace/component-your-unique-uuid-here",
"version": "1.0.0"
}
Removing Items
To remove a theme or component:
- Delete the entry from themes.json or components.json
- Commit and push
- The database record will be soft-deleted automatically
UUID Generation
Generate a unique UUID before adding:
# Linux/Mac
uuidgen | tr -d '-' | tr '[:upper:]' '[:lower:]'
# Or use: https://www.uuidgenerator.net/
Sync Behavior
- Push to registry → Webhook triggers → Database updated
- Add entry → New StdMarketplaceApp record created
- Update entry → Existing record updated
- Remove entry → Record soft-deleted (status='deleted')
Theme Repository Structure
Each theme should have its own repo at faster-marketplace/theme-{uuid}:
theme-{uuid}/
├── components/
│ ├── header.hbs
│ ├── footer.hbs
│ └── functional/
│ └── hero/
├── templates/
│ ├── blog.hbs
│ ├── post.hbs
│ └── page.hbs
├── assets/
│ ├── css/app.css
│ └── js/index.js
└── manifest.json
Component Repository Structure
Each component should have its own repo at faster-marketplace/component-{uuid}:
component-{uuid}/
└── components/
└── {component-name}/
├── index.js
└── view.hbs