Centralize monorepo tooling and unify development setup - #436
Open
sjoerd2025 wants to merge 40 commits into
Open
Centralize monorepo tooling and unify development setup#436sjoerd2025 wants to merge 40 commits into
sjoerd2025 wants to merge 40 commits into
Conversation
Copilot/vscode msa11sii n6r7
Updated various scripts and dependencies in package.json.
…aw, Claude-Squad)
…erver Unify monorepo development startup with single-command orchestrator and live dashboard
…ucture Monorepo tooling consolidation: root config centralization, Turbo script orchestration, and ESLint→oxlint cleanup
…guration Add Miniflare mode to unified monorepo dev manager
…oudflare-setup Harden dependency baseline: upgrade axios/ws and enforce patched versions via pnpm overrides
There was a problem hiding this comment.
Pull request overview
This PR aims to centralize monorepo tooling/configuration and streamline local development by introducing a unified dev manager/dashboard workflow, updating lint/format/dependency tooling, and adding a “unified MCP server” project with supporting docs.
Changes:
- Adds a root dev-manager + env bootstrap scripts (and a small test suite) to orchestrate local app startup and provide a status/log dashboard.
- Centralizes formatting/linting config at the repo root (Prettier/Oxlint) and removes the internal ESLint config package + per-package
.eslintrc.cjsfiles. - Updates workspace tooling/config (Turbo tasks, Mise task orchestration, Syncpack rules, npm/pnpm settings) and refreshes documentation.
Reviewed changes
Copilot reviewed 78 out of 81 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| wrangler.jsonc | Adds a new root Wrangler config |
| turbo.json | Expands/adjusts Turbo task pipeline |
| setup-toolchain.sh | Adds a local toolchain bootstrap script |
| scripts/setup-dev-environment.mjs | Adds env file bootstrap helper |
| scripts/dev-manager.mjs | Adds local dev orchestration + dashboard server |
| README.md | Documents unified server + workflows |
| packages/tools/package.json | Updates tools package deps |
| packages/tools/bin/run-eslint-workers | Switches lint runner to oxlint |
| packages/tools/.eslintrc.cjs | Removes per-package ESLint config |
| packages/mcp-common/package.json | Updates deps/devDeps for mcp-common |
| packages/mcp-common/.eslintrc.cjs | Removes per-package ESLint config |
| packages/eval-tools/package.json | Updates eval-tools deps |
| packages/eslint-config/README.md | Removes eslint-config docs |
| packages/eslint-config/package.json | Removes eslint-config package |
| packages/eslint-config/default.cjs | Removes eslint-config implementation |
| packages/eslint-config/CHANGELOG.md | Removes eslint-config changelog |
| package.json | Updates root scripts/deps/tooling |
| mise.toml | Adds Mise tool/task orchestration |
| DEVELOPMENT.md | Adds dev setup guide |
| CONTRIBUTING.md | Updates contribution/dev guidance |
| apps/workers-observability/package.json | Updates app devDependencies |
| apps/workers-observability/.eslintrc.cjs | Removes per-app ESLint config |
| apps/workers-builds/package.json | Updates app devDependencies |
| apps/workers-builds/.eslintrc.cjs | Removes per-app ESLint config |
| apps/workers-bindings/package.json | Updates app devDependencies |
| apps/workers-bindings/.eslintrc.cjs | Removes per-app ESLint config |
| apps/stack-mcp/package.json | Updates app devDependencies |
| apps/stack-mcp/.eslintrc.cjs | Removes per-app ESLint config |
| apps/sandbox-container/package.json | Updates deps/devDeps |
| apps/sandbox-container/.eslintrc.cjs | Removes per-app ESLint config |
| apps/radar/package.json | Updates app devDependencies |
| apps/radar/.eslintrc.cjs | Removes per-app ESLint config |
| apps/logpush/package.json | Updates app devDependencies |
| apps/logpush/.eslintrc.cjs | Removes per-app ESLint config |
| apps/graphql/package.json | Updates app devDependencies |
| apps/graphql/.eslintrc.cjs | Removes per-app ESLint config |
| apps/docs-ai-search/package.json | Updates app devDependencies |
| apps/docs-ai-search/.eslintrc.cjs | Removes per-app ESLint config |
| apps/dns-analytics/package.json | Updates app devDependencies |
| apps/dns-analytics/.eslintrc.cjs | Removes per-app ESLint config |
| apps/dex-analysis/package.json | Updates app devDependencies |
| apps/dex-analysis/.eslintrc.cjs | Removes per-app ESLint config |
| apps/dev-dashboard/src/apps.test.mjs | Adds unit tests for dev-dashboard helpers |
| apps/dev-dashboard/src/apps.mjs | Adds app registry/port/env helpers |
| apps/dev-dashboard/package.json | Adds dev-dashboard package wrapper |
| apps/demo-day/package.json | Updates app devDependencies |
| apps/demo-day/.eslintrc.cjs | Removes per-app ESLint config |
| apps/cloudflare-one-casb/package.json | Updates app devDependencies |
| apps/cloudflare-one-casb/.eslintrc.cjs | Removes per-app ESLint config |
| apps/cloudflare-blog/package.json | Updates app devDependencies |
| apps/cloudflare-blog/.eslintrc.cjs | Removes per-app ESLint config |
| apps/browser-rendering/package.json | Updates app devDependencies |
| apps/browser-rendering/.eslintrc.cjs | Removes per-app ESLint config |
| apps/autorag/package.json | Updates app devDependencies |
| apps/autorag/.eslintrc.cjs | Removes per-app ESLint config |
| apps/auditlogs/package.json | Updates app devDependencies |
| apps/auditlogs/.eslintrc.cjs | Removes per-app ESLint config |
| apps/ai-gateway/package.json | Updates app devDependencies |
| apps/ai-gateway/.eslintrc.cjs | Removes per-app ESLint config |
| AGENT_SKILLS_PLAN.md | Adds agent dispatch/process documentation |
| § | Adds a single-character file |
| .vscode/wrangler.jsonc | Adds Wrangler config for unified server |
| .vscode/unified.app.ts | Adds unified MCP server entrypoint |
| .vscode/README.md | Adds unified server README |
| .vscode/package.json | Adds unified server package manifest |
| .vscode/extensions.json | Updates recommended VS Code extensions |
| .vscode/CONTRIBUTING.md | Adds unified server local-dev notes |
| .vscode/CHANGELOG.md | Adds unified server changelog |
| .syncpackrc.cjs | Updates syncpack rules |
| .prettierrc.json | Adds root Prettier config |
| .prettierrc.cjs | Removes prior Prettier config |
| .oxlintrc.json | Adds root Oxlint config |
| .npmrc | Updates pnpm/npm workspace settings |
| .eslintrc.cjs | Removes root ESLint config |
| .env.development.local.example | Adds local env template |
| .agent/skills/mcp-builder-skill/SKILL.md | Adds MCP builder skill documentation |
Suppressed comments (3)
package.json:32
- The
format/format:checkscripts point atsrc/, but there is no rootsrc/directory in this repo. These commands will fail when run from the workspace root.
§:1 - A file named
§at the repository root is likely accidental and may cause cross-platform/tooling issues (shell quoting, archives, file globs, etc.). It should be removed unless it serves a clear purpose.
README.md:85 - Docs currently state that
pnpm devruns Turbo-managed dev tasks, but the root scripts include a dev-manager intended to launch the unified dashboard + apps (anddev:turbois a better fit for Turbo-only dev). This section should match the actual entrypoints to avoid confusing contributors.
- `pnpm dev` runs Turbo-managed app development tasks.
- `pnpm build` runs Turbo-managed build tasks.
- `pnpm deploy` runs Turbo-managed deploy tasks.
- `pnpm check` runs formatting, dependency consistency checks, lint/type checks, and tests.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+18
to
+21
| "dev": "node scripts/dev-manager.mjs", | ||
| "dev:miniflare": "node scripts/dev-manager.mjs --miniflare", | ||
| "dev": "run-turbo dev", | ||
| "dev:app": "node scripts/dev-manager.mjs --app", |
Comment on lines
11
to
14
| | Server Name | Description | Server URL | | ||
| | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------- | | ||
| | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------- | | ||
| | [**Documentation server**](/apps/docs-ai-search) | Get up-to-date reference information on Cloudflare | `https://docs.mcp.cloudflare.com/mcp` | |
Comment on lines
+3
to
+6
| This is a Model Context Protocol (MCP) server that supports remote MCP | ||
| connections, with Cloudflare OAuth built-in. | ||
| 4/0AXEQxIAzM4zOWYSFbp69F5oZ73GT8B-1nEPXSMUyZmzAiRZMfN-xxuGSCq_RB1OrH85yLw | ||
| It combines tools from all other domain-specific MCP servers in this repository into a single, unified endpoint. This allows you to access a wide range of Cloudflare product tools without needing to connect to multiple servers. |
| - name: "deploy-orchestration-squad" | ||
| type: "specialist" | ||
| role: "Dashboard UI and CI/CD setup" | ||
| lead_agent": "@agent-deploy-orchestration" |
Comment on lines
+13
to
+16
| "dependencies": { | ||
| "@repo/mcp-common": "workspace:*", | ||
| "ai-gateway": "workspace:*", | ||
| "auditlogs": "workspace:*", |
| Run these from the repository root: | ||
|
|
||
| ```bash | ||
| pnpm dev # turbo dev across apps |
Make dev process argument handling explicit in `createAppProcesses`
This workflow file sets up CodeQL analysis for the repository, defining triggers for push and pull request events on the main branch, and scheduling periodic analysis.
Add a security policy document outlining supported versions and vulnerability reporting.
This workflow automates the deployment of source code to Google Cloud Run upon commits to the main branch, including necessary configurations and permissions.
Updated Cloudflare credentials and MCP server details for local development.
Removed Cloudflare credentials and configuration from .env file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces the new unified MCP server, consolidates configuration and developer tooling, and improves the repository’s documentation and developer experience. The most important changes are summarized below.
New Unified MCP Server
Added the
unified-mcp-serverapp, which combines tools from all other domain-specific MCP servers into a single endpoint. This includes new source files (.vscode/unified.app.ts,.vscode/package.json,.vscode/wrangler.jsonc) and documentation (.vscode/README.md,.vscode/CONTRIBUTING.md,.vscode/CHANGELOG.md). [1] [2] [3] [4] [5] [6]The unified server is now listed in the main
README.mdand described as the recommended single entry point for Cloudflare MCP tools. [1] [2]Developer Environment and Documentation Improvements
Added a comprehensive
DEVELOPMENT.mdguide and improvedCONTRIBUTING.mdwith instructions for local development, environment variables, port references, and troubleshooting. [1] [2] [3]Added a template for local environment variables in
.env.development.local.exampleto streamline onboarding and configuration.Centralized and Updated Tooling
Centralized formatting and linting configuration at the repository root with new
.prettierrc.jsonand.oxlintrc.jsonfiles, replacing.prettierrc.cjsand.eslintrc.cjs. Updated documentation to reflect this. [1] [2] [3] [4] [5]Updated
.npmrcto improve workspace dependency management and hoisting.Developer Experience Enhancements
Updated
.vscode/extensions.jsonto recommend the Gemini CLI VSCode extension in addition to Prettier and ESLint.Updated
syncpackconfiguration to pin TypeScript version workspace-wide and simplify dependency management.Repository Structure and Workflow Updates
Improved documentation in
README.mdto clarify repository structure, development workflows, and dependency management practices.Minor corrections and clarifications in documentation tables and lists.
These changes collectively provide a unified MCP server, streamline developer onboarding, and centralize configuration for a more consistent development experience.