Copied to clipboard!

A comprehensive reference of Vibe CMS terminology, concepts, and technical terms used throughout the documentation.


A

Account

A user account within a Vibe CMS project that has authentication credentials and assigned permissions. Accounts are managed through Supabase Auth and can have different roles (admin, editor, viewer) that determine their access level.

Related terms: Authentication, Authorization, Permission, Role

Example: "Create an account for your content editors with the 'editor' role to allow them to manage content without access to system settings."

API Key

A secret token used to authenticate requests to the Vibe CMS Public API. API keys are project-specific and should be stored securely (e.g., in environment variables). They enable programmatic access to content and management operations.

Related terms: Authentication, Public API, Token, SDK

Example: VIBE_CMS_API_KEY=vibe_sk_1234567890abcdef

Asset

A file stored in Vibe CMS, such as images, PDFs, videos, or documents. Assets are managed through the Asset Manager and can be referenced in content items through file fields.

Related terms: Asset Manager, File, File Variant, MIME Type

Example: "Upload a hero image asset and reference it in your landing page content item."

Asset Manager

The file storage and management system within Vibe CMS. It handles file uploads, organization into folders, metadata management, and provides public URLs for accessing files. The Asset Manager supports deduplication and automatic variant generation.

Related terms: Asset, File, Folder, File Variant, CDN

Example: "Use the Asset Manager to organize all product images into a /products folder."

Authentication

The process of verifying a user's identity, typically through email/password credentials or other methods (OAuth, magic links). Vibe CMS uses Supabase Auth for authentication.

Related terms: Authorization, Account, JWT, Token, Session Variable

Example: "Users must complete authentication before accessing the admin interface."

Authorization

The process of determining what actions an authenticated user is permitted to perform. Vibe CMS uses Row-Level Security (RLS) policies in Supabase to enforce authorization rules at the database level.

Related terms: Authentication, Permission, RLS, Role, Zero-Trust Architecture

Example: "Authorization rules prevent editors from deleting collections or managing project settings."


B

Basejump

An open-source multi-tenant SaaS starter kit for Supabase that Vibe CMS is built upon. Basejump provides account management, team collaboration, billing infrastructure, and multi-tenant database architecture.

Related terms: Multi-Tenant, Supabase, Project

Example: "Vibe CMS extends Basejump's multi-tenant foundation with content management capabilities."

BCP 47

The IETF standard for language tags used to identify locales. BCP 47 codes combine language, region, and script information (e.g., en-US, fr-FR, zh-Hans-CN).

Related terms: Locale, Locale Code, Translation

Example: "Use the BCP 47 code de-DE to create a German translation for your content."

Boolean Field

A field type that stores true/false values. Boolean fields use a toggle interface in the admin UI and are useful for feature flags, visibility controls, and binary options.

Related terms: Field, Field Type, Interface Type

Example: "Add a featured boolean field to highlight selected blog posts on the homepage."

Bulk Operations

Actions that can be performed on multiple items simultaneously, such as bulk publishing, bulk translation, or bulk deletion. Bulk operations improve efficiency when managing large amounts of content.

Related terms: CRUD, Content Item, Collection

Example: "Use bulk operations to publish all draft blog posts at once before a product launch."


C

Cache

A temporary storage layer that stores frequently accessed data to improve performance and reduce database queries. Vibe CMS uses caching at multiple levels, including CDN caching for public content.

Related terms: CDN, TTL, Performance

Example: "Public API responses are cached with a 5-minute TTL to reduce server load."

CDN (Content Delivery Network)

A distributed network of servers that cache and deliver static content from locations close to users. Vibe CMS uses CDN caching for asset delivery and public API responses.

Related terms: Cache, Asset, Public API, TTL

Example: "Assets are automatically served through Supabase's CDN for fast global delivery."

Collection

A schema definition that groups related content items. Collections define the structure (fields) and behavior of content. Think of collections as content types or models.

Related terms: Content Item, Collection Field, Schema, Singleton Collection

Example: "Create a 'blog-posts' collection with fields for title, author, content, and publish date."

Collection Field

