diff --git a/README.md b/README.md index 0672ef8..0cf032d 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,32 @@ -# ScriptHammer - Modern Next.js Template with PWA +# ScriptHammer โ€” Accessible web platform with auth, payments, and encrypted messaging [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue)](https://github.com/TortoiseWolfe/ScriptHammer) -[![Use Template](https://img.shields.io/badge/Use%20this%20template-2ea44f?style=for-the-badge)](https://github.com/TortoiseWolfe/ScriptHammer/generate) +[![Live App](https://img.shields.io/badge/Live-scripthammer.com-2ea44f)](https://www.scripthammer.com/) [![Stars](https://img.shields.io/github/stars/TortoiseWolfe/ScriptHammer?style=social)](https://github.com/TortoiseWolfe/ScriptHammer) -A comprehensive Next.js starter kit featuring 32 themes, PWA capabilities, component gallery, and extensive testing infrastructure. +A production Next.js 15 / React 19 / Supabase platform running live at [scripthammer.com](https://www.scripthammer.com/): OAuth and email auth, Stripe and PayPal payments through Supabase Edge Functions, end-to-end encrypted messaging with ECDH key exchange, an admin and moderation surface, and a WCAG-AA-accessible installable PWA โ€” built on a strict atomic component pattern with Vitest, Playwright, and Pa11y test suites. It's also a template: fork it and rebrand in five minutes to ship your own app (see [Forking](#-forking-scripthammer-to-build-your-own)). -## ๐Ÿš€ Live Demos +## ๐Ÿš€ See it live -- **Main App**: [https://www.scripthammer.com/](https://www.scripthammer.com/) -- **Storybook**: [https://www.scripthammer.com/storybook/](https://www.scripthammer.com/storybook/) -- **Status Dashboard**: [https://www.scripthammer.com/status](https://www.scripthammer.com/status) +- **Main app**: [https://www.scripthammer.com/](https://www.scripthammer.com/) โ€” the deployed product +- **Component library (Storybook)**: [https://www.scripthammer.com/storybook/](https://www.scripthammer.com/storybook/) +- **Status dashboard**: [https://www.scripthammer.com/status](https://www.scripthammer.com/status) -## โœจ Key Features +A real product, not a scaffold โ€” see [docs/POSITIONING.md](./docs/POSITIONING.md) for what's deployed and how forking fits in. -- ๐ŸŽจ **32 DaisyUI Themes** - Light/dark variants with persistent selection -- ๐Ÿ“ฑ **Progressive Web App** - Installable with offline support -- ๐Ÿงฉ **Component Library** - Atomic design with Storybook documentation -- โ™ฟ **Accessibility** - WCAG AA compliant, colorblind assistance -- ๐Ÿ”’ **Privacy Compliance** - GDPR-ready cookie consent system -- ๐Ÿงช **Testing Suite** - Comprehensive unit tests with 58% coverage, E2E test suite, accessibility testing -- ๐Ÿ“Š **Real-time Monitoring** - Web Vitals, Lighthouse scores, health checks -- ๐Ÿš€ **CI/CD Pipeline** - GitHub Actions with automated deployment +## โœจ What it does + +- ๐Ÿ” **Authentication** - Email/password plus GitHub and Google OAuth via Supabase, protected routes, session management +- ๐Ÿ’ณ **Payments** - Stripe one-time and PayPal subscriptions through Supabase Edge Functions, with GDPR consent and webhook handling +- ๐Ÿ”’ **Encrypted messaging** - End-to-end encrypted direct and group chat with ECDH key exchange, real-time over Supabase +- ๐Ÿ›ก๏ธ **Admin surface** - Admin dashboard, moderation queue, and a security audit trail +- ๐Ÿ“ฑ **Offline-capable PWA** - Installable, service-worker offline support, background sync +- โ™ฟ **Accessibility** - WCAG AA compliant, colorblind assistance, font switching +- ๐Ÿ” **Privacy compliance** - GDPR cookie consent gating analytics and tracking +- ๐ŸŽจ **32 themes** - DaisyUI light/dark variants with persistent selection +- ๐Ÿงฉ **Component library** - Atomic design, Storybook-documented, generator-scaffolded +- ๐Ÿงช **Tested** - Vitest unit tests, Playwright E2E across browsers, Pa11y accessibility, run in CI +- ๐Ÿ“Š **Monitored** - Web Vitals, Lighthouse scoring, consent-gated error monitoring ## ๐Ÿ› ๏ธ Tech Stack @@ -32,7 +37,7 @@ A comprehensive Next.js starter kit featuring 32 themes, PWA capabilities, compo ## ๐Ÿš€ Quick Start -> ๐Ÿ’ก **New to ScriptHammer?** Start at [`docs/FORK-CHECKLIST.md`](./docs/FORK-CHECKLIST.md) for the complete service-setup matrix โ€” which env vars to set, which services are required vs. optional, where to sign up for each, and the suggested setup order. The Quick Start below is just the bare minimum to boot the dev server. +> ๐Ÿ’ก **Running it locally or forking?** The Quick Start below is the bare minimum to boot the dev server. To wire up the full product (auth, payments, messaging) or to fork and rebrand, start at [`docs/FORK-CHECKLIST.md`](./docs/FORK-CHECKLIST.md) for the complete service-setup matrix โ€” which env vars to set, which services are required vs. optional, where to sign up for each, and the suggested setup order. ### Prerequisites @@ -44,8 +49,8 @@ A comprehensive Next.js starter kit featuring 32 themes, PWA capabilities, compo This project **REQUIRES Docker** for development to ensure consistency across all environments. ```bash -# 1. Use this template on GitHub (your project name is auto-detected!) -# 2. Clone YOUR new repository +# 1. Clone the repo (or fork it first to start your own โ€” see Forking below) +# 2. Clone YOUR repository git clone https://github.com/YOUR_USERNAME/YOUR_PROJECT_NAME.git cd YOUR_PROJECT_NAME @@ -242,9 +247,9 @@ ssh -T git@github.com - **API access only** - Token reads issues, creates issues, checks CI - **No accidental pushes** - All pushes require explicit user action -## ๐Ÿด Forking This Template +## ๐Ÿด Forking ScriptHammer to build your own -The quickest way to create your own project from ScriptHammer: +Beyond running the product as-is, ScriptHammer is built to fork. Rebrand it in five minutes and ship your own app on the same foundation: ### 5-Minute Setup diff --git a/docs/POSITIONING.md b/docs/POSITIONING.md new file mode 100644 index 0000000..6d05d16 --- /dev/null +++ b/docs/POSITIONING.md @@ -0,0 +1,30 @@ +# Positioning: a product first, a template second + +ScriptHammer is a real, deployed product that happens to also be forkable. Both halves are true, and this note says which leads and why โ€” so the README, and anyone evaluating the repo, reads it accurately. + +## It's a deployed product + +Running live at [scripthammer.com](https://www.scripthammer.com/), not just a repo: + +- **Auth** โ€” email/password plus GitHub and Google OAuth via Supabase, protected routes, session management. +- **Payments** โ€” Stripe one-time and PayPal subscriptions through Supabase Edge Functions, GDPR consent flow, webhook handling with idempotency. +- **Encrypted messaging** โ€” end-to-end encrypted direct and group chat with ECDH key exchange, real-time over Supabase. +- **Admin surface** โ€” admin dashboard, moderation queue, security audit trail. +- **Offline PWA** โ€” installable, service-worker offline support, background sync, Lighthouse PWA score in the 90s. +- **Accessibility & privacy** โ€” WCAG AA, colorblind assistance, font switching, GDPR consent gating analytics. + +Backed by ~900 source files, ~130 test files, and roughly 49 tracked SpecKit features, with Vitest, Playwright (cross-browser), and Pa11y suites running in CI. This is a production system, not a tutorial. + +## It's also a template + +Forking is a real, supported feature, not the headline: + +- `scripts/rebrand.sh` โ€” a 600+ line script that rebrands 200+ files in five minutes (name, owner, theme, docker service, env example), with `--dry-run`, CI-friendly exit codes, and already-rebranded detection. +- `docs/FORKING.md`, `docs/FORK-CHECKLIST.md`, `docs/TEMPLATE-GUIDE.md` โ€” the fork onboarding path. +- A Plop component generator enforcing the five-file atomic component pattern. + +## Why product-first framing is honest + +The substance was always there; the README just used to lead with the fork affordance ("Modern Next.js Template," "starter kit," the "Use this template" badge in the hero), which undersold the deployed product. Leading with the product and keeping forking as a clearly-labeled secondary path is the accurate ordering. Nothing about the fork capability is hidden or removed โ€” a reader still finds the rebrand script and the fork docs, they're just no longer the first thing. + +See README issue #152 for the repositioning rationale.