{"_id":"@ajgreyling/cursor-doctor","_rev":"2-c6f39525aa79c38ad4360ae68746d958","name":"@ajgreyling/cursor-doctor","dist-tags":{"latest":"1.12.6"},"versions":{"1.12.5":{"name":"@ajgreyling/cursor-doctor","version":"1.12.5","keywords":["cli","cursor","documentation","audit"],"license":"MIT","_id":"@ajgreyling/cursor-doctor@1.12.5","maintainers":[{"name":"ajgreyling","email":"ajgreyling@gmail.com"}],"bin":{"cursor-doctor":"dist/index.js"},"dist":{"shasum":"b001488922fe03175f3b73c8aa1438b119a4dced","tarball":"https://registry.npmjs.org/@ajgreyling/cursor-doctor/-/cursor-doctor-1.12.5.tgz","fileCount":30,"integrity":"sha512-okZ/T6+PTgkvDFYQ9/77ByLZCY34t5bQyMikh9gn12G2rzfU7fPdOXHzDb2b8x2UkihqiYqs4zsmDBmmHSoFyw==","signatures":[{"sig":"MEUCIEi4vsjpaMd+bj0xXGf3fuHFKz1S4inV+05I9OFhGqV6AiEAjG8nwjFA8qlx5KUq/jBanBEszBA7w9iGh7ZeNaGEfbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88522},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"55eaabdf99f86f59ac18fdf90d57be132a6f3939","scripts":{"build":"tsc","prepare":"npm run build && husky"},"_npmUser":{"name":"ajgreyling","email":"ajgreyling@gmail.com"},"_npmVersion":"11.10.0","description":"CLI tool that audits projects for documentation, rules, and skills, then generates a prescription plan","directories":{},"_nodeVersion":"20.19.2","dependencies":{"yaml":"^2.3.4","fast-glob":"^3.3.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/cursor-doctor_1.12.5_1774356833458_0.5936565776834923","host":"s3://npm-registry-packages-npm-production"}},"1.12.6":{"name":"@ajgreyling/cursor-doctor","version":"1.12.6","description":"CLI tool that audits projects for documentation, rules, and skills, then generates a prescription plan","type":"module","main":"dist/index.js","bin":{"cursor-doctor":"dist/index.js"},"scripts":{"build":"tsc","prepare":"npm run build && husky"},"keywords":["cli","cursor","documentation","audit"],"license":"MIT","engines":{"node":">=18"},"dependencies":{"fast-glob":"^3.3.2","yaml":"^2.3.4"},"devDependencies":{"@types/node":"^20.10.0","husky":"^9.1.7","typescript":"^5.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"gitHead":"55eaabdf99f86f59ac18fdf90d57be132a6f3939","types":"./dist/index.d.ts","_id":"@ajgreyling/cursor-doctor@1.12.6","_nodeVersion":"20.19.2","_npmVersion":"11.10.0","dist":{"integrity":"sha512-UmbbHT1KKnj5K/V9S34n99hdq8dK0QBYTLeziCQwQ4ZBHZXK1kX3hFiI5Pm6Ei7JKQ3+5OUm/zvAWmFoXMcvmw==","shasum":"780729311e14cc2a2019b49ab6f325b250306a9a","tarball":"https://registry.npmjs.org/@ajgreyling/cursor-doctor/-/cursor-doctor-1.12.6.tgz","fileCount":30,"unpackedSize":88522,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCjLEI6lI7Xy4ITrBuwC8lO5cbmlvsF3CjU0eal3WOmBwIhAKEZlpVAJOf1mjz1sFRqgDytOITlXKEwh5nl3VBBtQ1X"}]},"_npmUser":{"name":"ajgreyling","email":"ajgreyling@gmail.com"},"directories":{},"maintainers":[{"name":"ajgreyling","email":"ajgreyling@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cursor-doctor_1.12.6_1774356867391_0.2721718374924047"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T12:53:53.352Z","modified":"2026-03-24T12:54:27.631Z","1.12.5":"2026-03-24T12:53:53.612Z","1.12.6":"2026-03-24T12:54:27.527Z"},"license":"MIT","keywords":["cli","cursor","documentation","audit"],"description":"CLI tool that audits projects for documentation, rules, and skills, then generates a prescription plan","maintainers":[{"name":"ajgreyling","email":"ajgreyling@gmail.com"}],"readme":"# Cursor Doctor\n\nA Node.js/TypeScript CLI that audits a project for documentation, rules, skills, and related knowledge artifacts. It compares what exists against a reference concept catalog and generates a **prescription plan** (`cursor-doctor-prescription-plan.md`) with frontmatter todos for missing or incomplete elements.\n\n[![Cursor Doctor](assets/logo.png)](assets/logo.png)\n\n## Install\n\nUse directly via `npx`:\n\n```bash\nnpx -y @ajgreyling/cursor-doctor@latest generate\n```\n\nOr install globally:\n\n```bash\nnpm install -g @ajgreyling/cursor-doctor\ncursor-doctor generate\n```\n\n## Requirements\n\n- Node.js `>=18`\n- npm (or `npx`)\n\n## CLI commands\n\n### Generate prescription plan (default)\n\n```bash\ncursor-doctor generate [--project <path>] [--out <filename>]\n```\n\nIf no command is provided, `generate` is used by default:\n\n```bash\ncursor-doctor --project /path/to/project\n```\n\n### Audit only\n\n```bash\ncursor-doctor audit [--project <path>] [--json]\n```\n\n### Read a discovered document\n\n```bash\ncursor-doctor read --file <path> [--project <path>]\n```\n\n### Help\n\n```bash\ncursor-doctor help\n```\n\n## Features\n\n- Audits discovered artifacts against a 23-concept catalog across six tiers.\n- Detects `found`, `incomplete`, and `missing` concepts with reason details.\n- Generates a markdown prescription plan with machine-readable YAML todos.\n- Supports read-only JSON audits for CI/reporting workflows.\n- Reads project files directly for quick artifact inspection (`read` command).\n\n## README completeness checklist\n\n- project name or title\n- setup/install steps\n- features or capabilities\n- how to run or use\n\n## Operational workflow\n\nUse this sequence for a full doctor cycle:\n\n1. Run `cursor-doctor generate` (or `npx -y @ajgreyling/cursor-doctor@latest generate`).\n2. Open `cursor-doctor-prescription-plan.md` and work through frontmatter todos in order.\n3. Create/update missing artifacts from each todo `prompt`.\n4. Complete the final `artifact-sync` todo by updating affected docs/rules/skills.\n5. Re-run `cursor-doctor generate` to confirm gaps are resolved.\n\n## Doctor command in Cursor\n\nIf you want a `doctor` / `cursor doctor` skill in Cursor, point that skill to run the CLI (`npx -y @ajgreyling/cursor-doctor@latest generate`) and then work from the frontmatter todos in the generated plan.\n\n### Tracked Cursor artifacts\n\nThese files are committed in this repo so the doctor workflow stays consistent:\n\n| File | Purpose |\n|------|--------|\n| [.cursor/skills/cursor-doctor/SKILL.md](.cursor/skills/cursor-doctor/SKILL.md) | Skill for **\"doctor\"** / **\"cursor doctor\"** that runs the CLI and works from plan todos. |\n| [.cursor/rules/cursor-doctor.mdc](.cursor/rules/cursor-doctor.mdc) | Rule applied when editing the prescription plan or rules/skills; complete the final Update Artifacts step. |\n| [.cursor/rules/required-cursor-doctor-skill.mdc](.cursor/rules/required-cursor-doctor-skill.mdc) | Rule (always apply): **the cursor-doctor skill must exist** at `.cursor/skills/cursor-doctor/SKILL.md`; if missing, recreate it from this README. |\n\n## Concept catalog\n\nThe tool checks for **23 concepts** in 6 tiers. Artifacts are matched by file patterns (for example `README.md`, `.cursor/rules/*.mdc`) and by content signals so differently named files can still satisfy a concept.\n\n- **Tier 1 – Foundation:** README, project-overview rule, file-locations rule, agent-workflow rule.\n- **Tier 2 – Architecture:** Architecture doc, data model doc, API spec (for example OpenAPI).\n- **Tier 3 – Development conventions:** Backend, frontend, database, and lessons-learnt rules.\n- **Tier 4 – AI knowledge and skills:** AGENTS doc, knowledge-base skill, code-generation skill, operational skills, dependency-management skill.\n- **Tier 5 – Quality and documentation:** Testing spec, accessibility doc, style guide, UI documentation.\n- **Tier 6 – Infrastructure:** MCP config, container config, CI/CD config.\n- **Final – Artifact sync:** “Update Artifacts” is always the final todo.\n\n## Project-specific concept profiles\n\n`cursor-doctor` supports per-project concept customization with this precedence:\n\n1. `package.json` field: `cursorDoctor`\n2. fallback file: `.cursor/cursor-doctor.concepts.yaml`\n3. built-in default catalog\n\nThis makes it possible to enforce domain-specific docs (for example, custom architecture/data-workflow docs) without changing the CLI code.\n\n### `package.json` profile example\n\n```json\n{\n  \"cursorDoctor\": {\n    \"includeDefaultCatalog\": true,\n    \"concepts\": [\n      {\n        \"id\": \"domain-workflows-doc\",\n        \"name\": \"Domain Workflows\",\n        \"tier\": 2,\n        \"intent\": \"Domain workflow coverage and execution paths\",\n        \"filePatterns\": [\"docs/WORKFLOWS.md\"],\n        \"contentSignals\": [\"workflow\", \"flowchart\", \"sequence\"],\n        \"completenessChecks\": [\"mermaid\", \"actors\", \"happy path\", \"failure path\"],\n        \"generationPrompt\": \"Create docs/WORKFLOWS.md with mermaid diagrams and workflow coverage.\"\n      }\n    ]\n  }\n}\n```\n\n### YAML fallback example (non-Node repos)\n\nCreate `.cursor/cursor-doctor.concepts.yaml`:\n\n```yaml\nincludeDefaultCatalog: true\nconcepts:\n  - id: domain-state-machines-doc\n    name: Domain State Machines\n    tier: 2\n    intent: Lifecycle status transitions and guards\n    filePatterns:\n      - docs/STATE_MACHINES.md\n    contentSignals:\n      - state machine\n      - transition\n      - status\n    completenessChecks:\n      - mermaid\n      - states\n      - transitions\n    generationPrompt: Create docs/STATE_MACHINES.md with mermaid state diagrams.\n```\n\n### Override behavior\n\n- Concept IDs are unique keys.\n- A project profile concept with an existing ID overrides the built-in concept.\n- A new ID appends a new concept.\n- The final `artifact-sync` todo is always enforced.\n\n## Build and local run\n\n```bash\nnpm install\nnpm run build\nnode dist/index.js generate\n```\n\n### Audit-only examples\n\n```bash\n# Human-readable summary\nnode dist/index.js audit\n\n# JSON output for automation\nnode dist/index.js audit --json\n```\n\n## Publishing\n\n```bash\nnpm login                # once, if needed\n./publish.sh             # build + npm publish\n./publish.sh --dry-run   # test without publishing\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}