diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..dddff6e8d --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,29 @@ +name: Deploy docs + +on: + push: + branches: [master] + paths: + - 'packages/docs/**' + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: read + deployments: write + steps: + - uses: actions/checkout@v4 + + - uses: oven-sh/setup-bun@v2 + + - run: bun install --frozen-lockfile + + - run: bun run --filter @open-pencil/docs build + + - uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy packages/docs/.vitepress/dist --project-name=openpencil-docs diff --git a/.gitignore b/.gitignore index 738067b7b..a0963edaa 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ test-results/ # Git worktrees for parallel agent work .worktrees/ .env -docs/.vitepress/cache/ +packages/docs/.vitepress/cache/ +packages/docs/.vitepress/dist/ diff --git a/bun.lock b/bun.lock index 0918d8886..4c59faf28 100644 --- a/bun.lock +++ b/bun.lock @@ -50,7 +50,6 @@ "unplugin-icons": "^23.0.1", "unplugin-vue-components": "^31.0.0", "vite": "^7.0.4", - "vitepress": "^1.6.4", }, }, "packages/cli": { @@ -84,6 +83,13 @@ "typescript": "~5.8.3", }, }, + "packages/docs": { + "name": "@open-pencil/docs", + "version": "0.1.0", + "devDependencies": { + "vitepress": "^1.6.4", + }, + }, }, "packages": { "@ai-sdk/gateway": ["@ai-sdk/gateway@3.0.59", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.16", "@vercel/oidc": "3.1.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-MbtheWHgEFV/8HL1Z6E3hOAsmP73zZlNFg0F0nJAD0Adnjp4J/plqNK00Y896d+dWTw+r0OXzyov9/2wCFjH0Q=="], @@ -254,6 +260,8 @@ "@open-pencil/core": ["@open-pencil/core@workspace:packages/core"], + "@open-pencil/docs": ["@open-pencil/docs@workspace:packages/docs"], + "@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@2.2.3", "", { "peerDependencies": { "ai": "^6.0.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-NovC+BaCfEeJwhToDrs8JeDYXXlJdEyz7lcxkjtyePSE4eoAKik872SyDK0MzXKcz8MRkv7XlNhPI6zz4TQp0g=="], "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="], diff --git a/package.json b/package.json index e0c49c53f..fa3ba71cd 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "test:coverage": "bun test --coverage ./tests/engine", "test:dupes": "jscpd packages/core/src packages/cli/src src --min-lines 5 --min-tokens 50 --format typescript", "open-pencil": "bun packages/cli/src/index.ts", - "docs:dev": "vitepress dev docs", - "docs:build": "vitepress build docs", - "docs:preview": "vitepress preview docs" + "docs:dev": "bun --filter @open-pencil/docs dev", + "docs:build": "bun --filter @open-pencil/docs build", + "docs:preview": "bun --filter @open-pencil/docs preview" }, "dependencies": { "@ai-sdk/openai": "^3.0.37", @@ -72,7 +72,6 @@ "typescript": "~5.8.3", "unplugin-icons": "^23.0.1", "unplugin-vue-components": "^31.0.0", - "vite": "^7.0.4", - "vitepress": "^1.6.4" + "vite": "^7.0.4" } } \ No newline at end of file diff --git a/docs/.vitepress/config.ts b/packages/docs/.vitepress/config.ts similarity index 99% rename from docs/.vitepress/config.ts rename to packages/docs/.vitepress/config.ts index 50f4d75c2..4a8b08ce4 100644 --- a/docs/.vitepress/config.ts +++ b/packages/docs/.vitepress/config.ts @@ -100,7 +100,7 @@ export default defineConfig({ ], editLink: { - pattern: 'https://github.com/dannote/open-pencil/edit/main/docs/:path', + pattern: 'https://github.com/dannote/open-pencil/edit/main/packages/docs/:path', }, footer: { diff --git a/docs/development/contributing.md b/packages/docs/development/contributing.md similarity index 100% rename from docs/development/contributing.md rename to packages/docs/development/contributing.md diff --git a/docs/development/openspec.md b/packages/docs/development/openspec.md similarity index 100% rename from docs/development/openspec.md rename to packages/docs/development/openspec.md diff --git a/docs/development/roadmap.md b/packages/docs/development/roadmap.md similarity index 100% rename from docs/development/roadmap.md rename to packages/docs/development/roadmap.md diff --git a/docs/development/testing.md b/packages/docs/development/testing.md similarity index 100% rename from docs/development/testing.md rename to packages/docs/development/testing.md diff --git a/docs/guide/architecture.md b/packages/docs/guide/architecture.md similarity index 100% rename from docs/guide/architecture.md rename to packages/docs/guide/architecture.md diff --git a/docs/guide/comparison.md b/packages/docs/guide/comparison.md similarity index 100% rename from docs/guide/comparison.md rename to packages/docs/guide/comparison.md diff --git a/docs/guide/features.md b/packages/docs/guide/features.md similarity index 100% rename from docs/guide/features.md rename to packages/docs/guide/features.md diff --git a/docs/guide/figma-comparison.md b/packages/docs/guide/figma-comparison.md similarity index 100% rename from docs/guide/figma-comparison.md rename to packages/docs/guide/figma-comparison.md diff --git a/docs/guide/getting-started.md b/packages/docs/guide/getting-started.md similarity index 100% rename from docs/guide/getting-started.md rename to packages/docs/guide/getting-started.md diff --git a/docs/guide/tech-stack.md b/packages/docs/guide/tech-stack.md similarity index 100% rename from docs/guide/tech-stack.md rename to packages/docs/guide/tech-stack.md diff --git a/docs/index.md b/packages/docs/index.md similarity index 92% rename from docs/index.md rename to packages/docs/index.md index f635d95ea..3fb936b9b 100644 --- a/docs/index.md +++ b/packages/docs/index.md @@ -7,8 +7,8 @@ hero: text: AI-Native Design Editor tagline: Open-source Figma alternative. Fully local, AI-native, programmable. image: - src: /favicon.svg - alt: OpenPencil + src: /screenshot.png + alt: OpenPencil editor with a Material 3 design file open actions: - theme: brand text: Get Started diff --git a/packages/docs/package.json b/packages/docs/package.json new file mode 100644 index 000000000..43c1051e7 --- /dev/null +++ b/packages/docs/package.json @@ -0,0 +1,14 @@ +{ + "name": "@open-pencil/docs", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vitepress dev", + "build": "vitepress build", + "preview": "vitepress preview" + }, + "devDependencies": { + "vitepress": "^1.6.4" + } +} diff --git a/docs/public/favicon.svg b/packages/docs/public/favicon.svg similarity index 100% rename from docs/public/favicon.svg rename to packages/docs/public/favicon.svg diff --git a/packages/docs/public/screenshot.png b/packages/docs/public/screenshot.png new file mode 100644 index 000000000..fc7402e22 Binary files /dev/null and b/packages/docs/public/screenshot.png differ diff --git a/docs/reference/file-format.md b/packages/docs/reference/file-format.md similarity index 100% rename from docs/reference/file-format.md rename to packages/docs/reference/file-format.md diff --git a/docs/reference/keyboard-shortcuts.md b/packages/docs/reference/keyboard-shortcuts.md similarity index 100% rename from docs/reference/keyboard-shortcuts.md rename to packages/docs/reference/keyboard-shortcuts.md diff --git a/docs/reference/mcp-tools.md b/packages/docs/reference/mcp-tools.md similarity index 100% rename from docs/reference/mcp-tools.md rename to packages/docs/reference/mcp-tools.md diff --git a/docs/reference/node-types.md b/packages/docs/reference/node-types.md similarity index 100% rename from docs/reference/node-types.md rename to packages/docs/reference/node-types.md diff --git a/docs/reference/scene-graph.md b/packages/docs/reference/scene-graph.md similarity index 100% rename from docs/reference/scene-graph.md rename to packages/docs/reference/scene-graph.md diff --git a/docs/user-guide/auto-layout.md b/packages/docs/user-guide/auto-layout.md similarity index 100% rename from docs/user-guide/auto-layout.md rename to packages/docs/user-guide/auto-layout.md diff --git a/docs/user-guide/canvas-navigation.md b/packages/docs/user-guide/canvas-navigation.md similarity index 100% rename from docs/user-guide/canvas-navigation.md rename to packages/docs/user-guide/canvas-navigation.md diff --git a/docs/user-guide/components.md b/packages/docs/user-guide/components.md similarity index 100% rename from docs/user-guide/components.md rename to packages/docs/user-guide/components.md diff --git a/docs/user-guide/context-menu.md b/packages/docs/user-guide/context-menu.md similarity index 100% rename from docs/user-guide/context-menu.md rename to packages/docs/user-guide/context-menu.md diff --git a/docs/user-guide/drawing-shapes.md b/packages/docs/user-guide/drawing-shapes.md similarity index 100% rename from docs/user-guide/drawing-shapes.md rename to packages/docs/user-guide/drawing-shapes.md diff --git a/docs/user-guide/exporting.md b/packages/docs/user-guide/exporting.md similarity index 100% rename from docs/user-guide/exporting.md rename to packages/docs/user-guide/exporting.md diff --git a/docs/user-guide/index.md b/packages/docs/user-guide/index.md similarity index 100% rename from docs/user-guide/index.md rename to packages/docs/user-guide/index.md diff --git a/docs/user-guide/layers-and-pages.md b/packages/docs/user-guide/layers-and-pages.md similarity index 100% rename from docs/user-guide/layers-and-pages.md rename to packages/docs/user-guide/layers-and-pages.md diff --git a/docs/user-guide/pen-tool.md b/packages/docs/user-guide/pen-tool.md similarity index 100% rename from docs/user-guide/pen-tool.md rename to packages/docs/user-guide/pen-tool.md diff --git a/docs/user-guide/selection-and-manipulation.md b/packages/docs/user-guide/selection-and-manipulation.md similarity index 100% rename from docs/user-guide/selection-and-manipulation.md rename to packages/docs/user-guide/selection-and-manipulation.md diff --git a/docs/user-guide/text-editing.md b/packages/docs/user-guide/text-editing.md similarity index 100% rename from docs/user-guide/text-editing.md rename to packages/docs/user-guide/text-editing.md diff --git a/docs/user-guide/variables.md b/packages/docs/user-guide/variables.md similarity index 100% rename from docs/user-guide/variables.md rename to packages/docs/user-guide/variables.md