Documentation

Practical product docs for setting up, mapping, editing, and operating BaseBuddy.

Docs/Reference

Reference

Quick reference for config setup, supported storage patterns, permissions, file types, limits, and glossary terms.

Setup storage

AreaSource of truth
Install auth secretBASEBUDDY_AUTH_SECRET
Local users and sessionsselected BaseBuddy app-data backend
Projects and membersselected BaseBuddy app-data backend
Permissions and author scopesselected BaseBuddy app-data backend
Mapping and mapping revisionsselected BaseBuddy app-data backend
Sidebar layoutselected BaseBuddy app-data backend
Invitationsselected BaseBuddy app-data backend
Default app-data backendbasebuddy-data/basebuddy.config.json
Optional app-data backendBASEBUDDY_APP_STATE_BACKEND=supabase-same-project or supabase-split-project
Content Postgres URLBASEBUDDY_CONTENT_DATABASE_URL
Optional Supabase storage valuesBASEBUDDY_SUPABASE_URL, BASEBUDDY_SUPABASE_PUBLISHABLE_KEY, BASEBUDDY_SUPABASE_SECRET_KEY
Optional public brandingNEXT_PUBLIC_BASEBUDDY_APP_NAME, NEXT_PUBLIC_BASEBUDDY_DOCS_URL, NEXT_PUBLIC_BASEBUDDY_SUPPORT_URL

Configuration explains how these groups work, and How to configure production setup is the deployment checklist.

App data storage options compares basebuddy-data/, a separate Supabase/Postgres database, and the same database as your content.

Supported relation patterns

PatternTypical use
Foreign keyOne author or one category
Join tableMany tags or categories
Helper rowOne metadata row per post
JSON pathNested metadata or SEO values
Array valueList stored in one column
Value-match relationStored slug or code points at target row

Mapping fields and relations explains these relation shapes in the editor, including author scopes and large relation search.

Common field families

FamilyDefault behavior
Text and long textText input, textarea, or rich editor overlay
NumbersNumber or decimal input
BooleanToggle
EnumDropdown from allowed values
Date and datetimeDate/time input
JSON and XMLStructured editor or code editor when safe
ArraysRepeatable editor or mapped item editor
RelationsSingle or multi selector
Media and filesPicker connected to mapped storage
Geometry, ranges, composites, and network typesStructured controls when the contract is known; read-only when unsafe
Generated/system valuesRead-only by default

Storage contract and UI is the canonical product explanation for how these field families become controls.

Unsupported or read-only patterns

Fields default to read-only when the value is generated, view-derived, trigger-managed, a system identifier, an unknown composite, an opaque binary value without upload support, or a polymorphic relation without an explicit discriminator contract.

Use How to fix a field showing as read-only before trying to force a risky field writable.

File and media types

LibraryAccepted types
Mediaavif, gif, jpeg, jpg, png, webp
Documentsdoc, docx, pdf, rtf, txt, md
Spreadsheetscsv, xls, xlsx
Presentationsppt, pptx
Datajson, xml
Archiveszip, gz, tar

Media and files covers storage behavior, while Caps and rate limits lists upload sizes, batch sizes, and request limits.

Glossary

TermMeaning
Config dataBaseBuddy-owned setup data like projects, members, invites, roles, and mappings
Content dataYour app's existing posts, authors, taxonomy, media, and file records
MappingSaved contract that tells BaseBuddy how to read and write content
Storage contractField-level description of source, type, shape, editability, and patch mode
Semantic roleOptional meaning like title, content, slug, status, or published date
Dirty fieldA field the user actually changed in the editor
Explicit actionA deliberate workflow action like Publish, Unpublish, or Archive

For a narrative version of these terms, start with Core concepts and How BaseBuddy works.

Public API note

BaseBuddy's editor talks to internal app APIs. Treat those routes as implementation details unless a future release explicitly documents a public API.

CLI note

Use the CLI reference for setup, diagnostics, config-backed project administration, mapping/sidebar JSON imports, and storage mapping metadata. The CLI is the supported automation surface for agents; direct config-file edits should be emergency repair only.

FAQ

QuestionAnswer
Does BaseBuddy create my content schema?No. It maps your existing schema.
Does opening a post write to my database?No. Opening content is a read-only path.
Does Save rewrite every mapped field?No. Save only sends and writes the fields you changed.
Can I use one install for multiple projects?Yes. One install can manage many mapped projects.
Can app state and content live separately?Yes. Use BASEBUDDY_APP_STATE_BACKEND=supabase-split-project; editable content still uses the content database env value.
Are storage credentials saved in project rows?No. Storage credentials live in environment variables.

The safest first production check is still task-based: How to safely edit your first post.