{"_id":"@codeconscience/core","_rev":"2-ea2a271c853a532bec5b31c21b9c7d49","name":"@codeconscience/core","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@codeconscience/core","version":"0.1.0","keywords":["code-analysis","conventions","rules","ast","static-analysis","convention-detection","constraint-mining"],"author":{"url":"https://github.com/YakuphanSrky","name":"Yakuphan Sarıkaya"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@codeconscience/core@0.1.0","maintainers":[{"name":"yakuphan","email":"yakuphansrk@gmail.com"}],"homepage":"https://github.com/YakuphanSrky/CodeConscience#readme","bugs":{"url":"https://github.com/YakuphanSrky/CodeConscience/issues"},"dist":{"shasum":"976348fd63bccd3f8fb74359feacf3ae2e2d33a6","tarball":"https://registry.npmjs.org/@codeconscience/core/-/core-0.1.0.tgz","fileCount":179,"integrity":"sha512-T6ISKwbVeZ5WaaF14KXXERTQMrtqNO0kxF+VtA9qZ9c642i5Bert3QGuVPu6dDEKbNV7iRMKfRCgGkDyig24Bw==","signatures":[{"sig":"MEYCIQCEAfTtYGz3lF7sfTl8o2QIqV/GYD4Fx+FDFjMX2ZlG4wIhAPlsegKOqtHzN370CdZ6hI47RXlFxy6r7tWF9VU034xk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273543},"main":"dist/index.js","type":"commonjs","_from":"file:codeconscience-core-0.1.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"yakuphan","email":"yakuphansrk@gmail.com"},"_resolved":"C:\\Users\\yakup\\AppData\\Local\\Temp\\e98ccac020839a496d1dddf08bc6a945\\codeconscience-core-0.1.0.tgz","_integrity":"sha512-T6ISKwbVeZ5WaaF14KXXERTQMrtqNO0kxF+VtA9qZ9c642i5Bert3QGuVPu6dDEKbNV7iRMKfRCgGkDyig24Bw==","repository":{"url":"git+https://github.com/YakuphanSrky/CodeConscience.git","type":"git","directory":"packages/core"},"_npmVersion":"10.9.3","description":"Core library for CodeConscience — convention and constraint discovery from a project's source code","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ignore":"^5.3.0","better-sqlite3":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1777820318544_0.3124341381251221","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@codeconscience/core","version":"0.1.1","description":"Core library for CodeConscience — convention and constraint discovery from a project's source code","keywords":["code-analysis","conventions","rules","ast","static-analysis","convention-detection","constraint-mining"],"homepage":"https://github.com/YakuphanSrky/CodeConscience#readme","bugs":{"url":"https://github.com/YakuphanSrky/CodeConscience/issues"},"repository":{"type":"git","url":"git+https://github.com/YakuphanSrky/CodeConscience.git","directory":"packages/core"},"license":"PolyForm-Noncommercial-1.0.0","author":{"name":"Yakuphan Sarıkaya","url":"https://github.com/YakuphanSrky"},"main":"dist/index.js","types":"dist/index.d.ts","type":"commonjs","dependencies":{"better-sqlite3":"^11.0.0","ignore":"^5.3.0"},"devDependencies":{"@types/better-sqlite3":"^7.6.0","@types/node":"^20.0.0","vitest":"^1.6.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest"},"_id":"@codeconscience/core@0.1.1","_integrity":"sha512-ClerWB+cYvOK9atO3+gKGcrhQCJKIBIcPyYdm9L1mEPjtQDEF4yoPfP2LhnkbIK93Nx4Q4BJp4kSvc6s1pfTsA==","_resolved":"C:\\Users\\yakup\\AppData\\Local\\Temp\\58fcd1d2330589f110e7c95bd327b160\\codeconscience-core-0.1.1.tgz","_from":"file:codeconscience-core-0.1.1.tgz","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-ClerWB+cYvOK9atO3+gKGcrhQCJKIBIcPyYdm9L1mEPjtQDEF4yoPfP2LhnkbIK93Nx4Q4BJp4kSvc6s1pfTsA==","shasum":"e522aa1a809181161146aa6b90e001ed40d17d59","tarball":"https://registry.npmjs.org/@codeconscience/core/-/core-0.1.1.tgz","fileCount":179,"unpackedSize":277465,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCGniGK1WeWM43NdUuPWDhUFoQhB7FkfyLRvjaDmkc1zQIhAOzElFjA3Nz/+Q2PU0Rk9xk30ppWdo8TZD+iRpQnqhfz"}]},"_npmUser":{"name":"yakuphan","email":"yakuphansrk@gmail.com"},"directories":{},"maintainers":[{"name":"yakuphan","email":"yakuphansrk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.1.1_1777826857075_0.7597139196839815"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-03T14:58:38.448Z","modified":"2026-05-03T16:47:37.346Z","0.1.0":"2026-05-03T14:58:38.670Z","0.1.1":"2026-05-03T16:47:37.210Z"},"bugs":{"url":"https://github.com/YakuphanSrky/CodeConscience/issues"},"author":{"name":"Yakuphan Sarıkaya","url":"https://github.com/YakuphanSrky"},"license":"PolyForm-Noncommercial-1.0.0","homepage":"https://github.com/YakuphanSrky/CodeConscience#readme","keywords":["code-analysis","conventions","rules","ast","static-analysis","convention-detection","constraint-mining"],"repository":{"type":"git","url":"git+https://github.com/YakuphanSrky/CodeConscience.git","directory":"packages/core"},"description":"Core library for CodeConscience — convention and constraint discovery from a project's source code","maintainers":[{"name":"yakuphan","email":"yakuphansrk@gmail.com"}],"readme":"# @codeconscience/core\n\n> Convention and constraint discovery engine for [CodeConscience](https://github.com/YakuphanSrky/CodeConscience).\n\n[![npm version](https://img.shields.io/npm/v/@codeconscience/core.svg)](https://www.npmjs.com/package/@codeconscience/core)\n[![License: PolyForm-NC-1.0.0](https://img.shields.io/badge/license-PolyForm--Noncommercial--1.0.0-blue.svg)](./LICENSE)\n\nThe library that powers the [`codeconscience`](https://www.npmjs.com/package/codeconscience) CLI. Use it directly when you need programmatic access to convention/constraint discovery without going through the CLI surface.\n\n---\n\n## Install\n\n```bash\nnpm install @codeconscience/core\n# or\npnpm add @codeconscience/core\n```\n\n> Requires Node.js ≥ 18. Native dependency: `better-sqlite3`.\n\n---\n\n## Quick example\n\n```ts\nimport {\n  Store,\n  incrementalIndex,\n  detectConventions,\n  detectConstraints,\n  detectRationale,\n  buildProjectContract,\n  exportToClaudeMd,\n} from '@codeconscience/core';\n\nconst projectRoot = '/path/to/your/project';\n\nconst storeResult = Store.open(projectRoot);\nif (!storeResult.success) throw storeResult.error;\nconst store = storeResult.value;\n\n// 1. Index source files (incremental — only re-parses changed files)\nconst indexResult = incrementalIndex(projectRoot, store);\nif (!indexResult.success) throw indexResult.error;\n\n// 2. Run analyzers\ndetectConventions(store);\ndetectConstraints(store, projectRoot);\ndetectRationale(store, projectRoot);\n\n// 3. Build a portable contract and export\nconst contract = buildProjectContract(store, 'my-project');\nexportToClaudeMd(contract, projectRoot);\n\nstore.close();\n```\n\n---\n\n## What's exported\n\n- **Store** — SQLite-backed persistence layer (`Store.open`, `Store.openMemory`)\n- **Indexing** — `incrementalIndex`, `scanProject`, `indexFile`, `indexAbsolutePath`\n- **Analyzers** — `detectConventions`, `detectConstraints`, `detectRationale`\n- **Contract + export** — `buildProjectContract`, `exportToYaml`, `exportToClaudeMd`, `exportToCursorRules`, `exportToCopilotInstructions`, `exportToHumanReadable`, `exportToDashboard`\n- **Violation checking** — `checkViolations`, `checkFile`\n- **Utilities** — `classifyName`, `matchesNamingPattern`, `convertToPattern`, `discoverFiles`, `Result`/`ok`/`err`/`CodeConscienceError`, `logger`\n- **Types** — `ConventionRule`, `ConstraintRule`, `DesignRationale`, `Violation`, `ProjectContract`, `SymbolInfo`, `ImportInfo`, etc.\n\nSee the [main repo README](https://github.com/YakuphanSrky/CodeConscience#readme) for design principles and a feature overview.\n\n---\n\n## License\n\nReleased under the [PolyForm Noncommercial License 1.0.0](./LICENSE). Free for personal, hobby, research, educational, and non-profit use. Commercial use requires a separate license.\n","readmeFilename":"README.md"}