{
  "name": "peaks-loop",
  "version": "4.1.22",
  "description": "Loop Engineering CLI — workflow primitive / loop guards / evaluators / slice orchestration",
  "author": "SquabbyZ",
  "keywords": [
    "peaks-loop",
    "loop-engineering",
    "ai-orchestration",
    "ai-coding-agent",
    "ai-programmer",
    "multi-agent",
    "claude-code",
    "codex",
    "z-code",
    "cursor",
    "trae",
    "tongyi-lingma",
    "agent-harness",
    "agentic-engineering",
    "autonomous-workflow",
    "workflow-orchestration",
    "llm-workflow",
    "long-running-task",
    "sub-agent-dispatch",
    "dag-orchestration",
    "slice-decomposition",
    "sop",
    "openspec",
    "karpathy",
    "darwin",
    "anti-drift",
    "evolution-evaluation",
    "ci-cd",
    "github-actions",
    "trusted-publishing",
    "oidc",
    "monorepo",
    "pnpm",
    "vitest",
    "code-review",
    "tdd",
    "security-scan",
    "lint",
    "typecheck",
    "devtool",
    "cli",
    "developer-tools"
  ],
  "license": "MIT",
  "type": "module",
  "publishConfig": {
    "access": "public"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/SquabbyZ/peaks-loop.git"
  },
  "homepage": "https://github.com/SquabbyZ/peaks-loop",
  "bugs": {
    "url": "https://github.com/SquabbyZ/peaks-loop/issues"
  },
  "bin": {
    "peaks": "./bin/peaks.js"
  },
  "files": [
    "bin/peaks.js",
    "bin/node-floor.mjs",
    "dist/cli/index.js",
    "dist/**/*.js",
    "dist/**/*.d.ts",
    "dist/**/*.md",
    "dist/**/*.sql",
    "scripts/clean-dist.mjs",
    "scripts/copy-templates.mjs",
    "scripts/sync-version.mjs",
    "scripts/install-skills.mjs",
    "scripts/install-skills-fs.mjs",
    "scripts/install-skills-report.mjs",
    "scripts/install-skills-user-config.mjs",
    "scripts/install-skills-ide.mjs",
    "scripts/install-skills-bundles.mjs",
    "scripts/install-skills-output-styles.mjs",
    "scripts/install-skills-output-style-default.mjs",
    "scripts/canonical-store.mjs",
    "scripts/canonical-store-fs.mjs",
    "scripts/canonical-store-marker.mjs",
    "scripts/canonical-store-link.mjs",
    "scripts/canonical-store-prune.mjs",
    "scripts/canonical-store-report.mjs",
    "scripts/watch.mjs",
    "scripts/watch-tree.mjs",
    "skills/**",
    "!skills/**/test-prompts.json",
    "!skills/**/.DS_Store",
    "output-styles/**",
    "agents/**",
    "schemas/*.json",
    "contracts/readonly-argv-whitelist.json",
    ".claude-plugin/**",
    "config/eslint/.peaks-rules.cjs",
    "config/eslint/tsconfig.lint.json",
    "contracts/test-style-contract.md",
    "README.md",
    "README-en.md",
    "CHANGELOG.md",
    "LICENSE"
  ],
  "prettier": {
    "singleQuote": true,
    "semi": true,
    "printWidth": 100,
    "trailingComma": "none",
    "endOfLine": "lf",
    "arrowParens": "always",
    "quoteProps": "as-needed"
  },
  "lint-staged": {
    "*.{ts,tsx,mts,cts,mjs,cjs,js}": [
      "node .husky/peaks-gate.mjs staged"
    ]
  },
  "engines": {
    "node": ">=24.0.0"
  },
  "dependencies": {
    "@alibaba-group/open-code-review": "^1.13.1",
    "@colbymchenry/codegraph": "1.6.2",
    "@upstash/context7-mcp": "^4.4.4",
    "commander": "^12.1.0",
    "fzf": "^0.5.2",
    "picomatch": "4.0.7",
    "yaml": "^2.9.1",
    "zod": "^4.6.7",
    "peaks-loop-internal-runtime": "0.0.62",
    "peaks-loop-mut": "0.1.76",
    "peaks-loop-shared": "0.0.111",
    "peaks-loop-shared-channel": "0.0.79"
  },
  "devDependencies": {
    "@changesets/cli": "2.31.1",
    "@jridgewell/trace-mapping": "^0.3.31",
    "@stryker-mutator/core": "^9.6.1",
    "@stryker-mutator/vitest-runner": "^9.6.1",
    "@types/node": "^24.19.1",
    "@types/picomatch": "4.0.3",
    "@typescript-eslint/eslint-plugin": "8.66.0",
    "@typescript-eslint/parser": "8.66.0",
    "@vitest/coverage-istanbul": "^4.1.10",
    "@vitest/coverage-v8": "^4.1.10",
    "c8": "^10.1.3",
    "eslint": "8.57.1",
    "husky": "^9.1.7",
    "lint-staged": "^15.5.2",
    "prettier": "^3.9.8",
    "tsx": "^4.19.2",
    "typescript": "^5.7.2",
    "vite": "^6.0.0",
    "vitest": "^4.1.10"
  },
  "scripts": {
    "build": "node ./scripts/sync-version.mjs && node ./scripts/clean-dist.mjs && pnpm -r --filter \"./packages/*\" run build && node ./scripts/write-package-dist-stamps.mjs && node node_modules/tsx/dist/cli.mjs scripts/generate-readonly-whitelist.ts && node node_modules/tsx/dist/cli.mjs scripts/generate-plugin-manifest.ts && tsc -p tsconfig.build.json && node ./scripts/copy-templates.mjs && node ./scripts/check-build-integrity.mjs && node ./scripts/write-dist-stamp.mjs",
    "readonly:whitelist": "node node_modules/tsx/dist/cli.mjs scripts/generate-readonly-whitelist.ts",
    "plugin:manifest": "node node_modules/tsx/dist/cli.mjs scripts/generate-plugin-manifest.ts",
    "prepublish": "node ./scripts/sync-version.mjs",
    "postinstall": "node ./scripts/install-skills.mjs",
    "predev": "node ./scripts/sync-version.mjs",
    "dev": "tsx src/cli/index.ts",
    "dev:watch": "node ./scripts/watch.mjs",
    "pretest": "node ./scripts/sync-version.mjs && pnpm -r --filter \"./packages/*\" run build && node ./scripts/write-package-dist-stamps.mjs && node ./scripts/check-build-integrity.mjs",
    "test": "vitest run",
    "test:full": "pnpm -r --include-workspace-root --workspace-concurrency=2 run test",
    "test:fast": "vitest run --maxWorkers=8 -t \"^((?!@slow|@integration|@replay).)*$\" tests/unit",
    "test:dev": "vitest run tests/unit",
    "test:dev:cli": "vitest run tests/unit",
    "test:unit": "vitest run tests/unit",
    "test:e2e": "vitest run --config vitest.config.e2e.ts",
    "test:lint": "vitest run --config vitest.config.lint.ts",
    "test:integration": "vitest run --config vitest.config.integration.ts tests/integration",
    "test:capability-guard": "vitest run --config vitest.config.integration.ts tests/integration/capability-guard",
    "test:cli": "vitest run tests/unit",
    "test:workflow": "vitest run tests/unit",
    "test:audit:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
    "test:ci": "node ./scripts/sync-version.mjs && node ./scripts/lint/silent-warning-detector.mjs && vitest run --coverage",
    "test:changed": "node scripts/test-changed.mjs",
    "bench:phase-a": "node node_modules/tsx/dist/cli.mjs benchmarks/runtime-detached/baseline.ts",
    "bench:resource-budget": "node node_modules/tsx/dist/cli.mjs benchmarks/runtime-detached/resource-budget-bench.ts",
    "lint:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
    "test:race": "vitest run --no-file-parallelism packages/peaks-loop-shared-channel/tests/shared-channel.test.ts tests/unit/services/dispatch/dispatch-record-writer.test.ts",
    "test:replay": "node scripts/fixture-capture-setup.mjs && vitest run tests/unit/services/dispatch/conflict-replay.test.ts tests/unit/services/dispatch/e2e-fixtures.test.ts",
    "fixture:capture-setup": "node scripts/fixture-capture-setup.mjs",
    "test:coverage:vitest": "vitest run --coverage",
    "test:coverage:workflow": "vitest run --coverage --coverage.include='src/services/workflow/plan-*.ts' tests/unit/services/workflow/",
    "schema:generate": "node scripts/generate-context-schema.mjs",
    "typecheck": "tsc -p tsconfig.json --noEmit && vitest run --coverage --coverage.include='src/services/workflow/plan-*.ts' tests/unit/services/workflow/",
    "mut:run": "peaks mut run --project . --test-files tests/unit/cli/commands/verdict-aggregate-missing-evidence.test.ts --mutate src/cli/commands/verdict-aggregate-command.ts src/shared/path-safety.ts src/services/workflow/pipeline-verify-qa-phase.ts src/cli/cli-helpers.ts --input-sig 0000000000000000000000000000000000000000000000000000000000000000 --session-id 00000000000000000000000000000000 --out .peaks/_runtime/00000000000000000000000000000000/mut/mut-report.json --json",
    "mut:scan": "peaks mut asserts --project . --test-files tests/unit/cli/commands/verdict-aggregate-missing-evidence.test.ts --input-sig 0000000000000000000000000000000000000000000000000000000000000000 --session-id 00000000000000000000000000000000 --out .peaks/_runtime/00000000000000000000000000000000/mut/mut-asserts-report.json --json",
    "audit:prose-ratio": "peaks audit prose-ratio --project .",
    "dogfood:sediment": "bash scripts/dogfood-sediment-cycle.sh",
    "lint": "node ./scripts/lint/run-lint.mjs",
    "format:check": "prettier --check \"src/**/*.{ts,mts,mjs,js}\" \"tests/**/*.{ts,mts,mjs,js}\" \"packages/**/*.{ts,mts,mjs,js}\" \"scripts/**/*.{ts,mts,mjs,js}\"",
    "format": "prettier --write \"src/**/*.{ts,mts,mjs,js}\" \"tests/**/*.{ts,mts,mjs,js}\" \"packages/**/*.{ts,mts,mjs,js}\" \"scripts/**/*.{ts,mts,mjs,js}\"",
    "gate:staged": "node .husky/peaks-gate.mjs staged",
    "gate:repo": "node .husky/peaks-gate.mjs repo"
  }
}