From c405be88e2eb3b33696ff993fd2bddfc845d8882 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:34:27 +0000 Subject: [PATCH 1/5] Initial plan From 50c7e5c5c28d2f2a3c7f7bbebc60e17fc6d2870f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:38:23 +0000 Subject: [PATCH 2/5] Merge example directory into examples/starter Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- README.md | 2 +- example/.gitignore | 36 --- example/README.md | 206 ----------------- example/content/docs.site.json | 23 -- example/content/docs/index.mdx | 45 ---- example/content/docs/meta.json | 4 - example/package.json | 14 -- examples/starter/.gitignore | 39 +++- {example => examples/starter}/ARCHITECTURE.md | 0 {example => examples/starter}/INDEX.md | 0 examples/starter/README.md | 207 +++++++++++++++--- {example => examples/starter}/TESTING.md | 0 {example => examples/starter}/VERCEL.md | 0 examples/starter/content/docs.site.json | 17 +- .../starter}/content/docs/configuration.mdx | 0 .../starter}/content/docs/getting-started.mdx | 0 examples/starter/content/docs/guide.mdx | 18 -- examples/starter/content/docs/index.mdx | 42 +++- examples/starter/content/docs/meta.json | 5 +- examples/starter/package.json | 7 +- .../starter}/public/README.md | 0 {example => examples/starter}/validate.sh | 0 {example => examples/starter}/vercel.json | 0 23 files changed, 263 insertions(+), 402 deletions(-) delete mode 100644 example/.gitignore delete mode 100644 example/README.md delete mode 100644 example/content/docs.site.json delete mode 100644 example/content/docs/index.mdx delete mode 100644 example/content/docs/meta.json delete mode 100644 example/package.json rename {example => examples/starter}/ARCHITECTURE.md (100%) rename {example => examples/starter}/INDEX.md (100%) rename {example => examples/starter}/TESTING.md (100%) rename {example => examples/starter}/VERCEL.md (100%) rename {example => examples/starter}/content/docs/configuration.mdx (100%) rename {example => examples/starter}/content/docs/getting-started.mdx (100%) delete mode 100644 examples/starter/content/docs/guide.mdx rename {example => examples/starter}/public/README.md (100%) rename {example => examples/starter}/validate.sh (100%) rename {example => examples/starter}/vercel.json (100%) diff --git a/README.md b/README.md index 841028b..9c3914c 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ This repository is a monorepo managed by pnpm workspaces: ## ๐Ÿ“š Examples -- **[example](./example)**: A complete standalone project demonstrating CLI-created project structure. Use this to test Vercel deployment and validate that published npm packages work correctly outside the monorepo. +- **[examples/starter](./examples/starter)**: A complete starter template demonstrating the recommended project structure. Includes comprehensive documentation on architecture, testing, and deployment guides. Ready for production use on Vercel and other platforms. ## ๐Ÿค Contributing diff --git a/example/.gitignore b/example/.gitignore deleted file mode 100644 index 7933a4d..0000000 --- a/example/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# Dependencies -node_modules/ -.pnp -.pnp.js - -# Testing -coverage/ - -# Next.js -.next/ -out/ - -# Production -build/ -dist/ - -# Misc -.DS_Store -*.pem - -# Debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# Local env files -.env -.env*.local - -# Vercel -.vercel - -# TypeScript -*.tsbuildinfo -next-env.d.ts diff --git a/example/README.md b/example/README.md deleted file mode 100644 index 7d4d159..0000000 --- a/example/README.md +++ /dev/null @@ -1,206 +0,0 @@ -# ObjectDocs Example Project - -This is an **example project** that demonstrates how a documentation site created with the ObjectDocs CLI works in a real-world scenario. It's designed to test and validate deployment on platforms like Vercel. - -## ๐Ÿ“‹ Purpose - -This example serves multiple purposes: - -1. **Testing Reference**: Validate that CLI-created projects can be deployed successfully -2. **Deployment Guide**: Demonstrate the correct setup for production deployments -3. **Integration Test**: Ensure `@objectdocs/cli` and `@objectdocs/site` work together correctly when installed from npm (not workspace) - -## ๐ŸŽฏ Key Differences from `examples/starter` - -- **Real npm packages**: Uses `@objectdocs/cli` from npm registry (not `workspace:*`) -- **Standalone setup**: Completely independent from the monorepo -- **Vercel-ready**: Configured for deployment on Vercel and other platforms -- **Production representative**: Mirrors exactly how a user would create a project - -## ๐Ÿ“ Project Structure - -``` -example/ -โ”œโ”€โ”€ content/ -โ”‚ โ”œโ”€โ”€ docs.site.json # Global site configuration -โ”‚ โ””โ”€โ”€ docs/ -โ”‚ โ”œโ”€โ”€ meta.json # Sidebar navigation structure -โ”‚ โ”œโ”€โ”€ index.mdx # Home page -โ”‚ โ”œโ”€โ”€ getting-started.mdx -โ”‚ โ””โ”€โ”€ configuration.mdx -โ”œโ”€โ”€ public/ # Static assets (logos, images) -โ”œโ”€โ”€ package.json # Uses @objectdocs/cli from npm -โ””โ”€โ”€ README.md # This file -``` - -## ๐Ÿš€ Getting Started - -### Prerequisites - -- Node.js 18+ -- pnpm (recommended) or npm - -### Installation - -1. Navigate to the example directory: - -```bash -cd example -``` - -2. Install dependencies: - -```bash -pnpm install -``` - -This will install `@objectdocs/cli` from npm, which in turn will pull `@objectdocs/site` as a dependency. - -### Development - -Start the development server: - -```bash -pnpm dev -``` - -The site will be available at [http://localhost:7777](http://localhost:7777). - -### Building - -Build the project for production: - -```bash -pnpm build -``` - -This will generate the production build in the `.next` directory. - -### Production Server - -Start the production server: - -```bash -pnpm start -``` - -### Validation - -Run the validation script to check your project setup: - -```bash -bash validate.sh -``` - -This will verify: -- โœ… Package.json configuration -- โœ… Content structure -- โœ… MDX frontmatter -- โœ… Dependencies -- โœ… Vercel configuration -- โœ… Git ignore settings - -## ๐ŸŒ Deploying to Vercel - -### Method 1: Using Vercel CLI - -1. Install Vercel CLI: - -```bash -npm i -g vercel -``` - -2. Deploy from the example directory: - -```bash -cd example -vercel -``` - -### Method 2: Using GitHub Integration - -1. Push this example to your GitHub repository -2. Import the project in Vercel -3. Set the **Root Directory** to `example` -4. Vercel will auto-detect Next.js settings - -### Vercel Configuration - -No special configuration is needed. Vercel will automatically: -- Detect the Next.js framework -- Use `pnpm build` (via `objectdocs build`) as the build command -- Use the `.next` directory as the output - -## โœ… Testing Checklist - -Use this checklist to validate the example works correctly: - -- [ ] `pnpm install` completes without errors -- [ ] `pnpm dev` starts the development server -- [ ] All pages load correctly in the browser -- [ ] Navigation works (sidebar, header links) -- [ ] `pnpm build` completes successfully -- [ ] `pnpm start` serves the production build -- [ ] Deployment to Vercel succeeds -- [ ] Deployed site is fully functional - -## ๐Ÿ”ง Troubleshooting - -### Issue: "Cannot find module '@objectdocs/site'" - -**Solution**: Make sure you're using the published version of `@objectdocs/cli` from npm, not a workspace reference. - -### Issue: Vercel build fails - -**Possible causes**: -1. Using `workspace:*` reference instead of npm version -2. Missing or incorrect `package.json` scripts -3. Node.js version incompatibility - -**Solution**: -- Check that `package.json` uses `"@objectdocs/cli": "^0.2.11"` (or latest version) -- Ensure build script is `"build": "objectdocs build"` -- Verify Node.js version is 18+ - -### Issue: Broken links or missing content - -**Solution**: -- Verify all pages listed in `meta.json` have corresponding `.mdx` files -- Check that file names match exactly (case-sensitive) -- Ensure frontmatter includes both `title` and `description` - -## ๐Ÿ“ Notes for Development - -### Updating CLI Version - -When a new version of `@objectdocs/cli` is published: - -```bash -pnpm up @objectdocs/cli -``` - -### Adding New Pages - -1. Create a new `.mdx` file in `content/docs/` -2. Add the page slug to `content/docs/meta.json` -3. Include proper frontmatter in the MDX file - -### Customizing Branding - -Edit `content/docs.site.json` to change: -- Site name -- Logo images -- Navigation links -- Build output type - -## ๐Ÿค Contributing - -This example is part of the ObjectDocs project. If you find issues or have improvements: - -1. Test your changes in this example first -2. Ensure deployment still works -3. Submit a PR with clear description - -## ๐Ÿ“„ License - -MIT - Same as the main ObjectDocs project diff --git a/example/content/docs.site.json b/example/content/docs.site.json deleted file mode 100644 index 2e797f9..0000000 --- a/example/content/docs.site.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "branding": { - "name": "ObjectDocs Example", - "logo": { - "light": "/logo.svg", - "dark": "/logo-dark.svg" - } - }, - "links": [ - { - "text": "Documentation", - "url": "/docs" - }, - { - "text": "GitHub", - "url": "https://github.com/objectstack-ai/objectdocs", - "icon": "github" - } - ], - "build": { - "output": "standalone" - } -} diff --git a/example/content/docs/index.mdx b/example/content/docs/index.mdx deleted file mode 100644 index 7ac0082..0000000 --- a/example/content/docs/index.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Welcome to ObjectDocs -description: A modern documentation engine for the low-code era ---- - -# Welcome to ObjectDocs - -Welcome to the ObjectDocs example project! This demonstrates how a project created with the ObjectDocs CLI works in production. - -## What is ObjectDocs? - -ObjectDocs is a next-generation documentation engine built on: - -- **Next.js 14** (App Router) -- **Fumadocs** (documentation middleware) -- **Configuration as Code** philosophy - -## Key Features - -{/* ObjectDocs provides Fumadocs components globally - no imports needed */} - - - Control navigation, sidebars, and SEO entirely via JSON configuration files. - - - - Seamlessly embed interactive components within your Markdown. - - - - Built-in CLI command to automatically translate documentation using OpenAI. - - - - Polished interface with automatic dark mode and accessibility features. - - - -## Getting Started - -Check out the [Getting Started](/docs/getting-started) guide to learn how to use ObjectDocs. - -## Configuration - -Learn about [Configuration](/docs/configuration) options to customize your documentation site. diff --git a/example/content/docs/meta.json b/example/content/docs/meta.json deleted file mode 100644 index a55bf4c..0000000 --- a/example/content/docs/meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "title": "Documentation", - "pages": ["index", "getting-started", "configuration"] -} diff --git a/example/package.json b/example/package.json deleted file mode 100644 index ae07e2d..0000000 --- a/example/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "objectdocs-example", - "version": "0.1.0", - "private": true, - "description": "Example project created with ObjectDocs CLI", - "scripts": { - "dev": "objectdocs dev", - "build": "objectdocs build", - "start": "objectdocs start" - }, - "devDependencies": { - "@objectdocs/cli": "^0.2.11" - } -} diff --git a/examples/starter/.gitignore b/examples/starter/.gitignore index cefc6d4..7933a4d 100644 --- a/examples/starter/.gitignore +++ b/examples/starter/.gitignore @@ -1,5 +1,36 @@ -node_modules -.next -out -.env +# Dependencies +node_modules/ +.pnp +.pnp.js + +# Testing +coverage/ + +# Next.js +.next/ +out/ + +# Production +build/ +dist/ + +# Misc .DS_Store +*.pem + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Local env files +.env +.env*.local + +# Vercel +.vercel + +# TypeScript +*.tsbuildinfo +next-env.d.ts diff --git a/example/ARCHITECTURE.md b/examples/starter/ARCHITECTURE.md similarity index 100% rename from example/ARCHITECTURE.md rename to examples/starter/ARCHITECTURE.md diff --git a/example/INDEX.md b/examples/starter/INDEX.md similarity index 100% rename from example/INDEX.md rename to examples/starter/INDEX.md diff --git a/examples/starter/README.md b/examples/starter/README.md index 8ee8f7a..e226efd 100644 --- a/examples/starter/README.md +++ b/examples/starter/README.md @@ -1,64 +1,207 @@ # ObjectDocs Starter Template -This is a starter template for creating documentation sites with [ObjectDocs](https://github.com/steedos/objectdocs). It comes pre-configured with the necessary directory structure and dependencies to get you started quickly. +This is a **starter template** that demonstrates how a documentation site created with the ObjectDocs CLI works. It's designed to serve as both a learning resource and a deployment-ready template. -## Features +## ๐Ÿ“‹ Purpose -- **Configuration as Code**: Manage site navigation and settings via JSON. -- **MDX Support**: Write content using Markdown mixed with React components. -- **Live Preview**: Fast development server with hot reload. -- **Production Ready**: Optimized static build output. +This starter template serves multiple purposes: -## Getting Started +1. **Quick Start Reference**: Get up and running with ObjectDocs quickly +2. **Deployment Guide**: Demonstrate the correct setup for production deployments +3. **Best Practices**: Show recommended structure and configuration +4. **Testing Reference**: Validate that CLI-created projects work correctly -### 1. Installation +## ๐ŸŽฏ Key Features -Install the dependencies: +- **Complete Documentation**: Includes comprehensive guides on architecture, testing, and deployment +- **Ready-to-Deploy**: Configured for deployment on Vercel and other platforms +- **Workspace Integration**: Uses workspace dependencies for development +- **Production Representative**: Mirrors exactly how a user would create a project + +## ๐Ÿ“ Project Structure + +``` +examples/starter/ +โ”œโ”€โ”€ content/ +โ”‚ โ”œโ”€โ”€ docs.site.json # Global site configuration +โ”‚ โ””โ”€โ”€ docs/ +โ”‚ โ”œโ”€โ”€ meta.json # Sidebar navigation structure +โ”‚ โ”œโ”€โ”€ index.mdx # Home page +โ”‚ โ”œโ”€โ”€ getting-started.mdx +โ”‚ โ””โ”€โ”€ configuration.mdx +โ”œโ”€โ”€ public/ # Static assets (logos, images) +โ”œโ”€โ”€ package.json # Uses @objectdocs/cli from workspace +โ””โ”€โ”€ README.md # This file +``` + +## ๐Ÿš€ Getting Started + +### Prerequisites + +- Node.js 18+ +- pnpm (recommended) or npm + +### Installation + +1. Navigate to the starter directory: + +```bash +cd examples/starter +``` + +2. Install dependencies: ```bash pnpm install ``` -### 2. Development +This will install `@objectdocs/cli` from the workspace, which in turn will use `@objectdocs/site` as a dependency. + +### Development Start the development server: ```bash -pnpm docs:dev +pnpm dev ``` -Open [http://localhost:7777](http://localhost:7777) in your browser to see the result. +The site will be available at [http://localhost:7777](http://localhost:7777). -### 3. Building +### Building -Build the static site for production: +Build the project for production: ```bash -pnpm docs:build +pnpm build ``` -The output will be in the `.next` or configured output directory. +This will generate the production build in the `.next` directory. -## Project Structure +### Production Server + +Start the production server: ```bash -. -โ”œโ”€โ”€ content/ -โ”‚ โ”œโ”€โ”€ docs.site.json # Global site configuration (branding, nav links) -โ”‚ โ””โ”€โ”€ docs/ # Documentation content root -โ”‚ โ”œโ”€โ”€ index.mdx # Homepage -โ”‚ โ”œโ”€โ”€ guide.mdx # Example page -โ”‚ โ””โ”€โ”€ meta.json # Sidebar navigation order -โ”œโ”€โ”€ package.json -โ””โ”€โ”€ README.md +pnpm start +``` + +### Validation + +Run the validation script to check your project setup: + +```bash +bash validate.sh ``` -## Customization +This will verify: +- โœ… Package.json configuration +- โœ… Content structure +- โœ… MDX frontmatter +- โœ… Dependencies +- โœ… Vercel configuration +- โœ… Git ignore settings + +## ๐ŸŒ Deploying to Vercel + +### Method 1: Using Vercel CLI + +1. Install Vercel CLI: + +```bash +npm i -g vercel +``` + +2. Deploy from the examples/starter directory: + +```bash +cd examples/starter +vercel +``` + +### Method 2: Using GitHub Integration + +1. Push this starter to your GitHub repository +2. Import the project in Vercel +3. Set the **Root Directory** to `examples/starter` +4. Vercel will auto-detect Next.js settings + +### Vercel Configuration + +No special configuration is needed. Vercel will automatically: +- Detect the Next.js framework +- Use `pnpm build` (via `objectdocs build`) as the build command +- Use the `.next` directory as the output + +## โœ… Testing Checklist + +Use this checklist to validate the starter works correctly: + +- [ ] `pnpm install` completes without errors +- [ ] `pnpm dev` starts the development server +- [ ] All pages load correctly in the browser +- [ ] Navigation works (sidebar, header links) +- [ ] `pnpm build` completes successfully +- [ ] `pnpm start` serves the production build +- [ ] Deployment to Vercel succeeds +- [ ] Deployed site is fully functional + +## ๐Ÿ”ง Troubleshooting + +### Issue: "Cannot find module '@objectdocs/site'" + +**Solution**: Make sure you're in the monorepo and using workspace references correctly. + +### Issue: Vercel build fails + +**Possible causes**: +1. Incorrect workspace configuration +2. Missing or incorrect `package.json` scripts +3. Node.js version incompatibility + +**Solution**: +- Check that `package.json` uses `"@objectdocs/cli": "workspace:*"` +- Ensure build script is `"build": "objectdocs build"` +- Verify Node.js version is 18+ + +### Issue: Broken links or missing content + +**Solution**: +- Verify all pages listed in `meta.json` have corresponding `.mdx` files +- Check that file names match exactly (case-sensitive) +- Ensure frontmatter includes both `title` and `description` + +## ๐Ÿ“ Notes for Development + +### Updating CLI Version + +When a new version of `@objectdocs/cli` is published: + +```bash +pnpm up @objectdocs/cli +``` + +### Adding New Pages + +1. Create a new `.mdx` file in `content/docs/` +2. Add the page slug to `content/docs/meta.json` +3. Include proper frontmatter in the MDX file + +### Customizing Branding + +Edit `content/docs.site.json` to change: +- Site name +- Logo images +- Navigation links +- Build output type + +## ๐Ÿค Contributing + +This starter template is part of the ObjectDocs project. If you find issues or have improvements: -- **Site Name & Logo**: Edit `content/docs.site.json`. -- **Navigation Sidebar**: Edit `content/docs/meta.json` or creating new `meta.json` files in subdirectories. -- **Adding Pages**: Create new `.mdx` files in `content/docs/` and add them to the relevant `meta.json`. +1. Test your changes in this example first +2. Ensure deployment still works +3. Submit a PR with clear description -## License +## ๐Ÿ“„ License -MIT +MIT - Same as the main ObjectDocs project diff --git a/example/TESTING.md b/examples/starter/TESTING.md similarity index 100% rename from example/TESTING.md rename to examples/starter/TESTING.md diff --git a/example/VERCEL.md b/examples/starter/VERCEL.md similarity index 100% rename from example/VERCEL.md rename to examples/starter/VERCEL.md diff --git a/examples/starter/content/docs.site.json b/examples/starter/content/docs.site.json index 940082c..8a9f76d 100644 --- a/examples/starter/content/docs.site.json +++ b/examples/starter/content/docs.site.json @@ -1,16 +1,23 @@ { "branding": { - "name": "ObjectDocs Starter" + "name": "ObjectDocs Starter", + "logo": { + "light": "/logo.svg", + "dark": "/logo-dark.svg" + } }, "links": [ { - "text": "Home", - "url": "/" + "text": "Documentation", + "url": "/docs" }, { "text": "GitHub", - "url": "https://github.com", + "url": "https://github.com/objectstack-ai/objectdocs", "icon": "github" } - ] + ], + "build": { + "output": "standalone" + } } diff --git a/example/content/docs/configuration.mdx b/examples/starter/content/docs/configuration.mdx similarity index 100% rename from example/content/docs/configuration.mdx rename to examples/starter/content/docs/configuration.mdx diff --git a/example/content/docs/getting-started.mdx b/examples/starter/content/docs/getting-started.mdx similarity index 100% rename from example/content/docs/getting-started.mdx rename to examples/starter/content/docs/getting-started.mdx diff --git a/examples/starter/content/docs/guide.mdx b/examples/starter/content/docs/guide.mdx deleted file mode 100644 index fc0287a..0000000 --- a/examples/starter/content/docs/guide.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: User Guide -description: Detailed guide for users ---- - -# User Guide - -This is a sample guide page. - -## Features - -- **MDX Support**: Write content using Markdown and React components. -- **Fast Refresh**: Instant feedback during development. -- **Built on Next.js**: Leveraging the power of React Server Components. - -## Next Steps - -Try creating a new file in `content/docs/` folder. diff --git a/examples/starter/content/docs/index.mdx b/examples/starter/content/docs/index.mdx index 0b7baf3..7ac0082 100644 --- a/examples/starter/content/docs/index.mdx +++ b/examples/starter/content/docs/index.mdx @@ -1,17 +1,45 @@ --- -title: Welcome -description: Your new ObjectDocs site +title: Welcome to ObjectDocs +description: A modern documentation engine for the low-code era --- # Welcome to ObjectDocs -This is a starter template for your documentation site. +Welcome to the ObjectDocs example project! This demonstrates how a project created with the ObjectDocs CLI works in production. -## Getting Started +## What is ObjectDocs? + +ObjectDocs is a next-generation documentation engine built on: -Edit this file in `content/docs/index.mdx` to see changes. +- **Next.js 14** (App Router) +- **Fumadocs** (documentation middleware) +- **Configuration as Code** philosophy +## Key Features + +{/* ObjectDocs provides Fumadocs components globally - no imports needed */} - - + + Control navigation, sidebars, and SEO entirely via JSON configuration files. + + + + Seamlessly embed interactive components within your Markdown. + + + + Built-in CLI command to automatically translate documentation using OpenAI. + + + + Polished interface with automatic dark mode and accessibility features. + + +## Getting Started + +Check out the [Getting Started](/docs/getting-started) guide to learn how to use ObjectDocs. + +## Configuration + +Learn about [Configuration](/docs/configuration) options to customize your documentation site. diff --git a/examples/starter/content/docs/meta.json b/examples/starter/content/docs/meta.json index 3f2ed33..a55bf4c 100644 --- a/examples/starter/content/docs/meta.json +++ b/examples/starter/content/docs/meta.json @@ -1,7 +1,4 @@ { "title": "Documentation", - "pages": [ - "index", - "guide" - ] + "pages": ["index", "getting-started", "configuration"] } diff --git a/examples/starter/package.json b/examples/starter/package.json index 8d390f4..9374bd5 100644 --- a/examples/starter/package.json +++ b/examples/starter/package.json @@ -2,10 +2,11 @@ "name": "objectdocs-starter", "version": "0.1.0", "private": true, + "description": "Starter template for creating documentation sites with ObjectDocs", "scripts": { - "docs:dev": "objectdocs dev", - "docs:build": "objectdocs build", - "docs:start": "objectdocs start" + "dev": "objectdocs dev", + "build": "objectdocs build", + "start": "objectdocs start" }, "devDependencies": { "@objectdocs/cli": "workspace:*" diff --git a/example/public/README.md b/examples/starter/public/README.md similarity index 100% rename from example/public/README.md rename to examples/starter/public/README.md diff --git a/example/validate.sh b/examples/starter/validate.sh similarity index 100% rename from example/validate.sh rename to examples/starter/validate.sh diff --git a/example/vercel.json b/examples/starter/vercel.json similarity index 100% rename from example/vercel.json rename to examples/starter/vercel.json From 539c8485cfd2b14694480670828915c0395e1d5d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:39:53 +0000 Subject: [PATCH 3/5] Fix validation script for starter template Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- examples/starter/validate.sh | 8 ++-- packages/site/docs.site.json | 72 ++++++---------------------------- packages/site/public/README.md | 10 +++++ 3 files changed, 27 insertions(+), 63 deletions(-) create mode 100644 packages/site/public/README.md diff --git a/examples/starter/validate.sh b/examples/starter/validate.sh index 3e94e64..42005b5 100755 --- a/examples/starter/validate.sh +++ b/examples/starter/validate.sh @@ -5,7 +5,7 @@ set -e echo "================================================" -echo "ObjectDocs Example Project - Validation Script" +echo "ObjectDocs Starter Template - Validation Script" echo "================================================" echo "" @@ -15,9 +15,9 @@ GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color -# Check if we're in the example directory -if [ ! -f "package.json" ] || ! grep -q "objectdocs-example" package.json; then - echo -e "${RED}Error: This script must be run from the example directory${NC}" +# Check if we're in the starter directory +if [ ! -f "package.json" ] || ! grep -q "objectdocs-starter" package.json; then + echo -e "${RED}Error: This script must be run from the examples/starter directory${NC}" exit 1 fi diff --git a/packages/site/docs.site.json b/packages/site/docs.site.json index c9ea6d1..8a9f76d 100644 --- a/packages/site/docs.site.json +++ b/packages/site/docs.site.json @@ -1,69 +1,23 @@ { - "meta": { - "title": "ObjectDocs", - "description": "The Metadata-Driven Documentation Engine for the Low-Code Era.", - "url": "https://docs.objectstack.ai", - "favicon": "/favicon.ico" - }, - "i18n": { - "enabled": true, - "defaultLanguage": "en", - "languages": ["en", "cn" - ] - }, "branding": { + "name": "ObjectDocs Starter", "logo": { - "text": "ObjectDocs", "light": "/logo.svg", - "dark": "/logo.svg" - }, - "theme": { - "accentColor": "blue", - "radius": "0.5rem" + "dark": "/logo-dark.svg" } }, - "layout": { - "navbar": { - "enabled": true, - "transparentMode": "top", - "links": [ - { - "text": "Home", - "url": "https://www.objectstack.ai", - "external": true - } - ], - "socials": [ - { "platform": "github", "url": "https://github.com/objectstack-ai" } - ] - }, - "sidebar": { - "enabled": true, - "prefetch": true, - "defaultOpenLevel": 1, - "collapsible": true, - "tabs": [] + "links": [ + { + "text": "Documentation", + "url": "/docs" }, - "toc": { - "enabled": true, - "depth": 3 - }, - "footer": { - "enabled": false, - "copyright": "ยฉ 2026 ObjectStack Inc." - } - }, - "page": { - "showLastUpdate": true, - "showEditLink": true, - "repoBaseUrl": "https://github.com/objectstack-ai/objectdocs" - }, - "content": { - "math": false, - "imageZoom": true, - "codeBlock": { - "theme": "vesper", - "showLineNumbers": true + { + "text": "GitHub", + "url": "https://github.com/objectstack-ai/objectdocs", + "icon": "github" } + ], + "build": { + "output": "standalone" } } diff --git a/packages/site/public/README.md b/packages/site/public/README.md new file mode 100644 index 0000000..f1a7004 --- /dev/null +++ b/packages/site/public/README.md @@ -0,0 +1,10 @@ +# Logo Files + +Place your logo files here: + +- `logo.svg` - Logo for light mode +- `logo-dark.svg` - Logo for dark mode + +These files are referenced in `content/docs.site.json`. + +If you don't have custom logos, the site will display the text-based branding name instead. From 911f985ebfa2b4096055dc8be2958950ee8bd7f4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:41:39 +0000 Subject: [PATCH 4/5] Update documentation references to examples/starter Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- examples/starter/INDEX.md | 4 ++-- examples/starter/TESTING.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/starter/INDEX.md b/examples/starter/INDEX.md index 5c1ca60..153ef88 100644 --- a/examples/starter/INDEX.md +++ b/examples/starter/INDEX.md @@ -64,13 +64,13 @@ Vercel ้ƒจ็ฝฒๆŒ‡ๅ—๏ผŒๅŒ…ๆ‹ฌ๏ผš ## ๐Ÿ—๏ธ Project Structure / ้กน็›ฎ็ป“ๆž„ ``` -example/ +examples/starter/ โ”œโ”€โ”€ README.md # Main documentation โ”œโ”€โ”€ ARCHITECTURE.md # Technical architecture details โ”œโ”€โ”€ VERCEL.md # Vercel deployment guide โ”œโ”€โ”€ TESTING.md # Testing guide โ”œโ”€โ”€ validate.sh # Validation script -โ”œโ”€โ”€ package.json # Uses @objectdocs/cli from npm +โ”œโ”€โ”€ package.json # Uses @objectdocs/cli from workspace โ”œโ”€โ”€ vercel.json # Vercel configuration โ”œโ”€โ”€ .gitignore # Git ignore rules โ”œโ”€โ”€ content/ diff --git a/examples/starter/TESTING.md b/examples/starter/TESTING.md index 028aa42..09bed4c 100644 --- a/examples/starter/TESTING.md +++ b/examples/starter/TESTING.md @@ -68,7 +68,7 @@ pnpm add -D ../path/to/objectdocs-cli-0.2.11.tgz 4. Copy the content structure: ```bash -cp -r /path/to/example/content . +cp -r /path/to/examples/starter/content . ``` 5. Add scripts to package.json and test. From 504ddbf3e6774284d4b587ac713b4cf67c97c3db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 02:43:07 +0000 Subject: [PATCH 5/5] Address code review feedback: improve validation script and docs Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- examples/starter/README.md | 4 +++- examples/starter/TESTING.md | 4 ++-- examples/starter/validate.sh | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/examples/starter/README.md b/examples/starter/README.md index e226efd..e599351 100644 --- a/examples/starter/README.md +++ b/examples/starter/README.md @@ -127,11 +127,13 @@ vercel ### Vercel Configuration -No special configuration is needed. Vercel will automatically: +This project includes a `vercel.json` file with Next.js framework detection. Vercel will automatically: - Detect the Next.js framework - Use `pnpm build` (via `objectdocs build`) as the build command - Use the `.next` directory as the output +For more details on Vercel deployment, see [VERCEL.md](./VERCEL.md). + ## โœ… Testing Checklist Use this checklist to validate the starter works correctly: diff --git a/examples/starter/TESTING.md b/examples/starter/TESTING.md index 09bed4c..daafddd 100644 --- a/examples/starter/TESTING.md +++ b/examples/starter/TESTING.md @@ -48,7 +48,7 @@ This method is closer to how users would install from npm: ```bash cd packages/cli pnpm pack -# This creates objectdocs-cli-0.2.11.tgz +# This creates objectdocs-cli-X.X.X.tgz (where X.X.X is the current version) ``` 2. Create a test directory: @@ -62,7 +62,7 @@ cd /tmp/test-standalone ```bash pnpm init -pnpm add -D ../path/to/objectdocs-cli-0.2.11.tgz +pnpm add -D ../path/to/objectdocs-cli-X.X.X.tgz ``` 4. Copy the content structure: diff --git a/examples/starter/validate.sh b/examples/starter/validate.sh index 42005b5..313d961 100755 --- a/examples/starter/validate.sh +++ b/examples/starter/validate.sh @@ -15,9 +15,9 @@ GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color -# Check if we're in the starter directory -if [ ! -f "package.json" ] || ! grep -q "objectdocs-starter" package.json; then - echo -e "${RED}Error: This script must be run from the examples/starter directory${NC}" +# Check if we're in an ObjectDocs project directory +if [ ! -f "package.json" ] || ! grep -q "@objectdocs/cli" package.json; then + echo -e "${RED}Error: This script must be run from an ObjectDocs project directory${NC}" exit 1 fi