create-tigra 3.0.3 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +8 -2
  2. package/bin/create-tigra.js +5 -19
  3. package/modules/email-verification/client/hooks/useVerification.ts +3 -3
  4. package/package.json +1 -1
  5. package/template/.agents/skills/security-audit/AI-AND-LLM.md +83 -0
  6. package/template/.agents/skills/security-audit/ATTACK-CLASSES.md +130 -0
  7. package/template/.agents/skills/security-audit/CLIENT-SIDE.md +83 -0
  8. package/template/.agents/skills/security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  9. package/template/.agents/skills/security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  10. package/template/.agents/skills/security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  11. package/template/.agents/skills/security-audit/HUNTING.md +251 -0
  12. package/template/.agents/skills/security-audit/LICENSE +21 -0
  13. package/template/.agents/skills/security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  14. package/template/.agents/skills/security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  15. package/template/.agents/skills/security-audit/RECONNAISSANCE.md +156 -0
  16. package/template/.agents/skills/security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  17. package/template/.agents/skills/security-audit/SKILL.md +192 -0
  18. package/template/.agents/skills/security-audit/SOURCE.md +5 -0
  19. package/template/.agents/skills/security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  20. package/template/.agents/skills/security-audit/VALIDATION-AND-REPORTING.md +186 -0
  21. package/template/.agents/skills/security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  22. package/template/.agents/skills/security-audit/report-schema.json +461 -0
  23. package/template/.agents/skills/security-audit/validate-coverage-ledger.cjs +872 -0
  24. package/template/.agents/skills/security-audit/validate-coverage-ledger.test.cjs +740 -0
  25. package/template/.agents/skills/security-audit/validate-findings.cjs +773 -0
  26. package/template/.agents/skills/security-audit/validate-findings.test.cjs +652 -0
  27. package/template/AGENTS.md +45 -0
  28. package/template/client/AGENTS.md +22 -0
  29. package/template/client/Dockerfile +11 -1
  30. package/template/client/package-lock.json +410 -324
  31. package/template/client/package.json +4 -4
  32. package/template/client/scripts/next-dev.cjs +47 -0
  33. package/template/client/src/app/(auth)/layout.tsx +9 -0
  34. package/template/client/src/app/(auth)/loading.tsx +7 -0
  35. package/template/client/src/app/(main)/layout.tsx +11 -0
  36. package/template/client/src/app/(main)/loading.tsx +7 -0
  37. package/template/client/src/app/globals.css +4 -0
  38. package/template/client/src/app/loading.tsx +2 -6
  39. package/template/client/src/app/not-found.tsx +2 -3
  40. package/template/client/src/app/providers.tsx +6 -3
  41. package/template/client/src/components/common/AppLink.tsx +84 -0
  42. package/template/client/src/components/common/EmptyState.tsx +2 -2
  43. package/template/client/src/components/common/Pagination.tsx +3 -2
  44. package/template/client/src/components/common/RouteLoadingShell.tsx +21 -0
  45. package/template/client/src/components/common/SmoothNavigationProvider.tsx +151 -0
  46. package/template/client/src/components/layout/Header.tsx +12 -12
  47. package/template/client/src/features/admin/hooks/useAdminSessions.ts +2 -2
  48. package/template/client/src/features/admin/hooks/useAdminUsers.ts +3 -3
  49. package/template/client/src/features/auth/components/AuthInitializer.tsx +3 -2
  50. package/template/client/src/features/auth/components/LoginForm.tsx +3 -3
  51. package/template/client/src/features/auth/components/RegisterForm.tsx +3 -3
  52. package/template/client/src/features/auth/hooks/useAuth.ts +2 -2
  53. package/template/client/src/features/auth/hooks/usePasswordReset.ts +2 -2
  54. package/template/client/src/hooks/useAppRouter.ts +40 -0
  55. package/template/client/src/instrumentation-client.ts +29 -21
  56. package/template/client/src/instrumentation.ts +21 -17
  57. package/template/client/src/styles/themes/default.css +1 -1
  58. package/template/gitignore +0 -6
  59. package/template/server/AGENTS.md +28 -0
  60. package/template/server/Dockerfile +9 -3
  61. package/template/server/package-lock.json +671 -522
  62. package/template/server/package.json +8 -8
  63. package/template/server/src/modules/auth/__tests__/auth.service.test.ts +25 -41
  64. package/template/server/src/modules/auth/auth.repo.ts +0 -12
  65. package/template/server/src/modules/auth/auth.service.ts +29 -57
  66. package/template/_claude/QUICK_REFERENCE.md +0 -193
  67. package/template/_claude/README.md +0 -53
  68. package/template/_claude/commands/create-client.md +0 -878
  69. package/template/_claude/commands/create-server.md +0 -388
  70. package/template/_claude/hooks/restrict-paths.sh +0 -51
  71. package/template/_claude/rules/client/01-project-structure.md +0 -147
  72. package/template/_claude/rules/client/02-components-and-types.md +0 -146
  73. package/template/_claude/rules/client/03-data-and-state.md +0 -195
  74. package/template/_claude/rules/client/04-design-system.md +0 -408
  75. package/template/_claude/rules/client/05-security.md +0 -55
  76. package/template/_claude/rules/client/06-ux-checklist.md +0 -111
  77. package/template/_claude/rules/client/07-deployment.md +0 -99
  78. package/template/_claude/rules/client/08-lockfile-cross-platform.md +0 -79
  79. package/template/_claude/rules/client/core.md +0 -46
  80. package/template/_claude/rules/global/completion-reports.md +0 -178
  81. package/template/_claude/rules/global/core.md +0 -104
  82. package/template/_claude/rules/global/investigation-before-conclusions.md +0 -57
  83. package/template/_claude/rules/server/core.md +0 -52
  84. package/template/_claude/rules/server/database.md +0 -124
  85. package/template/_claude/rules/server/deployment.md +0 -78
  86. package/template/_claude/rules/server/project-conventions.md +0 -254
  87. package/template/_claude/rules/server/response-handling.md +0 -144
  88. package/template/_claude/settings.json +0 -15
  89. package/template/_claude/skills/clean-ui/SKILL.md +0 -63
  90. package/template/_claude/skills/role/SKILL.md +0 -39
  91. package/template/_claude/skills/theme/SKILL.md +0 -109