An individual data field within a collection schema. Each field has a type (text, number, boolean, file, markdown) and interface (input, textarea, markdown editor, file picker).

Related terms: Collection, Field Type, Interface Type, Schema

Example: "Add a 'title' field with type 'text' and interface 'input' to your collection."

Composite Key

A database primary key composed of multiple columns. Vibe CMS uses composite keys in translation tables to uniquely identify content by both item ID and locale.

Related terms: Primary Key, Foreign Key, Translation, Locale

Example: "Content translations use a composite key of (content_item_id, locale) to ensure one translation per language."

Content Item

A single piece of content within a collection. Content items have a unique ID and can have translations in multiple locales. They represent the actual content instances (e.g., a specific blog post, product, or page).

Related terms: Collection, Content Translation, UUID, Status

Example: "Create a new content item in the 'products' collection for your latest product launch."

Content Translation

A localized version of a content item's data. Each translation is tied to a specific locale and contains the field values for that language/region.

Related terms: Content Item, Locale, Translation, BCP 47

Example: "Add a French translation (fr-FR) to your homepage content item."

CRUD

An acronym for Create, Read, Update, Delete - the four basic operations for managing data. Vibe CMS provides full CRUD capabilities for collections, content, locales, and assets.

Related terms: API, Public API, SDK, Database Function

Example: "The SDK provides type-safe CRUD methods for all content operations."


D

Database Function

A stored procedure in PostgreSQL that encapsulates business logic at the database level. Vibe CMS uses database functions (exposed as RPC endpoints) for operations like publishing content, generating slugs, and managing versions.

Related terms: RPC, Supabase, PostgreSQL, Validation

Example: "The publish_content_item database function handles validation and version snapshots atomically."

Default Locale

The primary locale for a project, used as the fallback when content is not available in a requested locale. Every project must have exactly one default locale.

Related terms: Locale, Locale Fallback, Translation, BCP 47

Example: "Set en-US as your default locale if your primary audience is English-speaking."

Deduplication

The process of detecting and preventing duplicate file uploads. Vibe CMS uses SHA-256 hashing to identify identical files and automatically reuse existing assets, saving storage space.

Related terms: Asset Manager, Hash, File, Storage

Example: "When two editors upload the same logo, deduplication ensures only one copy is stored."

Draft

The unpublished, editable version of a content item. Drafts can be modified freely without affecting the published version visible to public API consumers.

Related terms: Status, Published Version, Draft Version, Rollback

Example: "Work on your blog post draft and preview changes before publishing to production."

Draft Version

The current working copy of a content item's data that editors actively modify. When content is published, the draft version becomes the published version and a snapshot is saved.

Related terms: Draft, Published Version, Version Snapshot, Status

Example: "The draft version contains tomorrow's announcement, while the published version shows today's content."


F

Field

See Collection Field.

Field Interface

See Interface Type.

Field Type

The data type of a collection field, determining what kind of values it can store. Vibe CMS supports: text, markdown, number, boolean, and file.

Related terms: Collection Field, Interface Type, Validation, Schema

Example: "Use field type 'markdown' for rich content that requires formatting."

File

A stored asset with associated metadata including filename, MIME type, size, folder location, and optional SEO fields (title, alt text, description).

Related terms: Asset, Asset Manager, File Variant, MIME Type

Example: "Each file includes a public URL for embedding in your frontend application."

File Variant

Alternative versions of an image file generated automatically at different sizes or formats. Vibe CMS currently generates a 512x512 preview variant for image files.

Related terms: File, Asset, Asset Manager, CDN

Example: "Use file variants to serve optimized thumbnail images in content listings."

Folder

A hierarchical organization structure for assets within the Asset Manager. Folders use path-based naming (e.g., /images/products) and help organize files logically.

Related terms: Asset Manager, File, Asset

Example: "Create a /blog/2024 folder to organize this year's blog post images."

Foreign Key

A database constraint that creates a relationship between two tables by referencing the primary key of another table. Vibe CMS uses foreign keys to maintain referential integrity.

Related terms: Primary Key, Composite Key, Database Function

