{
  "name": "knowledge-rail",
  "version": "2.8.0",
  "mcpName": "io.github.Deviank88/knowledge-rail",
  "description": "Local-first MCP 2.0 server for persistent, evidence-backed project knowledge and task context",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Deviank88/KnowledgeRail.git"
  },
  "homepage": "https://github.com/Deviank88/KnowledgeRail#readme",
  "bugs": {
    "url": "https://github.com/Deviank88/KnowledgeRail/issues"
  },
  "keywords": [
    "mcp",
    "model-context-protocol",
    "knowledge-base",
    "context-retrieval",
    "ai-agents"
  ],
  "files": [
    "ACKNOWLEDGEMENTS.md",
    "CHANGELOG.md",
    "docs/guides/claude-code-hooks.md",
    "docs/guides/code-evidence-retrieval.md",
    "SELF_HOSTING.md",
    "SECURITY.md",
    "assets/knowledge-rail-logo.png",
    "dist",
    "server.json"
  ],
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "knowledge-rail": "dist/index.js"
  },
  "scripts": {
    "build": "rimraf dist && tsc",
    "prepack": "npm run build",
    "check": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.check.json",
    "test": "node scripts/run-tests.mjs",
    "verify": "npm run repository:verify && npm run check && npm test",
    "package:smoke": "node scripts/package-smoke.mjs",
    "mcpb:build": "node scripts/build-mcpb.mjs",
    "mcpb:smoke": "npm run mcpb:build && node scripts/mcpb-smoke.mjs",
    "audit:runtime": "npm audit --omit=dev --audit-level=high",
    "audit:signatures": "npm audit signatures",
    "bench:scale": "tsx benchmarks/search-bench.ts",
    "bench:mcp": "tsx benchmarks/mcp-protocol-bench.ts",
    "bench:context": "tsx benchmarks/context-disclosure-bench.ts",
    "bench:graph-runtime": "tsx benchmarks/graph-runtime-bench.ts",
    "bench:code-query": "node --expose-gc --import tsx benchmarks/code-query-bench.ts",
    "bench:project-structure": "node --expose-gc --import tsx benchmarks/project-structure-bench.ts",
    "bench:code-context": "node --expose-gc --import tsx benchmarks/code-context-bench.ts",
    "bench:code-telemetry": "node --import tsx benchmarks/code-request-telemetry-bench.ts",
    "bench:startup": "node --import tsx benchmarks/startup-bench.ts",
    "bench:restart": "node --expose-gc --import tsx benchmarks/restart-checkpoint-bench.ts",
    "bench:warm-start": "node --expose-gc --import tsx benchmarks/warm-start-e2e.ts",
    "bench:warm-start:gate": "node --expose-gc --import tsx benchmarks/warm-start-e2e.ts --scales=250 --iterations=5 --update-iterations=5 --gate",
    "bench:update": "node --expose-gc --import tsx benchmarks/incremental-update-bench.ts",
    "bench:reconcile": "node --expose-gc --import tsx benchmarks/reconciliation-bench.ts",
    "bench:page-terms": "node --expose-gc --import tsx benchmarks/page-terms-bench.ts",
    "bench:lexical-selection": "node --expose-gc --import tsx benchmarks/lexical-selection-bench.ts",
    "bench:code-profile": "node --expose-gc --import tsx benchmarks/code-search-profile.ts",
    "bench:code-parity": "node --import tsx benchmarks/code-query-parity.ts",
    "bench:stability": "node --expose-gc --import tsx benchmarks/stability-soak.ts",
    "bench:reconcile:full": "node --expose-gc --import tsx benchmarks/full-reconciliation-bench.ts",
    "eval:retrieval": "tsx benchmarks/retrieval-quality-eval.ts",
    "eval:retrieval:gate": "tsx benchmarks/retrieval-baseline-gate.ts",
    "eval:phrase:ab": "node --import tsx benchmarks/phrase-retrieval-ab.ts",
    "eval:hybrid": "tsx benchmarks/hybrid-retrieval-quality-eval.ts",
    "eval:hybrid:gate": "tsx benchmarks/hybrid-retrieval-baseline-gate.ts",
    "eval:widening": "tsx benchmarks/progressive-widening-eval.ts",
    "eval:widening:gate": "tsx benchmarks/progressive-widening-baseline-gate.ts",
    "eval:source-coverage": "tsx benchmarks/source-coverage-eval.ts",
    "eval:source-coverage:gate": "tsx benchmarks/source-coverage-baseline-gate.ts",
    "eval:evidence-ir": "tsx benchmarks/evidence-ir-eval.ts",
    "eval:evidence-ir:gate": "tsx benchmarks/evidence-ir-baseline-gate.ts",
    "eval:code-evidence": "tsx benchmarks/code-evidence-eval.ts",
    "eval:code-evidence:gate": "tsx benchmarks/code-evidence-baseline-gate.ts",
    "eval:code-evidence:languages": "tsx benchmarks/multi-language-code-evidence-eval.ts",
    "eval:code-evidence:languages:gate": "tsx benchmarks/multi-language-code-evidence-gate.ts",
    "eval:drift": "tsx benchmarks/drift-detection-eval.ts",
    "eval:drift:gate": "tsx benchmarks/drift-detection-baseline-gate.ts",
    "eval:recovery": "tsx benchmarks/knowledge-recovery-eval.ts",
    "eval:recovery:gate": "tsx benchmarks/knowledge-recovery-baseline-gate.ts",
    "eval:task-context": "tsx benchmarks/task-context-compiler-eval.ts",
    "eval:task-context:gate": "tsx benchmarks/task-context-compiler-baseline-gate.ts",
    "eval:semantic": "tsx benchmarks/semantic-retrieval-eval.ts",
    "eval:semantic:gate": "tsx benchmarks/semantic-retrieval-baseline-gate.ts",
    "eval:coverage": "tsx benchmarks/coverage-quality-eval.ts",
    "eval:migration": "tsx benchmarks/legacy-migration-eval.ts",
    "eval:migration:gate": "tsx benchmarks/legacy-migration-baseline-gate.ts",
    "eval:quality": "tsx benchmarks/document-quality-eval.ts",
    "eval:editorial": "tsx benchmarks/editorial-intelligence-eval.ts",
    "eval:editorial:gate": "tsx benchmarks/editorial-intelligence-baseline-gate.ts",
    "eval:documents": "tsx benchmarks/document-contract-eval.ts",
    "eval:documents:gate": "tsx benchmarks/document-contract-baseline-gate.ts",
    "eval:tool-surface": "tsx benchmarks/tool-surface-eval.ts",
    "eval:tool-surface:gate": "tsx benchmarks/tool-surface-baseline-gate.ts",
    "eval:gates": "node scripts/run-quality-gates.mjs",
    "eval:imports:gate": "node --import tsx benchmarks/import-resolution-eval.ts --gate",
    "eval:functional-routing:gate": "node --import tsx benchmarks/functional-routing-eval.ts --gate",
    "eval:project-precision": "node --import tsx benchmarks/project-precision-eval.ts",
    "release:verify": "node scripts/verify-release.mjs",
    "release:verify:published": "node scripts/verify-published-release.mjs",
    "repository:verify": "node scripts/verify-repository-hygiene.mjs",
    "docs:generate": "node --import tsx scripts/generate-tool-reference.ts",
    "dogfood:self-wiki": "node --import tsx scripts/dogfood-self-wiki.ts",
    "dogfood:import-knowledge": "node --import tsx scripts/record-import-knowledge.ts",
    "report:code-requests": "node --import tsx scripts/code-request-report.ts",
    "dev": "tsx watch src/index.ts",
    "start": "node dist/index.js",
    "clean": "rimraf dist",
    "eval:public-manifests:gate": "node --import tsx benchmarks/public-project-manifests-eval.ts --gate"
  },
  "engines": {
    "node": ">=22.12.0"
  },
  "dependencies": {
    "@modelcontextprotocol/client": "^2.0.0",
    "@modelcontextprotocol/node": "^2.0.0",
    "@modelcontextprotocol/server": "^2.0.0",
    "fast-glob": "^3.3.3",
    "jszip": "^3.10.1",
    "marked": "18.0.9",
    "pdf-to-png-converter": "3.14.0",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@types/node": "^22.0.0",
    "rimraf": "^6.0.1",
    "tsx": "^4.23.12",
    "typescript": "^5.7.0"
  }
}
