*p5.brush
p5.js 환경에서 자연스러운 텍스처를 탐구하는 아티스트·디자이너·취미자를 위한 다목적 라이브러리
cannabissage.app용 Chrome 확장프로그램, 배지·비교·Pro 필터·맛 매칭·다중 매장 지원, Stripe 결제, 의료 조언 아님
Chrome extension for cannabissage.app: badges, compare, and Pro filters, taste-map match, and multi-store support on dispensary menus. Stripe Checkout — not medical advice.
플러그인JavaScript · TypeScriptGitHub @shaiss온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Chrome extension (Manifest V3, v1.3) that enhances supported dispensary listing and product pages with retailer-published cannabinoid and terpene information, comparison, filters, sorting, and a local taste-map match score. Optional Pro unlocks via Stripe Checkout on the website (never inside the extension).
Stores: Supported dispensary menus via in-repo adapters — see docs/ADAPTERS.md. The public Supported list is the partner registry — see docs/PARTNERS.md. Ops can pause a host without a rebuild — see docs/DENYLIST.md.
Monetization: docs/MONETIZATION.md · landing + API in web/.README 전문 보기 ↗Chrome extension (Manifest V3, v1.3) that enhances supported dispensary listing and product pages with retailer-published cannabinoid and terpene information, comparison, filters, sorting, and a local taste-map match score. Optional Pro unlocks via Stripe Checkout on the website (never inside the extension).
Stores: Supported dispensary menus via in-repo adapters — see docs/ADAPTERS.md. The public Supported list is the partner registry — see docs/PARTNERS.md. Ops can pause a host without a rebuild — see docs/DENYLIST.md.
Monetization: docs/MONETIZATION.md · landing + API in web/.
Displays information published by the retailer. Not medical advice.
chrome://extensionsextension/ folder./scripts/pack-extension.sh
Creates dist/cannabis-sage-<version>.zip.
Free: hover tooltips, basic badges, compare tray, PDP panel on supported dispensary menus, optional on-device taste profile.
Pro (launch promo $9/yr or $4/mo for 30 days after LAUNCH_DATE, then $59/yr or $9/mo): taste-map match, filters/sort, export, deal badges, chem insights across more stores you shop, picks for you from your local profile + cached menus.
P0–P2: compare, PDP, badges, TTL cache, taste-map/filters/sort/glossary/export/deals, in-repo store adapters.
P3: Stripe Checkout website, webhooks, license keys, extension entitlement gates.
| Piece | Role |
|---|---|
extension/adapters/* | Store registry + site-specific parsing |
extension/lib/csi-entitlement.js / csi-features.js | License + Free/Pro gates |
web/ | Next.js landing, Checkout, webhooks, activate/validate/portal APIs |
bridge.js | MAIN-world React/client props + SPA notify |
cd web && cp .env.example .env.local # add Stripe test keys + price id
npm install && npm run dev
stripe listen --forward-to localhost:3000/api/webhook
Extension defaults to prod API https://cannabissage.app (Vercel alias https://cannabissage.vercel.app remains in host_permissions as fallback). For local entitlement against npm run dev, set chrome.storage.local.csi_api_base to http://localhost:3000 (or temporarily edit extension/data/config.json).
See PRIVACY.md and STORE_LISTING.md.
localStorage.setItem('cannabisSageDebug', '1');
location.reload();
node scripts/smoke-adapters.mjs
node scripts/smoke-partners.mjs
node scripts/smoke-profile.mjs
node scripts/smoke-picks.mjs
node web/scripts/smoke-monetization.mjs
Personal / educational project. Use at your own discretion and in line with retailer terms and local law.