Skip to content

Centralize monorepo tooling and unify development setup - #436

Open
sjoerd2025 wants to merge 40 commits into
cloudflare:mainfrom
sjoerd2025:main
Open

Centralize monorepo tooling and unify development setup#436
sjoerd2025 wants to merge 40 commits into
cloudflare:mainfrom
sjoerd2025:main

Conversation

@sjoerd2025

Copy link
Copy Markdown

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-server app, 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.md and described as the recommended single entry point for Cloudflare MCP tools. [1] [2]


Developer Environment and Documentation Improvements

  • Added a comprehensive DEVELOPMENT.md guide and improved CONTRIBUTING.md with instructions for local development, environment variables, port references, and troubleshooting. [1] [2] [3]

  • Added a template for local environment variables in .env.development.local.example to streamline onboarding and configuration.


Centralized and Updated Tooling

  • Centralized formatting and linting configuration at the repository root with new .prettierrc.json and .oxlintrc.json files, replacing .prettierrc.cjs and .eslintrc.cjs. Updated documentation to reflect this. [1] [2] [3] [4] [5]

  • Updated .npmrc to improve workspace dependency management and hoisting.


Developer Experience Enhancements

  • Updated .vscode/extensions.json to recommend the Gemini CLI VSCode extension in addition to Prettier and ESLint.

  • Updated syncpack configuration to pin TypeScript version workspace-wide and simplify dependency management.


Repository Structure and Workflow Updates

  • Improved documentation in README.md to 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.

sjoerd2025 and others added 29 commits August 1, 2026 05:41
Updated various scripts and dependencies in package.json.
…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
Copilot AI review requested due to automatic review settings August 1, 2026 08:15
…oudflare-setup

Harden dependency baseline: upgrade axios/ws and enforce patched versions via pnpm overrides

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.cjs files.
  • 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:check scripts point at src/, but there is no root src/ 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 dev runs Turbo-managed dev tasks, but the root scripts include a dev-manager intended to launch the unified dashboard + apps (and dev:turbo is 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 thread package.json
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 thread README.md
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 thread .vscode/README.md
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.
Comment thread setup-toolchain.sh
- name: "deploy-orchestration-squad"
type: "specialist"
role: "Dashboard UI and CI/CD setup"
lead_agent": "@agent-deploy-orchestration"
Comment thread .vscode/package.json
Comment on lines +13 to +16
"dependencies": {
"@repo/mcp-common": "workspace:*",
"ai-gateway": "workspace:*",
"auditlogs": "workspace:*",
Comment thread CONTRIBUTING.md
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants