{
  "name": "pi-spine",
  "version": "2.12.0",
  "description": "Orchestration spine for long-running pi development",
  "keywords": [
    "pi-package",
    "ai",
    "agent",
    "orchestration",
    "task-runner",
    "parallel",
    "spine-orchestrate-waves",
    "spine-orchestrate"
  ],
  "bin": {
    "spine": "bin/spine.mjs"
  },
  "pi": {
    "extensions": [
      "./extensions/spine-orchestrator.ts"
    ],
    "skills": [
      "./skills"
    ],
    "minPiVersion": "0.60.0"
  },
  "type": "module",
  "engines": {
    "node": ">=22.0.0"
  },
  "scripts": {
    "doctor": "node bin/spine.mjs doctor",
    "lint": "eslint --max-warnings 0 src bin tests scripts",
    "typecheck": "tsc --project tsconfig.json --noEmit && tsc --project tsconfig.batch.json --noEmit",
    "verify:reconcile-fixtures": "node scripts/verify-reconcile-test-fixtures.mjs",
    "pretest": "npm run verify:reconcile-fixtures",
    "test": "SPINE_SUPPRESS_JOURNAL_ATTACH=1 node --experimental-strip-types --test tests/*.test.mjs tests/cli/*.test.mjs tests/compat/*.test.mjs tests/tasks/*.test.mjs tests/config/*.test.mjs tests/config/cursor-rules/*.test.mjs tests/planner/*.test.mjs tests/batch/*.test.mjs tests/agents/*.test.mjs tests/adoption/*.test.mjs tests/dashboard/*.test.mjs tests/doctor/*.test.mjs tests/init/*.test.mjs tests/migrate/*.test.mjs tests/worker-tools/*.test.mjs tests/coverage/*.test.mjs tests/extensions/*.test.mjs",
    "test:batch": "SPINE_SUPPRESS_JOURNAL_ATTACH=1 node --experimental-strip-types --test tests/batch/*.test.mjs",
    "test:core": "SPINE_SUPPRESS_JOURNAL_ATTACH=1 node --experimental-strip-types --test tests/*.test.mjs tests/cli/*.test.mjs tests/compat/*.test.mjs tests/tasks/*.test.mjs tests/config/*.test.mjs tests/config/cursor-rules/*.test.mjs tests/planner/*.test.mjs tests/agents/*.test.mjs tests/adoption/*.test.mjs tests/dashboard/*.test.mjs tests/doctor/*.test.mjs tests/migrate/*.test.mjs tests/worker-tools/*.test.mjs tests/coverage/*.test.mjs",
    "test:coverage": "node scripts/run-coverage.mjs --report-only",
    "coverage:check": "node scripts/run-coverage.mjs",
    "release:check": "npm run typecheck && npm run lint && SPINE_WORKER_STUB=1 npm test && npm run coverage:check",
    "preversion": "npm run release:check",
    "prepublishOnly": "npm run release:check"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/beettlle/pi-spine.git"
  },
  "homepage": "https://github.com/beettlle/pi-spine#readme",
  "bugs": {
    "url": "https://github.com/beettlle/pi-spine/issues"
  },
  "files": [
    "bin/",
    "extensions/",
    "skills/",
    "scripts/coverage-parse.mjs",
    "src/",
    "templates/"
  ],
  "peerDependencies": {
    "@earendil-works/pi-coding-agent": "*",
    "typebox": "*"
  },
  "peerDependenciesMeta": {
    "@earendil-works/pi-coding-agent": {
      "optional": true
    },
    "typebox": {
      "optional": true
    }
  },
  "devDependencies": {
    "@earendil-works/pi-coding-agent": "^0.80.3",
    "@types/node": "^22.19.18",
    "eslint": "^9.28.0",
    "globals": "^16.2.0",
    "typebox": "1.1.38",
    "typescript": "5.6.3"
  },
  "license": "MIT",
  "dependencies": {
    "micromatch": "^4.0.8"
  }
}
