{"_id":"@bryantocara/starter-kit","_rev":"2-264d4e3b11a878ab6489aaef1dc7d83e","name":"@bryantocara/starter-kit","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@bryantocara/starter-kit","version":"0.1.0","keywords":["astro","cloudflare-workers","starter-kit","seo","gohighlevel","turnstile"],"author":{"name":"Bryant B. Lopes"},"license":"MIT","_id":"@bryantocara/starter-kit@0.1.0","maintainers":[{"name":"bryantocara","email":"Bryant@MaouProductions.com"}],"homepage":"https://github.com/bryantocara/starter-kit#readme","bugs":{"url":"https://github.com/bryantocara/starter-kit/issues"},"dist":{"shasum":"1d71a1befe8a4afe70ca0eb5d5afc45afc70ab1e","tarball":"https://registry.npmjs.org/@bryantocara/starter-kit/-/starter-kit-0.1.0.tgz","fileCount":8,"integrity":"sha512-zgeR6mO7AsgLx3rH9j95Z0IgM/9ws5OIvKX1Oh3Hz7VfRZs0X11ul2xJOXbEkS0ca06z77c5C0lInb12Qcmaew==","signatures":[{"sig":"MEUCIQCBim/3dGDg/4sIsVYNNT+jUOcJE1JOCmxwBnLqrWR2JQIgXhxmt8JA+075uh97gO7jTnxu2tjlPiEVnF59JjLAhAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18281},"type":"module","engines":{"node":">=24"},"exports":{"./config":"./src/config/astro-preset.mjs","./server/lead":"./src/server/lead.ts","./package.json":"./package.json","./presets/gitattributes":"./src/presets/gitattributes","./components/BaseHead.astro":"./src/components/BaseHead.astro","./components/LeadForm.astro":"./src/components/LeadForm.astro"},"gitHead":"b97466c6f02d29a7a45a526b107997a1be9ff2d1","_npmUser":{"name":"bryantocara","email":"Bryant@MaouProductions.com"},"repository":{"url":"git+https://github.com/bryantocara/starter-kit.git","type":"git"},"_npmVersion":"11.12.1","description":"Shared plumbing for Bryant's Astro + Cloudflare Workers sites — SEO, lead-form to GoHighLevel, config presets, and deploy wiring. Plumbing only; never design.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@astrojs/sitemap":"^3.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.9.0","devDependencies":{"astro":"^7.0.3","wrangler":"^4.105.0","@astrojs/cloudflare":"^14.0.1"},"peerDependencies":{"astro":"^7.0.0","@astrojs/cloudflare":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/starter-kit_0.1.0_1782843850444_0.14847215684840265","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bryantocara/starter-kit","version":"0.1.1","description":"Shared plumbing for Bryant's Astro + Cloudflare Workers sites — SEO, lead-form to GoHighLevel, config presets, and deploy wiring. Plumbing only; never design.","type":"module","packageManager":"pnpm@11.9.0","license":"MIT","publishConfig":{"access":"public"},"author":{"name":"Bryant B. Lopes"},"homepage":"https://github.com/bryantocara/starter-kit#readme","repository":{"type":"git","url":"git+https://github.com/bryantocara/starter-kit.git"},"bugs":{"url":"https://github.com/bryantocara/starter-kit/issues"},"keywords":["astro","cloudflare-workers","starter-kit","seo","gohighlevel","turnstile"],"engines":{"node":">=24"},"exports":{"./config":"./src/config/astro-preset.mjs","./components/BaseHead.astro":"./src/components/BaseHead.astro","./components/LeadForm.astro":"./src/components/LeadForm.astro","./server/lead":"./src/server/lead.ts","./presets/gitattributes":"./src/presets/gitattributes","./package.json":"./package.json"},"peerDependencies":{"@astrojs/cloudflare":"^14.0.0","astro":"^7.0.0"},"devDependencies":{"@astrojs/cloudflare":"^14.0.1","astro":"^7.0.3","wrangler":"^4.105.0"},"dependencies":{"@astrojs/sitemap":"^3.7.3"},"gitHead":"17f07ea02c6f37a40b90ee631c3b96db4b9a7b56","_id":"@bryantocara/starter-kit@0.1.1","_nodeVersion":"24.18.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-+eJWLfan0mO3AcQ0IGwErYEn4CGUuueNm40NkOgI+C5opalBopa+aUlYJ0WlR4uPEvBuyltFQ0Noh/pOqmaBVg==","shasum":"e9ed76dcc652f4563b3d56b6c48fcc2983bb5600","tarball":"https://registry.npmjs.org/@bryantocara/starter-kit/-/starter-kit-0.1.1.tgz","fileCount":8,"unpackedSize":18281,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bryantocara%2fstarter-kit@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC+M8JJgXglwPcbiQJhhpT4XF/AIQAhi9NarWlw+rX7WAIgZmZja/ziAjkY2qAOjahdYAapMvXGzu1oizxf+doL1FQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:764f4edc-989f-49e3-9db3-16495430ce60"}},"directories":{},"maintainers":[{"name":"bryantocara","email":"Bryant@MaouProductions.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/starter-kit_0.1.1_1782846646753_0.968413995659571"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-30T18:24:10.251Z","modified":"2026-06-30T19:10:47.168Z","0.1.0":"2026-06-30T18:24:10.656Z","0.1.1":"2026-06-30T19:10:46.891Z"},"bugs":{"url":"https://github.com/bryantocara/starter-kit/issues"},"author":{"name":"Bryant B. Lopes"},"license":"MIT","homepage":"https://github.com/bryantocara/starter-kit#readme","keywords":["astro","cloudflare-workers","starter-kit","seo","gohighlevel","turnstile"],"repository":{"type":"git","url":"git+https://github.com/bryantocara/starter-kit.git"},"description":"Shared plumbing for Bryant's Astro + Cloudflare Workers sites — SEO, lead-form to GoHighLevel, config presets, and deploy wiring. Plumbing only; never design.","maintainers":[{"name":"bryantocara","email":"Bryant@MaouProductions.com"}],"readme":"# @bryantocara/starter-kit\n\nShared **plumbing** for Bryant's Astro → Cloudflare Workers sites. SEO, lead capture (form → Cloudflare Turnstile → GoHighLevel), config presets, and deploy wiring — the parts that repeat on every site, in one versioned place.\n\n> **Plumbing, never design.** This package ships zero opinionated visual components. Every site that consumes it stays 100% custom in look and feel; it inherits only the wiring. That's what makes \"individually designed, shared infrastructure\" sustainable.\n\n## What's inside\n\n| Import | What it is |\n|---|---|\n| `@bryantocara/starter-kit/config` | Astro config preset — Cloudflare adapter + sitemap + sensible defaults |\n| `@bryantocara/starter-kit/components/BaseHead.astro` | `<head>` SEO: canonical, Open Graph, Twitter cards |\n| `@bryantocara/starter-kit/components/LeadForm.astro` | Turnstile-protected lead form (bring your own markup/styles) |\n| `@bryantocara/starter-kit/server/lead` | Server handler: verify Turnstile + validate/allowlist fields → POST to a GHL inbound webhook |\n| `@bryantocara/starter-kit/presets/gitattributes` | The `.gitattributes` every site copies |\n\n## Using it in a site\n\n```bash\nnpm install @bryantocara/starter-kit @astrojs/cloudflare\n```\n\n```js\n// astro.config.mjs\nimport { defineConfig } from 'astro/config';\nimport { presetConfig } from '@bryantocara/starter-kit/config';\n\nexport default defineConfig({\n  ...presetConfig({ site: 'https://example.com' }),\n});\n```\n\n```ts\n// src/pages/api/lead.ts\nimport { handleLead } from '@bryantocara/starter-kit/server/lead';\nexport const prerender = false;\nexport const POST = handleLead;\n```\n\nFor a form whose fields differ from the default (`name`, `email`, `message`), build a\nconfigured handler instead:\n\n```ts\nimport { createLeadHandler } from '@bryantocara/starter-kit/server/lead';\nexport const POST = createLeadHandler({ fields: ['name', 'email', 'company', 'message'] });\n```\n\nSecrets (GHL webhook URL, Turnstile keys) are **per-site environment variables** — never committed, never in this package.\n\n### Per-site assets\n\n`BaseHead` links `/favicon.svg` and `/favicon.ico`, and emits Open Graph / Twitter image\ntags **only when you pass `image`** (no broken default). Provide those files in the site's\n`public/` directory.\n\n## Versioning & evolution\n\nThis kit is **never \"done.\"** Each release adds or hardens plumbing — a new integration, a better form handler, a perf default. Sites adopt updates by bumping the version when they're ready; a delivered client site can stay pinned to an old version, untouched. Semver:\n\n- **patch** — fixes, no behavior change\n- **minor** — new, opt-in, backward-compatible plumbing\n- **major** — a change that needs site-side edits (called out in the release notes)\n\n## Status\n\n`v0.x` — pre-1.0, evolving quickly while the first sites (`bryant-expert` onward) shake it out. The API may shift between minors until `v1.0.0`.\n\n## License\n\nMIT © 2026 Bryant B. Lopes","readmeFilename":"README.md"}