Skip to content

Commit ec724ca

Browse files
committed
chore: add changeset configuration and release workflow
- Created a README.md file in the .changeset directory for documentation. - Added a config.json file to configure changesets with default settings. - Introduced a GitHub Actions workflow for automated releases on main branch pushes.
1 parent fc07f3a commit ec724ca

File tree

6 files changed

+899
-38
lines changed

6 files changed

+899
-38
lines changed

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

.changeset/config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "public",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": []
11+
}

.github/workflows/release.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
release:
14+
name: Release
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout Repo
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 18
24+
registry-url: 'https://registry.npmjs.org/'
25+
26+
- uses: pnpm/action-setup@v2
27+
with:
28+
version: 10
29+
30+
- name: Install Dependencies
31+
run: pnpm install
32+
33+
- name: Create Release Pull Request or Publish
34+
id: changesets
35+
uses: changesets/action@v1
36+
with:
37+
# This expects you to have a script called release which does a build for your packages and calls changeset publish
38+
publish: pnpm run release
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

README.md

Lines changed: 64 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,75 @@
11
# ObjectDocs
22

33
<div align="center">
4-
<p>
5-
<a href="[https://nextjs.org](https://nextjs.org)"><img src="[https://img.shields.io/badge/Next.js-14-black](https://www.google.com/search?q=https://img.shields.io/badge/Next.js-14-black)" alt="Next.js"></a>
6-
<a href="[https://www.typescriptlang.org/](https://www.typescriptlang.org/)"><img src="[https://img.shields.io/badge/TypeScript-5.0-blue](https://www.google.com/search?q=https://img.shields.io/badge/TypeScript-5.0-blue)" alt="TypeScript"></a>
7-
<a href="[https://tailwindcss.com/](https://tailwindcss.com/)"><img src="[https://img.shields.io/badge/Tailwind_CSS-3.0-38bdf8](https://www.google.com/search?q=https://img.shields.io/badge/Tailwind_CSS-3.0-38bdf8)" alt="Tailwind CSS"></a>
8-
<a href="[https://fumadocs.vercel.app](https://fumadocs.vercel.app)"><img src="[https://img.shields.io/badge/Powered_by-Fumadocs-purple](https://www.google.com/search?q=https://img.shields.io/badge/Powered_by-Fumadocs-purple)" alt="Fumadocs"></a>
9-
</p>
10-
11-
<h3>Next-Gen Documentation Engine for the Low-Code Era.</h3>
12-
<p>Configuration as Code. Interactive Components. Enterprise Ready.</p>
4+
<p>
5+
<a href="https://nextjs.org">
6+
<img src="https://img.shields.io/badge/Next.js-14-black?style=flat-square&logo=next.js" alt="Next.js">
7+
</a>
8+
<a href="https://www.typescriptlang.org/">
9+
<img src="https://img.shields.io/badge/TypeScript-5.0-blue?style=flat-square&logo=typescript" alt="TypeScript">
10+
</a>
11+
<a href="https://tailwindcss.com/">
12+
<img src="https://img.shields.io/badge/Tailwind_CSS-3.0-38bdf8?style=flat-square&logo=tailwindcss" alt="Tailwind CSS">
13+
</a>
14+
<a href="https://fumadocs.vercel.app">
15+
<img src="https://img.shields.io/badge/Powered_by-Fumadocs-purple?style=flat-square" alt="Fumadocs">
16+
</a>
17+
</p>
18+
19+
<h3>Next-Gen Documentation Engine for the Low-Code Era.</h3>
20+
<p>Configuration as Code. Interactive Components. Enterprise Ready.</p>
21+
22+
<br />
23+
24+
<a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fobjectstack-ai%2Fobjectdocs">
25+
<img src="https://vercel.com/button" alt="Deploy with Vercel" />
26+
</a>
1327
</div>
1428

1529
---
1630

1731
## 📖 Introduction
1832

19-
**ObjectDocs** is a modern documentation site generator built on top of **Next.js (App Router)** and **Fumadocs**.
33+
**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.
2034

21-
Unlike traditional static site generators, ObjectDocs adopts a strict **Metadata-Driven Architecture**. We completely separate the **Presentation Layer** (React), **Configuration Layer** (JSON), and **Content Layer** (MDX). This allows developers and technical writers to manage complex, multi-product documentation sites purely through configuration files, without touching a single line of UI code.
35+
Unlike traditional static site generators, ObjectDocs adopts a strict **Separation of Concerns** philosophy:
36+
* **Presentation**: Handled by a standardized, logic-free React layer.
37+
* **Configuration**: Defined purely in JSON (`site.json`, `meta.json`).
38+
* **Content**: Written in MDX with native support for low-code components.
2239

23-
It is designed specifically for the **Low-Code ecosystem**, with native support for embedding **Amis** and **Steedos** components directly into your Markdown.
40+
This architecture allows developers and technical writers to manage complex, multi-product documentation sites without touching a single line of UI code.
2441

2542
## ✨ Key Features
2643

