Use this boilerplate to build production-ready web apps. Full-stack TypeScript, React 19, and Express with authentication, encrypted persistence, SEO, i18n, accessibility, and a modern developer experience—all configured and ready to extend.
This file is the fast, practical entry point for vibe coders and junior developers who want to start building quickly.
If you want deep implementation details (architecture, auth internals, reducer patterns, agent workflows), use the linked docs in the Deep Technical Context section.
- Core: TypeScript, React 19, Vite, Express, Passport auth (test user), encrypted localStorage persistence, Redux Toolkit (persistent + non-persistent slices), React Router with lazy-loaded pages
- SEO & metadata: Sitemap,
<PageMeta>component, React 19 document metadata (title, description, Open Graph, Twitter, canonical), policy-writing guide page - Accessibility: Skip-to-content link, stable IDs (
useId), aria-live announcements (useAnnounce), Chakra UI - i18n: react-intl, locales (en, ar, fr, zh), RTL for Arabic, language switcher, English fallback—use it or ignore it; when you need translation, it's ready
- UX and polish: Page transitions (
<PageTransition>), animated buttons (Framer Motion), scroll-to-top on route change, light/dark mode - Resilience: Error boundaries, centralized client error handler, server error-handler middleware, Suspense boundaries
- Developer experience: Cypress E2E, ESLint (custom config), type-check script,
npm run testfor full pre-commit/CI (lint + type-check + E2E)
Use this workflow when you want to turn this repository into your own product instead of contributing back.
- Clone the repo:
git clone git@github.com:bishopZ/2026-Boilerplate.gitandcd 2026-Boilerplate - Remove git history:
rm -rf .gitthengit init - Run the rebrand skill with your new project details: Use the skill at
skills/rebrand/SKILL.mdwithsite_title="<Your Project Title>"andsite_description="<Your Project Description>" - Create your first commit
- Run the Development Setup below
- Copy the env template:
cp .envTemplate .env— then setLOCAL_STORAGE_KEYandSESSION_SECRET. Generate a session secret with:openssl rand -base64 32 - Run
npm install - Run
npm run dev - Login with username
testand passwordtest
| Goal | Command |
|---|---|
| Start coding | npm run dev |
| Validate before commit | npm run test |
| Build for production | npm run build |
| Preview production build | npm run preview |
| Run production server | npm start |
For the full command reference and workflows, see docs/SCRIPTS.md.
For script implementation details (like i18n validation), see scripts/README.md.
- AGENTS.md — Project operating instructions and coding expectations
- .cursor/rules/ — Enforced rule files for React, Redux, and server patterns
- Skills:
- Architecture — System diagram, directory structure, key patterns
- Authentication — JWT flow, hardcoded user, and migration paths
- Client — How the frontend is organized
- Hooks — useState vs custom hook vs Redux
- Redux — Persistence, slices, pitfalls
- Server — MVC structure, routes, middleware
- Cypress — How to run E2E tests
- Technology choices — Why this stack
- Contributing — How to contribute
- Internationalization — i18n guide
- Redirects — Where URL redirects live and how to add them safely
- Node.js >= 24.13.1, npm >= 11.10.1
.envfile (copy from.envTemplate)
E2E tests require the dev server running and a supported browser. See cypress/README.md.
We welcome contributions. See docs/CONTRIBUTING.md.
MIT