Cybersecurity-Projects/PROJECTS/beginner/canary-token-generator
CarterPerez-dev a4811d1c04 feat(canary): import operator's React + Vite frontend template
Frontend stack (pre-rebranded by operator before Phase 0):
- React 19 + react-router-dom v7
- TypeScript 5.9 with project references
- Vite 7 (rolldown-vite — Rust port)
- TanStack Query v5 + axios for data
- Zustand v5 for client state
- Zod v4 for runtime validation
- SCSS (Sass), not Tailwind — operator stylistic choice
- Biome 2 (lint + format), Stylelint for SCSS
- react-error-boundary, sonner (toasts)
- react-icons

Source layout (operator-authored skeleton):
- src/App.tsx, main.tsx, config.ts, styles.scss
- src/api/{hooks,types,index.ts}        TanStack Query hooks
- src/components/                        UI primitives (operator-designed later)
- src/core/{api,app,lib}                 axios client, routers, utilities
- src/pages/                             page-level containers
- src/styles/                            SCSS partials

Per implementation plan §16.3, Phase 14 stops at API client only —
operator owns visual/component design from there.

Pre-commit hooks fixed:
- site.webmanifest: missing trailing newline
- index.html: trailing whitespace stripped
- .stylelintignore + stylelint.config.js: chmod -x (no shebang, not executable)

node_modules/ is gitignored.
2026-05-10 05:28:09 -04:00
..
backend chore(canary): merge backend compose into project root 2026-05-10 05:23:55 -04:00
frontend feat(canary): import operator's React + Vite frontend template 2026-05-10 05:28:09 -04:00
infra feat(canary): add canary.dev + canary.prod Dockerfiles + import infra/ 2026-05-10 05:24:42 -04:00
scripts feat(canary): add project-root .env.example + idempotent init.sh 2026-05-10 05:27:30 -04:00
.env.example feat(canary): add project-root .env.example + idempotent init.sh 2026-05-10 05:27:30 -04:00
.gitignore chore(canary): expand project .gitignore for Go + Node + secrets 2026-05-10 05:13:19 -04:00
cloudflared.compose.yml chore(canary): rebrand from no-auth-template to canary-token-generator 2026-05-10 05:15:09 -04:00
compose.yml chore(canary): merge backend compose into project root 2026-05-10 05:23:55 -04:00
dev.compose.yml chore(canary): merge backend compose into project root 2026-05-10 05:23:55 -04:00
justfile feat(canary): unified Justfile with frontend + backend + compose groups 2026-05-10 05:25:27 -04:00