Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The official documentation is built with Fumadocs and Next.js.

## 🛠️ The Protocol Architecture

The ObjectStack Protocol (`@objectstack/spec`) is divided into five core modules:
The ObjectStack Protocol (`@objectstack/spec`) is divided into six core modules:

### 1. Data Protocol (ObjectQL)
Defines the "Shape of Data" and business logic.
Expand All @@ -75,7 +75,16 @@ Defines the "Shape of Interaction" for rendering interfaces.
- **Theming:** Color palettes, typography, breakpoints, animations
- **Widgets:** Custom field components

### 3. System Protocol (ObjectOS)
### 3. Website Protocol
Defines the "Shape of Marketing Websites" for landing pages and official sites.
- **Landing Pages:** Hero sections, features, testimonials, pricing, CTAs, FAQ
- **Navigation:** Website menus, dropdowns, mega menus, footers
- **SEO:** Meta tags, Open Graph, Twitter Cards, structured data
- **Analytics:** Google Analytics, GTM, Facebook Pixel integration
- **Theming:** Brand colors, typography, dark mode
- **Preview Release:** March 2026

### 4. System Protocol (ObjectOS)
Defines the "Runtime Environment" and platform capabilities.
- **Manifest:** Application packaging (`objectstack.config.ts`)
- **Identity:** Authentication, Roles, Territories, Licenses, Organizations
Expand All @@ -85,7 +94,7 @@ Defines the "Runtime Environment" and platform capabilities.
- **I18n:** Translation and internationalization support
- **Platform:** Events, Real-time sync, Audit logging, Background jobs, Multi-tenancy

### 4. AI Protocol
### 5. AI Protocol
Defines AI agent integration capabilities.
- **Agent:** AI agent definitions and configurations
- **Model Registry:** LLM registry and selection
Expand All @@ -96,7 +105,7 @@ Defines AI agent integration capabilities.
- **Predictive:** Predictive analytics models
- **Workflow Automation:** AI-powered workflow automation

