mcp-css-first/
├── packages/
│ ├── core/ # @css-first/core - shared CSS services
│ │ └── src/ # MDN client, suggestions, features, types
│ ├── cli/ # @depthark/css-first - npm package (stdio/HTTP)
│ │ └── src/ # MCP server entrypoint
│ └── worker/ # @css-first/worker - Cloudflare Workers (SSE)
│ └── src/ # McpAgent class for remote MCP
├── wrangler.toml # Cloudflare Workers deployment config
└── smithery.yaml # Smithery registry config
bun install # Install all dependencies
bun run build # Build all packages
bun run build:core # Build @css-first/core only
bun run build:cli # Build @depthark/css-first only
bun run typecheck # Type check all packages
bun run lint # Run ESLint
bun run deploy:worker # Deploy to Cloudflare Workers
bun run publish:cli # Publish CLI to npmpackages/cli:bun run build- bundles with@vercel/nccpackages/core:bun run build- compiles TypeScriptpackages/worker:bun run dev- local Cloudflare development
- TypeScript with strict mode enabled
- Indentation is 2 spaces; prefer double quotes
- Use
camelCasefor variables/functions,PascalCasefor types/classes - Follow ESLint rules (unused args prefixed with
_)
@css-first/coreis internal (private: true), shared between cli and worker@depthark/css-firstis publishable to npm@css-first/workeris private, deployed to Cloudflare only
- No automated test runner configured
- Rely on
bun run typecheckand manual CLI testing - Test worker locally with
cd packages/worker && bun run dev
- Conventional Commits style:
feat:,fix:,chore:,docs:,refactor: - Keep commits scoped to single changes
- PRs should pass: build, lint, typecheck
- npm:
bun run publish:clifrom root ornpm publishfrom packages/cli - Cloudflare Workers: Auto-deploys on git push via wrangler.toml
- Runtime target: Node.js 18+ / Bun