package.json•9.11 kB
{
"name": "@castplan/automation-mcp",
"version": "2.0.7",
"description": "CastPlan Automation MCP Server - Universal auto-configuration for any project",
"type": "module",
"main": "dist/index.js",
"bin": {
"castplan-mcp": "dist/cli.js",
"castplan-init": "dist/cli.js",
"castplan-config": "dist/cli.js"
},
"files": [
"dist/**/*",
"configs/**/*",
"scripts/**/*",
"README.md",
"LICENSE",
"INSTALL.md"
],
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"os": [
"win32",
"darwin",
"linux"
],
"cpu": [
"x64",
"arm64"
],
"preferGlobal": true,
"scripts": {
"build": "tsc && npm run build:configs",
"build:configs": "node scripts/build-configs.js",
"build:production": "node scripts/production-build.js",
"build:performance": "node performance-build.js",
"build:development": "NODE_ENV=development npm run build",
"build:staging": "NODE_ENV=staging npm run build:production",
"build:docker": "docker build -t castplan/automation-mcp:latest .",
"build:multi-platform": "docker buildx build --platform linux/amd64,linux/arm64 -t castplan/automation-mcp:latest .",
"dev": "tsc -w",
"start": "node dist/index.js",
"cli": "node dist/cli.js",
"init": "node dist/cli.js init",
"config": "node dist/cli.js config",
"verify": "node dist/cli.js verify",
"doctor": "node dist/cli.js doctor",
"clean": "del-cli dist coverage test-results node_modules/.cache",
"install:global": "npm install -g .",
"install:user": "npm install --prefix ~/.npm-global .",
"test": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest",
"test:win": "set NODE_OPTIONS=--max-old-space-size=4096 && jest",
"test:coverage": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" JEST_COVERAGE=true jest --coverage",
"test:coverage:win": "set NODE_OPTIONS=--max-old-space-size=4096 && set JEST_COVERAGE=true && jest --coverage",
"test:watch": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --watch --no-coverage",
"test:watch:win": "set NODE_OPTIONS=--max-old-space-size=4096 && jest --watch --no-coverage",
"test:debug": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096 --inspect-brk\" jest --runInBand --no-cache",
"test:memory": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" JEST_MONITOR_MEMORY=true jest",
"test:ci": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --ci --coverage --maxWorkers=2 --passWithNoTests --verbose",
"test:single": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testNamePattern",
"prebuild": "npm run clean",
"posttest": "npm run test:cleanup",
"test:cleanup": "del-cli coverage/.tmp test-results/.tmp",
"test:comprehensive": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" JEST_COVERAGE=true jest --coverage --verbose --detectOpenHandles",
"test:performance": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=PerformanceTests --verbose",
"test:e2e": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=e2e --verbose",
"test:integration": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=integration --verbose",
"test:tools": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=tools --verbose",
"test:services": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=services --verbose --testNamePattern=\"Service\"",
"test:comprehensive-suite": "node scripts/comprehensive-test-runner.js",
"test:comprehensive-fast": "node scripts/comprehensive-test-runner.js --fail-fast",
"test:contracts": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=ContractTests --verbose",
"test:database": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=DatabaseIntegrationTests --verbose",
"test:chains": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testPathPattern=ServiceIntegrationChainTests --verbose",
"test:security": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --testNamePattern=\"security|Security\" --verbose",
"test:report": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" jest --coverage --coverageReporters=html,json,lcov,text && npm run test:report:generate",
"test:report:generate": "node -e \"console.log('📊 Test reports generated in coverage/ directory')\"",
"test:all": "npm run test:comprehensive-suite",
"package:all": "npm run build && npm run package:npm && npm run package:python",
"package:npm": "npm pack",
"package:python": "cd python-bridge && python -m build",
"publish:all": "npm run package:all && npm run publish:npm && npm run publish:python",
"publish:npm": "npm publish",
"publish:python": "cd python-bridge && python -m twine upload dist/*",
"install:test": "npm run test:install",
"test:install": "node scripts/test-installation.js",
"verify:build": "npm run build && npm run test:ci",
"deploy:staging": "npm run build:staging && npm run package:all",
"deploy:production": "npm run build:production && npm run test:ci && npm run package:all",
"docker:up": "docker-compose up -d",
"docker:down": "docker-compose down",
"docker:logs": "docker-compose logs -f castplan-mcp",
"docker:dev": "docker-compose --profile development up -d",
"docker:test": "docker-compose --profile testing up --abort-on-container-exit",
"docker:monitoring": "docker-compose --profile monitoring up -d",
"health": "node dist/cli.js health",
"security:audit": "npm audit && snyk test",
"performance:benchmark": "npm run test:performance && npm run analyze:bundle",
"analyze:bundle": "node scripts/analyze-bundle.js",
"analyze:deps": "node scripts/dependency-performance-monitor.js",
"analyze:deps:simple": "npm ls --prod --json | node -e 'const data=JSON.parse(require(\"fs\").readFileSync(0));const deps=Object.keys(data.dependencies||{});console.log(`📦 Production deps: ${deps.length}\\n${deps.join(\", \")}`);'",
"analyze:size": "npm pack --dry-run && du -sh node_modules/ 2>/dev/null || echo 'Bundle analysis complete'",
"deps:update": "npm update && npm audit fix",
"deps:dedupe": "npm dedupe && npm prune",
"perf:build": "npm run clean && npm run build && npm run analyze:size",
"perf:profile": "node --prof dist/index.js && node --prof-process *.log",
"cache:clear": "npm cache clean --force && rm -rf node_modules/.cache"
},
"keywords": [
"mcp",
"castplan",
"automation",
"documentation",
"bmad",
"hooks",
"ai-analysis",
"claude",
"universal-packaging",
"cross-platform",
"multi-manager",
"typescript",
"configuration",
"cli"
],
"author": "CastPlan Team",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.17.0",
"@types/better-sqlite3": "^7.6.13",
"@types/uuid": "^10.0.0",
"better-sqlite3": "^12.2.0",
"chokidar": "^4.0.3",
"commander": "^14.0.0",
"date-fns": "^2.30.0",
"globby": "^14.0.2",
"gray-matter": "^4.0.3",
"js-yaml": "^4.1.0",
"marked": "^16.1.1",
"pino": "^9.5.0",
"pino-pretty": "^13.0.0",
"uuid": "^11.1.0",
"winston": "^3.17.0",
"zod": "^3.25.76"
},
"devDependencies": {
"@playwright/test": "^1.49.0",
"@types/jest": "^30.0.0",
"@types/js-yaml": "^4.0.9",
"@types/node": "^22.10.0",
"cross-env": "^10.0.0",
"del-cli": "^6.0.0",
"jest": "^30.0.5",
"jest-junit": "^16.0.0",
"playwright": "^1.49.0",
"ts-jest": "^29.2.5",
"typescript": "^5.7.2"
},
"resolutions": {
"sqlite3": "npm:better-sqlite3@^12.2.0",
"rimraf": "^5.0.10",
"glob": "^10.4.5",
"inflight": "npm:@isaacs/inflight@^1.0.6",
"npmlog": "npm:proc-log@^4.2.0"
},
"overrides": {
"sqlite3": "npm:better-sqlite3@^12.2.0",
"rimraf": "^5.0.10",
"glob": "^10.4.5",
"inflight": "@isaacs/inflight@^1.0.6"
},
"optionalDependencies": {
"@anthropic-ai/sdk": "^0.57.0",
"openai": "^5.11.0"
},
"repository": {
"type": "git",
"url": "https://github.com/Ghostseller/CastPlan_mcp.git"
},
"homepage": "https://github.com/Ghostseller/CastPlan_mcp",
"bugs": {
"url": "https://github.com/Ghostseller/CastPlan_mcp/issues",
"email": "banessayuu@gmail.com"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/Ghostseller"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"castplan": {
"type": "mcp-server",
"universal-packaging": true,
"supported-managers": [
"npm",
"yarn",
"pnpm",
"pip",
"uv",
"uvx"
],
"supported-platforms": [
"win32",
"darwin",
"linux"
],
"supported-environments": [
"claude-desktop",
"cline",
"cursor",
"standard-mcp"
],
"auto-configuration": true,
"multi-manager": true
}
}