27-
* **🚀 Metadata-Driven Core**: Control navigation, sidebars, SEO, and branding entirely via `site.json` and `meta.json`.
28-
* **🧩 Low-Code Native**: Embed live, interactive **Amis/Steedos** components directly in MDX.
29-
* **🗂️ Multi-Product Architecture**: Native support for "Root Toggle" to manage documentation for multiple products (e.g., Core vs. UI) in one repo.
30-
* **🎨 Enterprise UI**: Built on **Radix UI** and **Tailwind CSS**, featuring dark mode, spotlight effects, and accessible primitives.
31-
* **⚡ High Performance**: Powered by Next.js App Router and ISR (Incremental Static Regeneration).
44+
* **🚀 Metadata-Driven Architecture**
45+
Control navigation, sidebars, SEO, and branding entirely via `objectdocs.json` and local `meta.json` files. Zero React knowledge required for content maintainers.
46+
47+
* **🧩 Low-Code Native**
48+
Seamlessly embed live, interactive **Amis** and **Steedos** components directly within your Markdown. Perfect for showcasing live demos of low-code configurations.
49+
50+
* **🗂️ Multi-Product Support**
51+
Native implementation of "Root Toggle" modes, allowing you to host documentation for multiple products (e.g., `ObjectQL` vs. `ObjectUI`) within a single monorepo and domain.
52+
53+
* **🎨 Enterprise-Grade UI**
54+
Polished interface built on **Radix UI** and **Tailwind CSS**, featuring automatic dark mode, spotlight effects, and accessible primitives out of the box.
55+
56+
* **⚡ Edge Performance**
57+
Powered by Next.js App Router and ISR (Incremental Static Regeneration), ensuring instant page loads and excellent SEO.
3258

3359
## 🏗️ Architecture
3460

35-
ObjectDocs enforces a strict separation of concerns to ensure maintainability:
61+
ObjectDocs enforces a clear directory structure to ensure maintainability at scale:
3662

3763
```text
3864
.
39-
├── content/ # [Data] Raw Content
40-
│ └── docs/
41-
│ ├── meta.json # Directory structure & sorting
42-
│ └── index.mdx # Documentation files
43-
└── app/ # [View] Logic-free Rendering Layer
44-
└── layout.tsx # Consumes config/site.json to render UI
45-
├── objectdocs.json # Global settings (Nav, Logo, SEO, Features)
65+
├── content/ # [Data Layer] Raw Content
66+
│ └── docs/
67+
│ ├── meta.json # Directory structure & sorting control
68+
│ └── index.mdx # Documentation content
69+
├── config/ # [Config Layer]
70+
│ └── site.json # Global settings (Nav, Logo, Branding)
71+
└── app/ # [View Layer] Logic-free Rendering
72+
└── layout.tsx # Consumes config to render UI
4673
4774
```
4875

@@ -51,7 +78,7 @@ ObjectDocs enforces a strict separation of concerns to ensure maintainability:
5178
### 1. Clone the repository
5279

5380
```bash
54-
git clone https://github.com/objectstack-ai/objectdocs.git
81+
git clone [https://github.com/objectstack-ai/objectdocs.git](https://github.com/objectstack-ai/objectdocs.git)
5582
cd objectdocs
5683

5784
```
@@ -70,24 +97,26 @@ pnpm dev
7097

7198
```
7299

73-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
100+
Open [http://localhost:3000](https://www.google.com/search?q=http://localhost:3000) with your browser to see the result.
74101

75102
## ⚙️ Configuration
76103

77-
ObjectDocs is controlled by a single file: `config/site.json`. You don't need to modify React components to change the look and feel.
104+
ObjectDocs is designed to be "Configuration as Code".
78105

79106
### Global Config (`config/site.json`)
80107

108+
Manage global navigation, branding, and feature flags:
109+
81110
```json
82111
{
83112
"branding": {
84-
"name": "ObjectDocs",
113+
"name": "ObjectStack",
85114
"logo": "/logo.svg"
86115
},
87116
"navigation": [
88117
{ "text": "Guide", "url": "/docs" },
89-
{ "text": "Components", "url": "/docs/components" },
90-
{ "text": "GitHub", "url": "https://github.com/...", "external": true }
118+
{ "text": "Reference", "url": "/docs/api" },
119+
{ "text": "GitHub", "url": "[https://github.com/objectstack-ai](https://github.com/objectstack-ai)", "external": true }
91120
],
92121
"features": {
93122
"search": true,
@@ -98,9 +127,9 @@ ObjectDocs is controlled by a single file: `config/site.json`. You don't need to
98127

99128
```
100129

101-
### Directory Structure (`content/**/meta.json`)
130+
### Sidebar Control (`content/**/meta.json`)
102131

103-
Control the sidebar order and structure using local metadata files:
132+
Control the sidebar order and structure using local metadata files in each directory:
104133

105134
```json
106135
{
@@ -116,18 +145,18 @@ Control the sidebar order and structure using local metadata files:
116145

117146
```
118147

119-
120148
## 🛠️ Tech Stack
121149

122150
* **Framework**: [Next.js 14 (App Router)](https://nextjs.org/)
123151
* **Core Engine**: [Fumadocs](https://fumadocs.vercel.app/)
124152
* **Styling**: [Tailwind CSS](https://tailwindcss.com/)
125153
* **Icons**: [Lucide React](https://lucide.dev/)
154+
* **Package Manager**: [pnpm](https://pnpm.io/)
126155

127156
## 🤝 Contributing
128157

129158
Contributions are welcome! Please read our [Contributing Guide](./CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
130159

131160
## 📄 License
132161

133-
This project is licensed under the MIT License - see the [LICENSE](https://www.google.com/search?q=MIT) file for details.
162+
This project is licensed under the MIT License - see the [LICENSE](https://www.google.com/search?q=MIT) file for details.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
"start": "pnpm --filter '@objectdocs/site' -r start",
1010
"translate": "objectdocs translate",
1111
"translate:all": "objectdocs translate --all",
12-
"test": "pnpm -r test"
12+
"test": "pnpm -r test",
13+
"changeset": "changeset",
14+
"release": "changeset publish"
1315
},
1416
"dependencies": {
1517
"client-only": "^0.0.1",
@@ -24,6 +26,7 @@
2426
"tailwind-merge": "^3.4.0"
2527
},
2628
"devDependencies": {
29+
"@changesets/cli": "^2.29.8",
2730
"@objectdocs/cli": "workspace:*"
2831
}
2932
}

0 commit comments

Comments
 (0)