monorepo-package-workflow

Monorepo Package Creation for @j0kz/mcp-agents

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "monorepo-package-workflow" with this command: npx skills add j0kz/mcp-agents/j0kz-mcp-agents-monorepo-package-workflow

Monorepo Package Creation for @j0kz/mcp-agents

Create new MCP tool packages following established patterns from the 9 existing tools.

Prerequisites Checklist

  • Tool purpose clearly defined and unique

  • No duplicate functionality in existing tools (check tools.json)

  • Tool fits one category: analysis, generation, refactoring, design, orchestration

  • Name follows pattern: @j0kz/{tool-name}-mcp

Quick Start: Create New Package

1. Create structure

cd packages mkdir -p your-tool/src/{constants,helpers,utils} mkdir your-tool/tests

2. Initialize package.json (copy template below)

3. Create thin mcp-server.ts (<150 LOC)

4. Implement main-logic.ts with @j0kz/shared

5. Register in tools.json

6. Sync version: npm run version:sync

7. Build and test

Package Structure (Modular Architecture)

your-tool/ ├── src/ │ ├── mcp-server.ts # Thin MCP layer (<150 LOC) │ ├── main-logic.ts # Core functionality │ ├── types.ts # TypeScript interfaces │ ├── constants/ # Thresholds, patterns │ ├── helpers/ # Complex logic (30+ LOC) │ └── utils/ # Cross-cutting utilities ├── tests/ # Vitest tests ├── package.json # With "type": "module" └── tsconfig.json

Target: All files <300 LOC (extract when exceeded)

For detailed structure guide:

cat .claude/skills/monorepo-package-workflow/references/package-structure-guide.md

Critical package.json Template

{ "name": "@j0kz/your-tool-mcp", "version": "1.1.0", // From version.json "type": "module", // CRITICAL: ES modules "main": "./dist/index.js", "bin": { "your-tool-mcp": "dist/mcp-server.js" }, "scripts": { "build": "tsc", "test": "vitest", "test:coverage": "vitest run --coverage" }, "dependencies": { "@j0kz/shared": "^1.1.0", // Must match version "@modelcontextprotocol/sdk": "^1.19.1" } }

MCP Server Pattern (Thin Orchestration)

// mcp-server.ts - ONLY protocol handling import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { handleYourTool } from './main-logic.js'; // .js extension!

// Setup server (thin, delegates all logic) // Target: <150 LOC

For complete MCP patterns:

cat .claude/skills/monorepo-package-workflow/references/mcp-server-patterns.md

Using @j0kz/shared Utilities

import { FileSystemManager, // File ops with caching AnalysisCache, // LRU cache (30min TTL) PerformanceMonitor, // Performance tracking MCPPipeline // Tool chaining } from '@j0kz/shared';

For shared utilities guide:

cat .claude/skills/monorepo-package-workflow/references/shared-utilities-guide.md

Registration & Version Sync

  1. Register in tools.json

{ "id": "your-tool", "name": "Your Tool Name", "package": "@j0kz/your-tool-mcp", "category": "analysis", "features": ["Feature 1", "Feature 2", "Feature 3"] }

  1. Sync Version (CRITICAL!)

Never manually edit version in package.json!

npm run version:sync # Updates all packages npm run version:check-shared # Verify consistency

Testing with Vitest

// tests/main-logic.test.ts import { describe, it, expect } from 'vitest'; import { handleYourTool } from '../src/main-logic.js';

describe('YourTool', () => { it('should handle valid input', async () => { const result = await handleYourTool({ filePath: 'test.ts' }); expect(result.success).toBe(true); }); });

Target: >70% coverage

For testing setup guide:

cat .claude/skills/monorepo-package-workflow/references/testing-setup-guide.md

Import Pattern (ES Modules)

// ✅ CORRECT - Always use .js import { foo } from './bar.js'; import { helper } from './helpers/my-helper.js';

// ❌ WRONG - Will fail import { foo } from './bar'; import { foo } from './bar.ts';

Build & Validation

Build TypeScript

npm run build -w packages/your-tool

Verify structure

ls dist/ # Should have .js files

Run tests

npm test -w packages/your-tool

Check file sizes

find src -name "*.ts" -exec wc -l {} ; | sort -n

All should be <300 LOC

Complete Registration Checklist

For detailed checklist with all steps:

cat .claude/skills/monorepo-package-workflow/references/registration-checklist.md

Quick validation:

  • Package name: @j0kz/{tool}-mcp

  • Registered in tools.json

  • Version synced from version.json

  • mcp-server.ts <150 LOC

  • All files <300 LOC

  • Tests >70% coverage

  • Imports use .js extension

  • "type": "module" in package.json

Common Mistakes to Avoid

Mistake Fix

Manually set version Use npm run version:sync

Forget tools.json Register before publishing

Fat mcp-server.ts Keep <150 LOC, delegate to main-logic

Missing .js extension Add to all relative imports

Files >300 LOC Extract to constants/helpers/utils

Reference Examples

Study these well-structured packages:

  • security-scanner - Best modular refactoring (395→209 LOC)

  • smart-reviewer - AST analysis with fixers/

  • orchestrator-mcp - MCPPipeline usage

  • test-generator - Code generation patterns

Publishing Workflow

1. Build all

npm run build

2. Publish

npm run publish-all

3. Git operations

git add . && git commit -m "feat: add your-tool" git tag v1.1.0 && git push --tags

Related Skills

  • project-standardization: Version management and automation

  • modular-refactoring-pattern: Reducing file complexity

  • code-quality-pipeline: Ensuring code quality

Quick Commands

npm run version:sync # Sync versions npm run build # Build all packages npm test # Run tests npm run publish-all # Publish to npm

For modular refactoring: .claude/skills/modular-refactoring-pattern/SKILL.md

For project standards: .claude/skills/project-standardization/SKILL.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

api-integration

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

dependency-doctor

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

brand-guidelines

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

debug-detective

No summary provided by upstream source.

Repository SourceNeeds Review