@@ -1,109 +0,0 @@
1
- ---
2
- name: theme
3
- description: Change the color palette in the client theme file. Only swaps HEX values — never touches variable names, file structure, or conventions.
4
- argument-hint: "[color description or specific HEX values]"
5
- ---
6
-
7
- # Theme Palette Changer
8
-
9
- The user wants to change the color palette. Their input: **$ARGUMENTS**
10
-
11
- ## Your ONLY job
12
-
13
- Replace HEX color values in `src/styles/themes/default.css` (or the equivalent theme file in the active project's client directory). That's it.
14
-
15
- ## What you MUST NOT do
16
-
17
- - **DO NOT** rename, add, or remove any CSS variable names (e.g., `--primary`, `--background`, `--muted`)
18
- - **DO NOT** change the file structure, move files, or create new files
19
- - **DO NOT** touch `globals.css`, components, or any other file
20
- - **DO NOT** change `--radius` or any non-color value
21
- - **DO NOT** convert HEX to OKLCH, HSL, or any other format — stay in HEX
22
- - **DO NOT** remove the `.dark` selector or the `:root` selector
23
- - **DO NOT** remove or rewrite comments unless updating the palette description at the top
24
- - **DO NOT** change `rgba()` values to HEX — keep `rgba()` where it already exists (e.g., dark mode `--border`, `--input`)
25
- - **DO NOT** touch any code outside the theme file — no components, no Tailwind config, no globals
26
-
27
- ## Before making changes — ask these questions if not answered
28
-
29
- You MUST gather enough information before editing. If the user's input doesn't cover these, ask BEFORE making any changes:
30
-
31
- ### Required information
32
-
33
- 1. **Primary/brand color** — What is the main accent color? (at minimum, you need this)
34
-
35
- ### Clarifying questions (ask if not addressed)
36
-
37
- 2. **Dark mode** — one of:
38
- - "Will you provide dark mode colors yourself, or should I generate them from your palette?"
39
- - Skip if user explicitly says "light mode only" or provides both sets
40
-
41
- 3. **Palette vibe/mood** — if the user only gave a single color or vague description:
42
- - "What's the mood? (e.g., warm, cool, corporate, playful, minimal, luxury)"
43
- - This helps you pick complementary background, muted, secondary, and accent colors
44
-
45
- 4. **Background preference** — if not obvious from context:
46
- - "Do you want a light cream/warm background, a cool/gray background, or pure white?"
47
-
48
- 5. **Destructive/success/warning/info** — if the user provides a full custom palette but skips these:
49
- - "Should I keep the current red/green/amber/blue for status colors, or adjust them to match your new palette?"
50
-
51
- ### When you have enough
52
-
53
- - User gives a full palette with explicit HEX values for most tokens → just apply them, generate any missing ones
54
- - User gives a brand color + mood → generate a cohesive palette and present it for approval before applying
55
- - User gives a full set of colors for both light and dark → apply directly
56
-
57
- ## How to apply changes
58
-
59
- 1. **Read** the current `default.css` theme file first
60
- 2. **Locate** the correct theme file:
61
- - In a scaffolded project: `client/src/styles/themes/default.css`
62
- - In the template: `template/client/src/styles/themes/default.css`
63
- - Check which one exists in the current working directory
64
- 3. **Present** your proposed palette to the user in a readable table BEFORE editing:
65
-
66
- | Token | Current | New (Light) | New (Dark) |
67
- |-------|---------|-------------|------------|
68
- | --background | #f4f3ee | #... | #... |
69
- | --primary | #c15f3c | #... | #... |
70
- | ... | ... | ... | ... |
71
-
72
- 4. **Wait for user approval** — do not edit until they confirm
73
- 5. **Edit** the file using the Edit tool — only change HEX values
74
- 6. **Update** the comment block at the top to reflect the new palette name/vibe (e.g., "Ocean blue palette" instead of "Claude-inspired warm palette")
75
- 7. **Confirm** what was changed in a brief summary
76
-
77
- ## Palette generation guidelines
78
-
79
- When generating colors from a brand color, follow these principles:
80
-
81
- - **Background**: Very desaturated, light tint of the brand hue (light mode) / very dark shade (dark mode)
82
- - **Foreground**: Near-black with a hint of the brand hue (light mode) / near-white (dark mode)
83
- - **Primary**: The brand color itself (light) / slightly lighter/more vibrant version (dark)
84
- - **Primary-foreground**: White or near-white for contrast against primary
85
- - **Secondary/muted/accent**: Desaturated, low-contrast versions of the brand palette
86
- - **Card/popover**: White or very slight tint (light) / slightly elevated dark shade (dark)
87
- - **Border/input**: Very subtle, low-contrast separator colors
88
- - **Ring**: Same as primary (focus ring should match brand)
89
- - **Destructive**: Red family (#e7000b light / #ff6467 dark) — adjust warmth/coolness to match palette
90
- - **Success**: Green family — adjust to match palette temperature
91
- - **Warning**: Amber/yellow family — adjust to match palette temperature
92
- - **Info**: Blue family — adjust to match palette temperature
93
- - **Chart colors**: 5 distinct, harmonious colors for data visualization
94
- - **Sidebar**: Slightly different shade than main background for visual separation
95
-
96
- ### Dark mode rules
97
-
98
- - Increase brightness of the primary color (not just invert)
99
- - Background should be very dark (not pure black) with a hint of the brand hue
100
- - Borders use `rgba()` for subtle transparency — keep this pattern
101
- - Foreground colors should be off-white, not pure #ffffff
102
- - Reduce contrast slightly compared to light mode to reduce eye strain
103
-
104
- ## Edge cases
105
-
106
- - If user says "make it blue" → ask for a specific shade or suggest 3 options (e.g., ocean #0066cc, royal #4169e1, navy #1a237e)
107
- - If user provides only RGB or HSL → convert to HEX yourself, don't ask them to convert
108
- - If user wants to keep some colors and change others → only change the ones they specified
109
- - If the theme file doesn't exist → tell the user to scaffold the project first, don't create the file