mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-03 02:27:57 +09:00
## Summary - move the complete GitBook documentation tree and assets into Builder under `/docs` - generate the exhaustive MCP page from the local CLI source in the same change - publish GitBook from a release-gated `docs` branch containing the exact successfully released revision - run MCP documentation tests, typechecking, and stale-output checks with the existing generated-docs check - remove links to the Community Discussions repository ## Technical choices - Import the current documentation as a linear snapshot so the branch satisfies Builder's required-linear-history protection. - Keep the Markdown wrapper separate from the TypeScript generator at `scripts/docs/mcp-page.md`. - Generate through `packages/cli/local.js` so CLI guidance and its documentation are reviewed together. - Let `check:generated-docs` reject CLI changes that leave the committed MCP page stale. - After both GitHub release creation and package publication succeed, fast-forward the read-only `docs` branch to the immutable release tag commit. A divergent update fails instead of publishing a different revision. - Configure GitBook to publish `/docs` from the `docs` branch, not directly from `main`. - Exclude `/docs` from the repository-wide `oxfmt` scan so imported GitBook Markdown retains its established formatting; generator tests and stale-output checks still validate the MCP page. - Exclude `transcripts/` and GitHub Discussions from the migration. ## Todo - [x] Import documentation, navigation, includes, and assets under `/docs`. - [x] Generate the MCP page from the local CLI source. - [x] Move MCP generation and validation into Builder. - [x] Require MCP documentation updates alongside CLI changes. - [x] Publish released revisions through a read-only `docs` branch. - [x] Remove Community repository links from Builder and the migrated docs. - [x] Preserve and verify a final Community Git bundle locally. - [ ] Merge this pull request. - [ ] Let the next successful release create or advance the `docs` branch. - [ ] Repoint GitBook Git Sync to `webstudio-is/webstudio`, branch `docs`, root directory `/docs`. - [ ] Verify `docs.webstudio.is`, navigation, assets, anchors, and the MCP page in production. - [ ] Delete `webstudio-is/webstudio-community`. ## Verification - `pnpm check:generated-docs` - `pnpm lint` - `pnpm oxfmt --check` - `git diff --check origin/main...HEAD` - generator regression test demonstrated failing when the GitBook wrapper behavior was removed, then passing after restoration - no fixture inputs or outputs are affected ## Known limitation All documentation merged after the previous release waits for the next successful release before GitBook publishes it. This deliberately keeps the public MCP reference aligned with an installable CLI revision. Ref #5986
91 lines
5.1 KiB
JSON
91 lines
5.1 KiB
JSON
{
|
|
"packageManager": "pnpm@9.14.4",
|
|
"name": "webstudio-root",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "pnpm -r --filter='!./fixtures/*' build",
|
|
"webstudio": "node packages/cli/local.js",
|
|
"dts": "pnpm -r dts",
|
|
"dev": "bash ./apps/builder/dev/run-local.sh",
|
|
"evaluations": "pnpm --filter webstudio evaluations",
|
|
"lint": "oxlint --deny-warnings",
|
|
"check:package-boundaries": "node scripts/check-package-boundaries.mjs",
|
|
"check:generated-api": "pnpm --filter @webstudio-is/project-build generate-runtime-operation-contracts && pnpm --filter @webstudio-is/builder generate-server-only-api-metadata && node scripts/check-clean-files.mjs packages/project-build/src/contracts/__generated__/runtime-operation-contracts.ts packages/protocol/src/builder-api/__generated__/server-only-router-operation-metadata.ts",
|
|
"check:generated-docs": "pnpm --filter @webstudio-is/project-build generate-docs && pnpm --filter webstudio generate-docs && pnpm docs:mcp:test && pnpm docs:mcp:typecheck && pnpm docs:mcp:check && node scripts/check-clean-files.mjs packages/project-build/src/docs.generated.ts packages/cli/src/docs.generated.ts",
|
|
"docs:mcp:sync": "tsx scripts/docs/generate-mcp-docs.ts",
|
|
"docs:mcp:check": "pnpm docs:mcp:sync && node scripts/check-clean-files.mjs docs/university/mcp.md",
|
|
"docs:mcp:test": "tsx --test scripts/docs/generate-mcp-docs.test.ts",
|
|
"docs:mcp:typecheck": "tsc --noEmit -p scripts/docs/tsconfig.json",
|
|
"fixtures": "pnpm -r fixtures:link && pnpm -r fixtures:sync && pnpm -r fixtures:build",
|
|
"checks": "pnpm -r test && pnpm -r typecheck && pnpm lint && pnpm check:package-boundaries && pnpm check:generated-api && pnpm check:generated-docs && pnpm fixtures",
|
|
"e2e:builder": "bash ./apps/builder/e2e/run-local.sh",
|
|
"e2e:builder:build": "pnpm --filter=@webstudio-is/builder build",
|
|
"e2e:builder:dev:backend": "E2E_SKIP_CLEANUP=true E2E_RUN_TESTS=false E2E_START_POSTGREST=true E2E_DB_BOOTSTRAP=if-empty E2E_INSTALL_PLAYWRIGHT=false bash ./apps/builder/e2e/run-local.sh",
|
|
"e2e:builder:dev": "E2E_SKIP_CLEANUP=true E2E_DB_BOOTSTRAP=if-empty E2E_INSTALL_PLAYWRIGHT=false E2E_BUILDER_URL=${E2E_BUILDER_URL:-https://127.0.0.1:3000} bash ./apps/builder/e2e/run-local.sh",
|
|
"e2e:builder:refresh-schema-cache": "E2E_DB_BOOTSTRAP=migrations E2E_WRITE_SCHEMA_SNAPSHOT=true E2E_RUN_TESTS=false bash ./apps/builder/e2e/run-local.sh",
|
|
"playwright": "pnpm -r playwright-init",
|
|
"format": "oxfmt",
|
|
"storybook:dev": "storybook dev -p 6006",
|
|
"storybook:build": "storybook build",
|
|
"migrations": "pnpm --filter=@webstudio-is/prisma-client generate && pnpm --filter=./packages/prisma-client migrations --dev --cwd ../../apps/builder",
|
|
"prepare": "which git && git config core.hooksPath .git/hooks/ && simple-git-hooks || echo git not installed",
|
|
"local:version-snapshot": "pnpm -r exec pnpm version prepatch --preid $(cat /dev/urandom | LC_ALL=C tr -dc 'a-z' | fold -w 8 | head -n 1)",
|
|
"local:publish-snapshot": "pnpm -r publish --access public --no-git-checks --registry http://localhost:4873",
|
|
"local:dangerously-undo-version-snapshot": "git restore --source=$(git branch --show-current) '**/*/package.json'",
|
|
"local:release": "pnpm build && pnpm dts && pnpm local:version-snapshot && pnpm local:publish-snapshot && pnpm local:dangerously-undo-version-snapshot && echo \"now execute\npnpm up -r -L '@webstudio-is/*' --registry http://localhost:4873\"",
|
|
"clean:deep": "bash ./cleanup.sh"
|
|
},
|
|
"simple-git-hooks": {
|
|
"pre-commit": "./node_modules/.bin/nano-staged"
|
|
},
|
|
"devDependencies": {
|
|
"@fontsource-variable/inter": "^5.0.20",
|
|
"@fontsource-variable/manrope": "^5.0.20",
|
|
"@fontsource/roboto-mono": "^5.0.18",
|
|
"@modelcontextprotocol/sdk": "^1.10.0",
|
|
"@radix-ui/react-tooltip": "^1.2.4",
|
|
"@storybook/addon-actions": "^8.6.4",
|
|
"@storybook/addon-backgrounds": "^8.6.4",
|
|
"@storybook/addon-controls": "^8.6.4",
|
|
"@storybook/react": "^8.6.4",
|
|
"@storybook/react-vite": "^8.6.4",
|
|
"@types/node": "^22.13.10",
|
|
"@types/react": "^18.2.70",
|
|
"esbuild": "^0.25.3",
|
|
"nano-staged": "^0.8.0",
|
|
"oxfmt": "0.58.0",
|
|
"oxlint": "^1.73.0",
|
|
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
"simple-git-hooks": "^2.11.1",
|
|
"storybook": "^8.6.4",
|
|
"tsx": "^4.19.3",
|
|
"typescript": "7.0.2",
|
|
"vite": "^6.3.4"
|
|
},
|
|
"engines": {
|
|
"node": "22",
|
|
"pnpm": "^9.14.0",
|
|
"yarn": "This project is configured to use pnpm"
|
|
},
|
|
"nano-staged": {
|
|
"*.{ts,tsx,js,json,css,md}": "oxfmt"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"@types/react": "^18.2.70",
|
|
"@types/react-dom": "^18.2.25",
|
|
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
"vite@<7": "6.3.4"
|
|
},
|
|
"patchedDependencies": {
|
|
"@stitches/react@1.3.1-1": "patches/@stitches__react@1.3.1-1.patch",
|
|
"@radix-ui/react-scroll-area@1.0.5": "patches/@radix-ui__react-scroll-area@1.0.5.patch",
|
|
"@remix-run/dev": "patches/@remix-run__dev.patch"
|
|
}
|
|
}
|
|
}
|