{"_id":"@alankherron/bisac-coloring","name":"@alankherron/bisac-coloring","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@alankherron/bisac-coloring","version":"0.1.0","description":"Curated BISAC subject headings for coloring + activity book publishers, mapped to Amazon browse-tree paths, with a popularity heuristic and audience-aware ranker.","keywords":["bisac","subject-headings","kdp","amazon","kindle-direct-publishing","self-publishing","coloring-book","activity-book","metadata","categories","browse-tree"],"license":"MIT","author":{"name":"alanherron"},"homepage":"https://github.com/alanherron/bisac-coloring#readme","repository":{"type":"git","url":"git+https://github.com/alanherron/bisac-coloring.git"},"bugs":{"url":"https://github.com/alanherron/bisac-coloring/issues"},"type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run test && npm run build"},"devDependencies":{"tsup":"^8.3.0","typescript":"^5.6.0","vitest":"^2.1.0"},"engines":{"node":">=18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@alankherron/bisac-coloring@0.1.0","gitHead":"6760f8192f3520f12553d4f961618cd094620796","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lWcYuXinsXRS8kxBjkOkFVuQydyjj/OakVxq93LNbIdC2tEGpvw9fsPodiPWUL9m5wRA3kRezf+g4qv5ahDPKw==","shasum":"0737abbe66dfdbab27ccd8117f9b4dfede9d29c0","tarball":"https://registry.npmjs.org/@alankherron/bisac-coloring/-/bisac-coloring-0.1.0.tgz","fileCount":10,"unpackedSize":26570,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCnJcvK1ASycjQL2/0w3pXC6wGaS0aEk213hQprzE0JtQIhAMa09ZrFojIXNf34/gCUPFBji6Y+5he1k/ChtW2M4fUO"}]},"_npmUser":{"name":"alanherron","email":"alanherron@gmail.com"},"directories":{},"maintainers":[{"name":"alanherron","email":"alanherron@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bisac-coloring_0.1.0_1779153928751_0.11980817350302009"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-19T01:25:28.632Z","0.1.0":"2026-05-19T01:25:28.957Z","modified":"2026-05-19T01:25:29.194Z"},"maintainers":[{"name":"alanherron","email":"alanherron@gmail.com"}],"description":"Curated BISAC subject headings for coloring + activity book publishers, mapped to Amazon browse-tree paths, with a popularity heuristic and audience-aware ranker.","homepage":"https://github.com/alanherron/bisac-coloring#readme","keywords":["bisac","subject-headings","kdp","amazon","kindle-direct-publishing","self-publishing","coloring-book","activity-book","metadata","categories","browse-tree"],"repository":{"type":"git","url":"git+https://github.com/alanherron/bisac-coloring.git"},"author":{"name":"alanherron"},"bugs":{"url":"https://github.com/alanherron/bisac-coloring/issues"},"license":"MIT","readme":"# @alankherron/bisac-coloring\n\nCurated **BISAC** subject headings for coloring + activity book publishers, each mapped to its closest **Amazon browse-tree path**, with a popularity heuristic and an audience-aware ranker.\n\nThe full BISAC catalogue is ~3,800 codes. This package is a focused **subset for coloring / activity / low-content books** — surfaces only what's load-bearing for that niche so KDP authors don't have to skim the whole list.\n\nZero dependencies. ESM + CJS + types.\n\n```\nnpm i @alankherron/bisac-coloring\n```\n\n## Why this exists\n\nKDP listing pickers expect a BISAC code + 3 Amazon browse-tree categories. Authors building coloring books by hand bounce between the BISG PDF, the KDP help docs, and Amazon's category browse. This package collapses that to a typed array you can pipe straight into a metadata picker.\n\nNo commercial competitor; no maintained open-source equivalent at this slice.\n\n## Quick start\n\n```ts\nimport { suggestBisac, BISAC_COLORING } from \"@alankherron/bisac-coloring\";\n\n// All curated entries.\nBISAC_COLORING;\n// → [\n//     { code: \"GAM004000\", label: \"Games & Activities / Coloring Books\", amazonPath: \"...\", popularity: 3 },\n//     { code: \"JNF021040\", label: \"Juvenile Nonfiction / Activity Books / Coloring\", audienceHint: \"kids\", popularity: 3 },\n//     …\n//   ]\n\n// Top-6 recommendations for an adult coloring book in the \"mandala\" style.\nsuggestBisac({ audience: \"adults\", style: \"mandala\" });\n// → [\n//     { code: \"ART038000\", label: \"Art / Mandalas\", audienceHint: \"adults\", popularity: 3 },\n//     { code: \"CRA013000\", label: \"Crafts & Hobbies / Coloring Books for Adults\", … },\n//     …\n//   ]\n\n// Limit / audience-only / style-only all work too:\nsuggestBisac({ limit: 3 });\nsuggestBisac({ audience: \"kids\" });\n```\n\n## API\n\n### Types\n\n- `BisacEntry` — `{ code, label, amazonPath, audienceHint?, popularity }`.\n- `BisacAudience` — `\"kids\" | \"teens\" | \"adults\" | \"family\"`.\n- `BisacPopularity` — `1 | 2 | 3`.\n\n### Functions\n\n- `suggestBisac({ audience?, style?, limit? = 6 }): BisacEntry[]` — ranks entries by `popularity × 10 + audience-match (+5) + style-substring-match (+3)`. Deterministic.\n\n### Data\n\n- `BISAC_COLORING: readonly BisacEntry[]` — the curated 13-entry list (as of v0.1).\n\n## Popularity heuristic\n\n| Score | Meaning |\n|---|---|\n| 3 | Among the listings actually winning the category on Amazon — high-confidence picks. |\n| 2 | Common, but not the dominant strategy for this niche. |\n| 1 | Adjacent / \"if it fits, use it\" niches. |\n\nThe heuristic is hand-curated from KDP listing audits and is **not** an Amazon ranking signal — Amazon doesn't expose one. Treat it as a starting point.\n\n## BISAC vintage\n\nThe codes and labels match BISG's 2026 release. BISG updates yearly; file an issue if any of these codes have been retired or renamed.\n\n## License\n\nMIT © alanherron — use freely in commercial work, no attribution required (but appreciated).\n\n## Related\n\nThis package was extracted from [starofthepage](https://starofthepage.com) — a coloring-book studio that turns photos into KDP-ready coloring books. See also:\n\n- [`@alankherron/kdp-cover-geometry`](https://www.npmjs.com/package/@alankherron/kdp-cover-geometry) — KDP paperback cover-wrap + interior-page math.\n","readmeFilename":"README.md","_rev":"1-4be2b6c39acc9922d209a144f715a735"}