### 5. API Protocol
### 6. API Protocol
Defines standardized API contracts.
- **Envelopes:** Response structures (BaseResponse, ListRecordResponse, etc.)
- **Requests:** Request payloads (CreateRequest, UpdateRequest, BulkRequest, etc.)
Expand Down
1 change: 1 addition & 0 deletions content/docs/references/meta.cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"pages": [
"data",
"ui",
"website",
"auth",
"automation",
"system",
Expand Down
15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/ButtonConfig.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ButtonConfig
description: ButtonConfig Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **text** | `string` | ✅ | Button text |
| **href** | `string` | ✅ | Button target URL or action |
| **variant** | `Enum<'primary' \| 'secondary' \| 'outline' \| 'ghost' \| 'link'>` | optional | |
| **size** | `Enum<'sm' \| 'md' \| 'lg'>` | optional | |
| **target** | `Enum<'_self' \| '_blank'>` | optional | |
| **icon** | `string` | optional | Icon name |
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: ContentBlock
description: ContentBlock Schema Reference
---

15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/ContentSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ContentSection
description: ContentSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title |
| **content** | `string` | ✅ | Content in markdown or HTML format |
| **align** | `Enum<'left' \| 'center' \| 'right'>` | optional | |
| **maxWidth** | `Enum<'sm' \| 'md' \| 'lg' \| 'xl' \| 'full'>` | optional | |
16 changes: 16 additions & 0 deletions content/docs/references/website/content-block/CtaSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: CtaSection
description: CtaSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **headline** | `string` | ✅ | CTA headline |
| **description** | `string` | optional | CTA description |
| **buttons** | `object[]` | ✅ | CTA buttons |
| **backgroundColor** | `string` | optional | Background color (hex, rgb, or preset) |
| **align** | `Enum<'left' \| 'center' \| 'right'>` | optional | |
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: CustomHtmlSection
description: CustomHtmlSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **html** | `string` | ✅ | Custom HTML content |
11 changes: 11 additions & 0 deletions content/docs/references/website/content-block/FaqItem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: FaqItem
description: FaqItem Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **question** | `string` | ✅ | FAQ question |
| **answer** | `string` | ✅ | FAQ answer (markdown or HTML) |
15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/FaqSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: FaqSection
description: FaqSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title |
| **description** | `string` | optional | Section description |
| **items** | `object[]` | ✅ | FAQ items |
| **style** | `Enum<'accordion' \| 'grid'>` | optional | |
13 changes: 13 additions & 0 deletions content/docs/references/website/content-block/FeatureItem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: FeatureItem
description: FeatureItem Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **icon** | `string` | optional | Icon name or URL |
| **title** | `string` | ✅ | Feature title |
| **description** | `string` | ✅ | Feature description |
| **link** | `object` | optional | Optional link to learn more |
16 changes: 16 additions & 0 deletions content/docs/references/website/content-block/FeaturesSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: FeaturesSection
description: FeaturesSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title |
| **description** | `string` | optional | Section description |
| **features** | `object[]` | ✅ | List of features |
| **columns** | `Enum<'2' \| '3' \| '4'>` | optional | Number of columns in grid |
| **align** | `Enum<'left' \| 'center' \| 'right'>` | optional | |
19 changes: 19 additions & 0 deletions content/docs/references/website/content-block/HeroSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: HeroSection
description: HeroSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **headline** | `string` | ✅ | Main headline |
| **subheadline** | `string` | optional | Subheadline or tagline |
| **description** | `string` | optional | Description text |
| **buttons** | `object[]` | optional | CTA buttons |
| **backgroundImage** | `object` | optional | Hero background image |
| **backgroundVideo** | `object` | optional | Hero background video |
| **align** | `Enum<'left' \| 'center' \| 'right'>` | optional | |
| **overlayOpacity** | `number` | optional | |
15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/ImageConfig.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: ImageConfig
description: ImageConfig Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **src** | `string` | ✅ | Image source URL |
| **alt** | `string` | ✅ | Image alt text |
| **width** | `number` | optional | Image width in pixels |
| **height** | `number` | optional | Image height in pixels |
| **objectFit** | `Enum<'cover' \| 'contain' \| 'fill' \| 'none' \| 'scale-down'>` | optional | |
| **loading** | `Enum<'lazy' \| 'eager'>` | optional | |
14 changes: 14 additions & 0 deletions content/docs/references/website/content-block/LogoCloudSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: LogoCloudSection
description: LogoCloudSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title (e.g., "Trusted by") |
| **logos** | `object[]` | ✅ | Logo images |
| **grayscale** | `boolean` | optional | Display logos in grayscale |
17 changes: 17 additions & 0 deletions content/docs/references/website/content-block/PricingPlan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: PricingPlan
description: PricingPlan Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **name** | `string` | ✅ | Plan name |
| **description** | `string` | optional | Plan description |
| **price** | `string` | ✅ | Price (e.g., "$29", "Free", "Custom") |
| **period** | `string` | optional | Billing period (e.g., "/month", "/year") |
| **features** | `string[]` | ✅ | List of features |
| **button** | `object` | ✅ | CTA button |
| **highlighted** | `boolean` | optional | Highlight as recommended plan |
| **badge** | `string` | optional | Badge text (e.g., "Popular", "Best Value") |
15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/PricingSection.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: PricingSection
description: PricingSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title |
| **description** | `string` | optional | Section description |
| **plans** | `object[]` | ✅ | Pricing plans |
| **billingToggle** | `object` | optional | Enable monthly/yearly toggle |
15 changes: 15 additions & 0 deletions content/docs/references/website/content-block/TestimonialItem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: TestimonialItem
description: TestimonialItem Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **quote** | `string` | ✅ | Testimonial quote |
| **author** | `string` | ✅ | Author name |
| **title** | `string` | optional | Author title or role |
| **company** | `string` | optional | Author company |
| **avatar** | `string` | optional | Author avatar image URL |
| **rating** | `number` | optional | Rating out of 5 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: TestimonialsSection
description: TestimonialsSection Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `string` | ✅ | |
| **id** | `string` | optional | Section ID for anchor links |
| **title** | `string` | optional | Section title |
| **description** | `string` | optional | Section description |
| **testimonials** | `object[]` | ✅ | List of testimonials |
| **style** | `Enum<'grid' \| 'carousel' \| 'masonry'>` | optional | |
| **columns** | `Enum<'1' \| '2' \| '3'>` | optional | |
3 changes: 3 additions & 0 deletions content/docs/references/website/content-block/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"title": "Content Block"
}
24 changes: 24 additions & 0 deletions content/docs/references/website/landing-page/LandingPage.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: LandingPage
description: LandingPage Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **name** | `string` | ✅ | Page identifier (snake_case) |
| **title** | `string` | ✅ | Page title |
| **slug** | `string` | ✅ | URL slug (e.g., "/", "/pricing", "/about") |
| **description** | `string` | optional | Page description |
| **seo** | `object` | optional | SEO and meta tags configuration |
| **sections** | `object \| object \| object \| object \| object \| object \| object \| object \| object[]` | ✅ | Page content sections |
| **navigation** | `string` | optional | Navigation name to use |
| **footer** | `string` | optional | Footer name to use |
| **published** | `boolean` | optional | Whether page is published |
| **publishedAt** | `string` | optional | Publication timestamp |
| **updatedAt** | `string` | optional | Last update timestamp |
| **template** | `string` | optional | Custom template identifier |
| **scripts** | `object[]` | optional | Custom scripts to inject |
| **customCss** | `string` | optional | Custom CSS styles |
| **variant** | `string` | optional | A/B testing variant identifier |
3 changes: 3 additions & 0 deletions content/docs/references/website/landing-page/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"title": "Landing Page"
}
11 changes: 11 additions & 0 deletions content/docs/references/website/meta.cn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"title": "网站表达协议",
"root": true,
"pages": [
"content-block",
"landing-page",
"navigation",
"seo",
"website"
]
}
11 changes: 11 additions & 0 deletions content/docs/references/website/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"title": "Website Protocol",
"root": true,
"pages": [
"content-block",
"landing-page",
"navigation",
"seo",
"website"
]
}
18 changes: 18 additions & 0 deletions content/docs/references/website/navigation/ButtonMenuItem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: ButtonMenuItem
description: ButtonMenuItem Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **id** | `string` | ✅ | Unique identifier for menu item |
| **label** | `string` | ✅ | Display label |
| **icon** | `string` | optional | Icon name or URL |
| **badge** | `string` | optional | Badge text |
| **visible** | `string` | optional | Visibility formula condition |
| **type** | `string` | ✅ | |
| **href** | `string` | ✅ | Target URL |
| **variant** | `Enum<'primary' \| 'secondary' \| 'outline' \| 'ghost'>` | optional | |
| **target** | `Enum<'_self' \| '_blank'>` | optional | |
15 changes: 15 additions & 0 deletions content/docs/references/website/navigation/DropdownMenuItem.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: DropdownMenuItem
description: DropdownMenuItem Schema Reference
---

## Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **id** | `string` | ✅ | Unique identifier for menu item |
| **label** | `string` | ✅ | Display label |
| **icon** | `string` | optional | Icon name or URL |
| **badge** | `string` | optional | Badge text |
| **visible** | `string` | optional | Visibility formula condition |
| **type** | `string` | ✅ | |
Loading