|
3 | 3 | Auto-generated from all feature plans. Last updated: 2025-11-26 |
4 | 4 |
|
5 | 5 | ## Active Technologies |
| 6 | + |
6 | 7 | - TypeScript 5.x with React Native 0.76 + Expo SDK 52, Expo Router, React Query v5, PostHog SDK, Sentry SDK, Recharts (or React Native Charts Wrapper) (002-admin-stats-dashboard) |
7 | 8 | - React Query cache (in-memory) with 4-minute staleTime, no persistent storage for dashboard data (002-admin-stats-dashboard) |
8 | 9 | - TypeScript 5.x with React Native 0.76 + Expo SDK 52, Expo Router, React Query v5, PostHog SDK, Sentry SDK, react-native-gifted-charts (002-admin-stats-dashboard) |
@@ -35,19 +36,41 @@ tests/ |
35 | 36 |
|
36 | 37 | ### Pre-commit Hook |
37 | 38 |
|
38 | | -This project uses Husky and lint-staged to automatically lint and format staged files before commits. |
| 39 | +This project uses Husky and lint-staged to automatically lint, format, and type-check staged files before commits. |
39 | 40 | When you run `git commit`, the following happens automatically: |
40 | 41 |
|
41 | 42 | 1. Prettier formats all staged `.js`, `.jsx`, `.ts`, `.tsx`, `.json`, and `.md` files |
42 | 43 | 2. ESLint runs with `--fix` on all staged TypeScript/JavaScript files |
43 | | -3. If any issues can't be auto-fixed, the commit is blocked |
| 44 | +3. **TypeScript type-check runs (only if `.ts` or `.tsx` files are staged)** |
| 45 | +4. If any issues can't be auto-fixed or type errors exist, the commit is blocked |
| 46 | + |
| 47 | +**Performance impact:** |
| 48 | + |
| 49 | +- Non-TypeScript commits: ~2-3 seconds (no change) |
| 50 | +- TypeScript file commits: ~8-30 seconds (includes type-checking) |
44 | 51 |
|
45 | 52 | To bypass the pre-commit hook (not recommended): |
46 | 53 |
|
47 | 54 | ```bash |
48 | 55 | git commit --no-verify |
49 | 56 | ``` |
50 | 57 |
|
| 58 | +### CI/CD Pipeline |
| 59 | + |
| 60 | +All pull requests to `main` must pass automated checks via GitHub Actions: |
| 61 | + |
| 62 | +- ✅ TypeScript type-check (`npm run type-check`) |
| 63 | +- ✅ ESLint validation (`npm run lint`) |
| 64 | +- ✅ Prettier format check (`npm run format:check`) |
| 65 | +- ✅ Test suite (`npm run test`) |
| 66 | + |
| 67 | +**CI runs on:** |
| 68 | + |
| 69 | +- All pull requests targeting `main` |
| 70 | +- Direct pushes to `main` branch |
| 71 | + |
| 72 | +Check the Actions tab in GitHub for CI status and detailed logs. |
| 73 | + |
51 | 74 | ## Code Style |
52 | 75 |
|
53 | 76 | ### TypeScript |
@@ -79,11 +102,11 @@ git commit --no-verify |
79 | 102 | - Extract complex logic into custom hooks |
80 | 103 |
|
81 | 104 | ## Recent Changes |
| 105 | + |
82 | 106 | - 002-admin-stats-dashboard: Added TypeScript 5.x with React Native 0.76 + Expo SDK 52, Expo Router, React Query v5, PostHog SDK, Sentry SDK, react-native-gifted-charts |
83 | 107 | - 002-admin-stats-dashboard: Added TypeScript 5.x with React Native 0.76 + Expo SDK 52, Expo Router, React Query v5, PostHog SDK, Sentry SDK, react-native-gifted-charts |
84 | 108 | - 002-admin-stats-dashboard: Added TypeScript 5.x with React Native 0.76 + Expo SDK 52, Expo Router, React Query v5, PostHog SDK, Sentry SDK, Recharts (or React Native Charts Wrapper) |
85 | 109 |
|
86 | | - |
87 | 110 | ## Skills |
88 | 111 |
|
89 | 112 | This project includes specialized Claude Code skills for advanced topics: |
|
0 commit comments