Example: "Content items have a foreign key to collections, ensuring items always belong to a valid collection."


H

Hash (SHA-256)

A cryptographic hash function used to generate unique fingerprints of files. Vibe CMS uses SHA-256 hashing for file deduplication in the Asset Manager.

Related terms: Deduplication, Asset Manager, File

Example: "Two files with identical SHA-256 hashes are guaranteed to have identical content."

HTTP Status Code

Standardized numeric codes that indicate the result of an HTTP request. Vibe CMS Public API uses standard status codes: 200 (success), 400 (validation error), 401 (unauthorized), 404 (not found), 500 (server error).

Related terms: Public API, Validation, Authentication

Example: "A 404 status code indicates the requested content item was not found."


I

Interface Type

The UI component used to input/edit a field's value in the admin interface. Available interfaces: input (text input), textarea (multi-line text), markdown (rich editor), single_file (file picker), multiple_files (multiple file picker).

Related terms: Field Type, Collection Field, Schema

Example: "Use the 'markdown' interface type for fields that require rich text formatting."

Item ID

See UUID. The unique identifier for a content item.


J

JSONB

A PostgreSQL data type for storing JSON documents with indexing and querying capabilities. Vibe CMS uses JSONB columns to store flexible content data that matches collection schemas.

Related terms: Schema, Field Type, PostgreSQL, Database Function

Example: "Content field data is stored in a JSONB column, allowing for flexible schema evolution."

JWT (JSON Web Token)

A compact, URL-safe token format used for authentication. Supabase Auth issues JWTs that contain user identity and claims, which Vibe CMS uses for authorization.

Related terms: Authentication, Authorization, Session Variable, Token

Example: "The JWT includes user_id and role claims used by RLS policies to enforce permissions."


L

Locale

A language and region combination (e.g., en-US, fr-FR, de-DE) used to manage translated content. Locales follow the BCP 47 standard and each project can support multiple active locales.

Related terms: Locale Code, BCP 47, Translation, Content Translation

Example: "Add the 'es-ES' locale to provide Spanish translations for your European audience."

Locale Code

The BCP 47 identifier for a locale (e.g., en-US, ja-JP, pt-BR).

Related terms: Locale, BCP 47, Translation

Example: "Use locale code 'fr-CA' for French Canadian translations."

Locale Fallback

The mechanism that returns default locale content when a translation doesn't exist for the requested locale. This ensures content is always available even if not fully translated.

Related terms: Default Locale, Locale, Translation, Public API

Example: "When French content is missing, locale fallback returns the English default locale content."


M

Markdown

A lightweight markup language for formatting text. Vibe CMS has a dedicated markdown field type and rich editor interface for content that requires formatting, links, lists, and headings.

Related terms: Field Type, Interface Type, Content Item

Example: "Use a markdown field for blog post content that needs headings, links, and formatted text."

MCP (Model Context Protocol)

An open protocol by Anthropic that enables AI assistants (like Claude) to interact with external systems. Vibe CMS provides an MCP server that allows AI agents to manage content, collections, locales, and assets.

Related terms: SDK, Public API, Integration

Example: "Connect Claude Desktop to Vibe CMS via MCP to manage content through natural language."

Metadata

Descriptive information about content or files. For content items, metadata includes status, description, and timestamps. For files, metadata includes title, alt text, caption, description, and SEO fields.

Related terms: Asset, File, Content Item, SEO

Example: "Add alt text metadata to images for accessibility and SEO benefits."

Migration

A database schema change that modifies table structures, adds constraints, or updates data. Vibe CMS manages migrations through Supabase's migration system.

Related terms: Schema, Database Function, PostgreSQL

Example: "Run migrations to add new system tables when upgrading Vibe CMS."

MIME Type

A standardized identifier for file formats (e.g., image/jpeg, application/pdf, text/plain). Vibe CMS uses MIME types to validate file uploads and determine appropriate handling.

Related terms: File, Asset, Validation

Example: "The MIME type 'image/png' indicates a PNG image file."

Multi-Tenant

An architecture where a single application instance serves multiple independent customers (tenants), with data isolation between them. Vibe CMS is multi-tenant, with each project acting as a separate tenant.

