{
  "markdown": "# CompShop\n\nThe independent directory of salary & compensation surveys. Search 350+ reports across 17+ vendors (Mercer, WTW, Aon, SullivanCotter, Gallagher, Pearl Meyer, Empsight, Culpepper, Milliman, MRA, LOMA, Birches Group, Western Management Group, and more) by job title, industry, geography, or publisher.\n\n## Tech stack\n\n- **Framework:** Next.js 14 (App Router) + TypeScript + Tailwind\n- **Database:** SQLite (`better-sqlite3`) with a file-backed DB bundled in the repo\n- **Search:** server-side FTS-ish query across vendors, reports, job families, positions, and participating orgs\n- **SEO:** ~3,500 statically-generated indexable pages (vendor / report / family / position) with JSON-LD, OG/Twitter tags, canonical URLs, and an auto-generated sitemap\n\n## Local dev\n\n```bash\nnpm install\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000).\n\n## Data pipelines\n\nLoaders are in `scripts/`. Each writes to `data/compshop.db`.\n\n```bash\n# Add/refresh a vendor (parent row)\nnpm run db:add-vendor <path-to-json>\n\n# Add/refresh a single report (with optional XLSX position/participant lists)\nnpm run db:add-report <path-to-directory>\n\n# Batch-load many reports at once\nnpm run db:add-report-batch \"scripts/data/mercer-*\"\n```\n\nSee `scripts/SCRAPING.md` for the full data-loading workflow.\n\n## Deployment\n\nDeploys to Vercel out of the box. The SQLite DB file (`data/compshop.db`) is committed to the repo and read at request time by the serverless routes; almost all pages are pre-rendered statically at build time via `generateStaticParams` + `force-static`.\n\nSet `NEXT_PUBLIC_SITE_URL` in your Vercel project settings to your production domain (e.g., `https://compshop.io`).\n",
  "bytes": 1691,
  "sha": "7a49b6a6f11f83b4a6639c7574e7b1e7190b97a893daf9220284ad90b3d59863",
  "repo_slug": "mkibrick/compshop",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mkibrick_compshop_3b8d88f0/readme"
}