ObjectDocs is a modern, metadata-driven documentation engine architected for the ObjectStack ecosystem. Built on top of Next.js 14 (App Router) and Fumadocs, it redefines how enterprise documentation is maintained.
Unlike traditional static site generators, ObjectDocs adopts a strict Separation of Concerns philosophy:
- Presentation: Handled by a standardized, logic-free React layer provided by
@objectdocs/site. - Configuration: Defined purely in JSON (
docs.site.json,meta.json). - Content: Written in MDX with native support for low-code components.
This architecture allows developers and technical writers to manage complex, multi-product documentation sites without touching a single line of UI code.
-
🚀 Metadata-Driven Architecture Control navigation, sidebars, SEO, and branding entirely via
docs.site.jsonand localmeta.jsonfiles. Zero React knowledge required for content maintainers. -
🧩 Low-Code Native Seamlessly embed live, interactive components directly within your Markdown.
-
🤖 AI Translation Built-in CLI command to automatically translate documentation using OpenAI.
-
🎨 Enterprise-Grade UI Polished interface built on Radix UI and Tailwind CSS, featuring automatic dark mode, spotlight effects, and accessible primitives out of the box.
Initialize your documentation site structure:
mkdir my-docs
cd my-docs
pnpm init
pnpm add -D @objectdocs/cliAdd the following scripts to your package.json:
{
"scripts": {
"dev": "objectdocs dev",
"build": "objectdocs build",
"start": "objectdocs start"
}
}Create the basic directory structure:
mkdir -p content/docsCreate content/docs/index.mdx:
---
title: Welcome
description: My new docs site
---
# Hello World
Welcome to ObjectDocs!Create content/docs/meta.json:
{
"pages": ["index"]
}pnpm devVisit http://localhost:7777 to see your site.
ObjectDocs enforces a clear directory structure to ensure maintainability at scale:
.
├── content/ # [Data Layer] Raw Content
│ ├── docs.site.json # Global settings (Nav, Logo, Branding)
│ └── docs/
│ ├── meta.json # Directory structure & sorting control
│ └── index.mdx # Documentation content
├── package.json
└── ...
ObjectDocs is designed to be "Configuration as Code".
Manage global navigation, branding, and feature flags:
{
"branding": {
"name": "ObjectStack",
"logo": {
"light": "/logo.svg",
"dark": "/logo-dark.svg"
}
},
"links": [
{ "text": "Guide", "url": "/docs" },
{ "text": "GitHub", "url": "https://github.com/objectstack-ai", "icon": "github" }
]
}Control the sidebar order and structure using local metadata files in each directory:
{
"title": "Getting Started",
"pages": [
"introduction",
"---Installation---",
"quick-start",
"configuration"
]
}This repository is a monorepo managed by pnpm workspaces:
- @objectdocs/cli: The command-line interface for building and developing sites.
- @objectdocs/site: The core Next.js application template.
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.