Related terms: Project, Basejump, RLS, Zero-Trust Architecture

Example: "Multi-tenant architecture allows Vibe CMS to securely host thousands of independent projects."


P

Pagination

The practice of splitting large result sets into smaller pages. The Vibe CMS Public API supports pagination through limit and offset parameters.

Related terms: Public API, Query, Performance

Example: "Use pagination with limit=20 to fetch blog posts 20 at a time."

Permission

A specific action that a user is allowed to perform, determined by their role and authorization policies. Permissions control access to collections, content, settings, and assets.

Related terms: Authorization, Role, RLS, Account

Example: "Editor permissions allow content management but restrict access to collection schema changes."

Primary Key

A unique identifier for a database row. Vibe CMS uses UUIDs as primary keys for most entities, and composite keys for translations.

Related terms: UUID, Composite Key, Foreign Key

Example: "Each content item has a UUID primary key that uniquely identifies it across the system."

Project

An isolated Vibe CMS instance with its own collections, content, locales, assets, and team members. Projects are the top-level multi-tenant boundary.

Related terms: Multi-Tenant, Basejump, Account

Example: "Create separate projects for each website or application you manage with Vibe CMS."

Public API

The read-only HTTP API that delivers published content to frontend applications. The Public API requires API key authentication and supports locale selection, filtering, and caching.

Related terms: SDK, API Key, CDN, Cache

Example: "Your frontend fetches published content from the Public API at build time or runtime."

Published Version

The stable, public-facing version of a content item that is visible through the Public API. Publishing creates a snapshot and makes draft changes live.

Related terms: Draft Version, Status, Version Snapshot, Public API

Example: "The published version is served to website visitors, while editors work on the draft."


Q

Query

A request to retrieve data from the CMS, either through the SDK or Public API. Queries can filter, sort, and paginate results.

Related terms: SDK, Public API, Query Builder, Pagination

Example: "Query the 'blog-posts' collection to fetch all published posts in French."

Query Builder

The fluent API interface in the Vibe CMS SDK that constructs type-safe queries. The query builder provides methods like .collection(), .locale(), .slug(), .first(), .all().

Related terms: SDK, Query, Type Safety

Example: cms.collection('blog-posts').locale('fr-FR').slug('hello-world').first()


R

Rate Limiting

A mechanism that restricts the number of API requests a client can make within a time window. Rate limiting prevents abuse and ensures fair resource usage.

Related terms: Public API, HTTP Status Code, Performance

Example: "The Public API enforces rate limits to prevent excessive requests from individual clients."

RLS (Row-Level Security)

A PostgreSQL feature that enforces access control at the database row level. Vibe CMS uses RLS policies to implement zero-trust authorization, ensuring users can only access data they're permitted to see.

Related terms: Authorization, Permission, Multi-Tenant, Zero-Trust Architecture

Example: "RLS policies prevent users from accessing content items belonging to other projects."

Rollback

The ability to restore a previous version of content. Vibe CMS supports instant rollback by republishing a historical version snapshot.

Related terms: Version Snapshot, Published Version, Draft Version

Example: "Rollback to yesterday's version if today's content update contains errors."

RPC (Remote Procedure Call)

A method of executing database functions through Supabase's API. Vibe CMS exposes certain operations (like publishing, slug generation) as RPC endpoints.

Related terms: Database Function, Public API, Supabase

Example: "Call the publish_content_item RPC function to atomically publish content."


S

Schema

The structure definition of a collection, including its fields, types, interfaces, and constraints. Schemas are dynamic and can be modified through the admin interface or MCP.

Related terms: Collection, Collection Field, Field Type, Migration

Example: "Define your schema with fields for title, body, author, and publication date."

SDK (Software Development Kit)

The TypeScript/JavaScript library that provides type-safe access to Vibe CMS content. The SDK handles authentication, querying, caching, and response parsing.

Related terms: Public API, Query Builder, Type Safety, Integration

Example: npm install @vibe-cms/sdk to integrate Vibe CMS into your application.

Session Variable

