{
  "name": "qa360-mcp",
  "version": "1.0.1",
  "description": "QA360 MCP - Zero-friction CLI + Full MCP Server (23 tools) for Claude Code integration with industrial DX compliance",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "qa360-mcp": "dist/cli/cli.js",
    "qa360-mcp-server": "dist/server/full-server.js"
  },
  "scripts": {
    "build": "tsc -p tsconfig.json",
    "build:pkg": "tsc",
    "check": "tsc -p tsconfig.json --noEmit",
    "dev": "tsc --watch",
    "start": "node dist/cli/cli.js",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:dx": "vitest run tests/dx.test.ts",
    "lint": "eslint src --ext .ts",
    "lint:fix": "eslint src --ext .ts --fix",
    "pre-sbom": "mkdir -p dist && npm i --package-lock-only 2>/dev/null || true",
    "sbom:real": "npx @cyclonedx/cyclonedx-npm --package-lock-only --output-format JSON --output-file dist/qa360-sbom.json 2>/dev/null || node scripts/generate-sbom-fallback.cjs",
    "sbom:verify": "node -e \"const f='dist/qa360-sbom.json';const fs=require('fs');if(!fs.existsSync(f)){console.error('❌ SBOM not found');process.exit(1);}const s=fs.statSync(f).size;if(s<500){console.error('❌ SBOM too small:',s,'bytes');process.exit(2);}console.log('✅ SBOM verified:',s,'bytes');\"",
    "sbom": "npm run pre-sbom && npm run sbom:real && npm run sbom:verify",
    "audit:ci": "npm audit --audit-level=high --json > dist/security-audit.json || exit 1",
    "verify:settings": "node dist/scripts/verify-settings.js",
    "e2e": "node dist/scripts/e2e-local.js",
    "ci:pre": "npm run check && npm run build",
    "ci:security": "npm run sbom && npm run audit:ci",
    "ci:e2e": "qa360-mcp init --non-interactive --force && qa360-mcp doctor --json",
    "ci:all": "npm run ci:pre && npm run ci:security && npm run ci:e2e",
    
    "prepublishOnly": "npm run check && npm run build && npm run sbom && npm run audit:ci",
    "publish:dry": "npm publish --access public --provenance --dry-run",
    "publish:real": "npm publish --access public --provenance",
    "postinstall": "node scripts/safe-postinstall.cjs"
  },
  "keywords": [
    "qa360",
    "mcp",
    "model-context-protocol",
    "claude",
    "vscode",
    "cli",
    "dx",
    "testing",
    "ai"
  ],
  "author": "QA360 Team",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/xyqotech/qa360.git",
    "directory": "packages/mcp"
  },
  "homepage": "https://github.com/xyqotech/qa360",
  "bugs": {
    "url": "https://github.com/xyqotech/qa360/issues"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^0.4.0",
    "qa360-core": "^1.0.0",
    "ajv": "^8.12.0",
    "chalk": "^5.3.0",
    "commander": "^11.1.0",
    "execa": "^8.0.1",
    "fs-extra": "^11.2.0",
    "inquirer": "^9.2.12",
    "jsonc-parser": "^3.2.0",
    "ora": "^8.0.1",
    "semver": "^7.5.4"
  },
  "devDependencies": {
    "@cyclonedx/cyclonedx-npm": "1.20.0",
    "@types/fs-extra": "^11.0.4",
    "@types/inquirer": "^9.0.7",
    "@types/node": "^20.10.0",
    "@types/semver": "^7.5.6",
    "@typescript-eslint/eslint-plugin": "^6.13.0",
    "@typescript-eslint/parser": "^6.13.0",
    "eslint": "^8.55.0",
    "typescript": "^5.3.0",
    "vitest": "^1.0.4"
  },
  "files": [
    "dist/**/*",
    "scripts/**/*",
    "README.md",
    "LICENSE"
  ]
}