A PostgreSQL variable set during a database connection that contains authentication context (user ID, role, project ID). RLS policies use session variables to enforce permissions.

Related terms: JWT, RLS, Authentication, Authorization

Example: "The auth.uid() session variable contains the authenticated user's ID for RLS policies."

Singleton Collection

A collection limited to a single content item, used for unique pages like homepages, settings, or about pages. Singletons cannot have multiple items created.

Related terms: Collection, Content Item, Schema

Example: "Create a 'homepage' singleton collection for your site's landing page content."

Slug

A URL-friendly identifier for a content item, typically derived from the title. Slugs must be unique within a collection and locale, and use lowercase letters, numbers, and hyphens.

Related terms: Content Item, URL, Query

Example: "A blog post titled 'Hello World' might have the slug 'hello-world'."

Sort Order

A numeric value that determines the display order of fields within a collection schema. Lower sort order values appear first in the admin interface.

Related terms: Collection Field, Schema, Interface Type

Example: "Set sort_order=0 for title, 1 for author, 2 for content to control field arrangement."

Status

The publication state of a content item: draft (unpublished, editable), published (live, public-facing), or archived (hidden from public API, preserved for records).

Related terms: Draft, Published Version, Content Item, Public API

Example: "Change status from 'draft' to 'published' to make content visible to your audience."

Supabase

An open-source Firebase alternative providing PostgreSQL database, authentication, storage, and real-time capabilities. Vibe CMS is built on Supabase infrastructure.

Related terms: PostgreSQL, Authentication, RLS, Basejump

Example: "Vibe CMS leverages Supabase's Auth and Storage services for user management and file hosting."


T

Token

A credential used for authentication or authorization. Vibe CMS uses API key tokens for Public API access and JWT tokens for admin authentication.

Related terms: API Key, JWT, Authentication, Authorization

Example: "Include your API token in the X-API-Key header for Public API requests."

Translation

A localized version of content. Translations allow content items to be presented in multiple languages and regional variants.

Related terms: Content Translation, Locale, Locale Code, BCP 47

Example: "Add a German translation to make your content accessible to German-speaking users."

TTL (Time To Live)

The duration that cached data remains valid before expiring. Vibe CMS uses TTL settings for CDN caching and API response caching.

Related terms: Cache, CDN, Performance, Public API

Example: "A 300-second TTL means cached content refreshes every 5 minutes."

Type Safety

The ability of a programming language or framework to catch type-related errors at compile time rather than runtime. The Vibe CMS SDK provides full TypeScript type safety for content queries.

Related terms: SDK, TypeScript, Validation, Query Builder

Example: "Type safety in the SDK prevents accessing non-existent fields and catches errors during development."


U

UUID (Universally Unique Identifier)

A 128-bit identifier that is globally unique. Vibe CMS uses UUIDs (version 4) as primary keys for content items, collections, locales, and files.

Related terms: Primary Key, Content Item, Item ID

Example: bfa5e026-4f09-44d3-b1ff-5bc24d0b99e7 is a UUID identifying a content item.


V

Validation

The process of verifying that data meets defined rules and constraints. Vibe CMS validates field data against schema definitions, required field constraints, and data type requirements.

Related terms: Schema, Field Type, HTTP Status Code, Database Function

Example: "Validation ensures markdown fields receive properly formatted markdown text."

Variant

See File Variant.

Version

See Published Version, Draft Version, or Version Snapshot.

Version Snapshot

A historical record of a content item's published state at a specific point in time. Snapshots enable version history tracking and rollback capabilities.

Related terms: Published Version, Rollback, Content Item

Example: "Each publication creates a version snapshot that can be restored later if needed."


Z

Zero-Trust Architecture

A security model that assumes no implicit trust and verifies every access request. Vibe CMS implements zero-trust through RLS policies that validate permissions at the database level for every query.

Related terms: RLS, Authorization, Permission, Multi-Tenant

Example: "Zero-trust architecture ensures users can only access their project's data, even if application code is compromised."


Additional Resources


This glossary is actively maintained. If you encounter a term that needs clarification or isn't listed, please suggest additions through our documentation feedback channels.