create-huenei-frontend 0.1.2

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 (222) hide show
  1. package/bin/create-huenei-frontend.js +2 -0
  2. package/dist/index.js +99 -0
  3. package/dist/templates/clean/.cursor/skills/architecture/SKILL.md +26 -0
  4. package/dist/templates/clean/.cursor/skills/components-shadcn/SKILL.md +23 -0
  5. package/dist/templates/clean/.cursor/skills/daisyui/SKILL.md +98 -0
  6. package/dist/templates/clean/.cursor/skills/routing/SKILL.md +32 -0
  7. package/dist/templates/clean/.cursor/skills/testing/SKILL.md +55 -0
  8. package/dist/templates/clean/.cursor/skills/tooling-and-scripts/SKILL.md +24 -0
  9. package/dist/templates/clean/.cursor/skills/ui-and-styling/SKILL.md +32 -0
  10. package/dist/templates/clean/.cursor/skills/vibe-and-ia/SKILL.md +23 -0
  11. package/dist/templates/clean/.prettierrc +6 -0
  12. package/dist/templates/clean/.tanstack/tmp/c28007bb-2319511cf318e28129c8d8eb723db5fd +9 -0
  13. package/dist/templates/clean/.tanstack/tmp/c28007bb-bcef89e9e4593777e1c15ec4b4f32eea +9 -0
  14. package/dist/templates/clean/.vscode/extensions.json +7 -0
  15. package/dist/templates/clean/README.md +75 -0
  16. package/dist/templates/clean/components.json +22 -0
  17. package/dist/templates/clean/eslint.config.js +31 -0
  18. package/dist/templates/clean/index.html +13 -0
  19. package/dist/templates/clean/package.json +62 -0
  20. package/dist/templates/clean/pnpm-lock.yaml +4487 -0
  21. package/dist/templates/clean/pnpm-workspace.yaml +2 -0
  22. package/dist/templates/clean/src/assets/react.svg +1 -0
  23. package/dist/templates/clean/src/components/ui/badge.tsx +37 -0
  24. package/dist/templates/clean/src/components/ui/breadcrumb.tsx +106 -0
  25. package/dist/templates/clean/src/components/ui/button.tsx +58 -0
  26. package/dist/templates/clean/src/components/ui/card.tsx +72 -0
  27. package/dist/templates/clean/src/components/ui/form.tsx +165 -0
  28. package/dist/templates/clean/src/components/ui/input.tsx +22 -0
  29. package/dist/templates/clean/src/components/ui/label.tsx +24 -0
  30. package/dist/templates/clean/src/components/ui/password-input.tsx +41 -0
  31. package/dist/templates/clean/src/components/ui/separator.tsx +28 -0
  32. package/dist/templates/clean/src/components/ui/tabs.tsx +62 -0
  33. package/dist/templates/clean/src/components/ui/textarea.tsx +21 -0
  34. package/dist/templates/clean/src/index.css +104 -0
  35. package/dist/templates/clean/src/lib/queryClient.ts +11 -0
  36. package/dist/templates/clean/src/lib/utils.ts +6 -0
  37. package/dist/templates/clean/src/main.tsx +33 -0
  38. package/dist/templates/clean/src/routeTree.gen.ts +77 -0
  39. package/dist/templates/clean/src/router.tsx +13 -0
  40. package/dist/templates/clean/src/routes/__root.tsx +82 -0
  41. package/dist/templates/clean/src/routes/index.tsx +187 -0
  42. package/dist/templates/clean/src/routes/otra-ruta.tsx +319 -0
  43. package/dist/templates/clean/src/test/setup.ts +1 -0
  44. package/dist/templates/clean/tsconfig.app.json +34 -0
  45. package/dist/templates/clean/tsconfig.json +10 -0
  46. package/dist/templates/clean/tsconfig.node.json +26 -0
  47. package/dist/templates/clean/vite.config.ts +22 -0
  48. package/dist/templates/clean/vitest.config.ts +9 -0
  49. package/dist/templates/help/.cursor/skills/architecture/SKILL.md +26 -0
  50. package/dist/templates/help/.cursor/skills/components-shadcn/SKILL.md +23 -0
  51. package/dist/templates/help/.cursor/skills/daisyui/SKILL.md +98 -0
  52. package/dist/templates/help/.cursor/skills/routing/SKILL.md +32 -0
  53. package/dist/templates/help/.cursor/skills/testing/SKILL.md +55 -0
  54. package/dist/templates/help/.cursor/skills/tooling-and-scripts/SKILL.md +24 -0
  55. package/dist/templates/help/.cursor/skills/ui-and-styling/SKILL.md +32 -0
  56. package/dist/templates/help/.cursor/skills/vibe-and-ia/SKILL.md +23 -0
  57. package/dist/templates/help/.prettierrc +6 -0
  58. package/dist/templates/help/.tanstack/tmp/c28007bb-2319511cf318e28129c8d8eb723db5fd +9 -0
  59. package/dist/templates/help/.tanstack/tmp/c28007bb-bcef89e9e4593777e1c15ec4b4f32eea +9 -0
  60. package/dist/templates/help/.vscode/extensions.json +7 -0
  61. package/dist/templates/help/README.md +75 -0
  62. package/dist/templates/help/components.json +22 -0
  63. package/dist/templates/help/eslint.config.js +31 -0
  64. package/dist/templates/help/index.html +13 -0
  65. package/dist/templates/help/package.json +62 -0
  66. package/dist/templates/help/pnpm-lock.yaml +4487 -0
  67. package/dist/templates/help/pnpm-workspace.yaml +2 -0
  68. package/dist/templates/help/src/assets/react.svg +1 -0
  69. package/dist/templates/help/src/components/documentacion/entorno.tsx +99 -0
  70. package/dist/templates/help/src/components/documentacion/estructura.tsx +100 -0
  71. package/dist/templates/help/src/components/documentacion/figma-mcp.tsx +200 -0
  72. package/dist/templates/help/src/components/documentacion/inicio.tsx +69 -0
  73. package/dist/templates/help/src/components/documentacion/instalacion.tsx +72 -0
  74. package/dist/templates/help/src/components/documentacion/personalizacion.tsx +163 -0
  75. package/dist/templates/help/src/components/documentacion/rutas.tsx +138 -0
  76. package/dist/templates/help/src/components/documentacion/stack.tsx +401 -0
  77. package/dist/templates/help/src/components/ui/badge.tsx +37 -0
  78. package/dist/templates/help/src/components/ui/breadcrumb.tsx +106 -0
  79. package/dist/templates/help/src/components/ui/button.tsx +58 -0
  80. package/dist/templates/help/src/components/ui/card.tsx +72 -0
  81. package/dist/templates/help/src/components/ui/form.tsx +165 -0
  82. package/dist/templates/help/src/components/ui/input.tsx +22 -0
  83. package/dist/templates/help/src/components/ui/label.tsx +24 -0
  84. package/dist/templates/help/src/components/ui/password-input.tsx +41 -0
  85. package/dist/templates/help/src/components/ui/separator.tsx +28 -0
  86. package/dist/templates/help/src/components/ui/tabs.tsx +62 -0
  87. package/dist/templates/help/src/components/ui/textarea.tsx +21 -0
  88. package/dist/templates/help/src/data/proyectos.json +56 -0
  89. package/dist/templates/help/src/index.css +104 -0
  90. package/dist/templates/help/src/lib/queryClient.ts +11 -0
  91. package/dist/templates/help/src/lib/utils.ts +6 -0
  92. package/dist/templates/help/src/main.tsx +33 -0
  93. package/dist/templates/help/src/routeTree.gen.ts +241 -0
  94. package/dist/templates/help/src/router.tsx +13 -0
  95. package/dist/templates/help/src/routes/__root.tsx +92 -0
  96. package/dist/templates/help/src/routes/auth/iniciar-sesion.tsx +139 -0
  97. package/dist/templates/help/src/routes/auth/registro.tsx +205 -0
  98. package/dist/templates/help/src/routes/contacto.tsx +60 -0
  99. package/dist/templates/help/src/routes/dashbord.tsx +9 -0
  100. package/dist/templates/help/src/routes/documentacion.tsx +80 -0
  101. package/dist/templates/help/src/routes/index.test.tsx +42 -0
  102. package/dist/templates/help/src/routes/index.tsx +211 -0
  103. package/dist/templates/help/src/routes/perfil.tsx +9 -0
  104. package/dist/templates/help/src/routes/proyectos.$proyectoId.tsx +156 -0
  105. package/dist/templates/help/src/routes/proyectos.tsx +93 -0
  106. package/dist/templates/help/src/test/setup.ts +1 -0
  107. package/dist/templates/help/tsconfig.app.json +34 -0
  108. package/dist/templates/help/tsconfig.json +10 -0
  109. package/dist/templates/help/tsconfig.node.json +26 -0
  110. package/dist/templates/help/vite.config.ts +22 -0
  111. package/dist/templates/help/vitest.config.ts +9 -0
  112. package/dist/test-cli.js +48 -0
  113. package/package.json +25 -0
  114. package/templates/clean/.cursor/skills/architecture/SKILL.md +26 -0
  115. package/templates/clean/.cursor/skills/components-shadcn/SKILL.md +23 -0
  116. package/templates/clean/.cursor/skills/daisyui/SKILL.md +98 -0
  117. package/templates/clean/.cursor/skills/routing/SKILL.md +32 -0
  118. package/templates/clean/.cursor/skills/testing/SKILL.md +55 -0
  119. package/templates/clean/.cursor/skills/tooling-and-scripts/SKILL.md +24 -0
  120. package/templates/clean/.cursor/skills/ui-and-styling/SKILL.md +32 -0
  121. package/templates/clean/.cursor/skills/vibe-and-ia/SKILL.md +23 -0
  122. package/templates/clean/.prettierrc +6 -0
  123. package/templates/clean/.tanstack/tmp/c28007bb-2319511cf318e28129c8d8eb723db5fd +9 -0
  124. package/templates/clean/.tanstack/tmp/c28007bb-bcef89e9e4593777e1c15ec4b4f32eea +9 -0
  125. package/templates/clean/.vscode/extensions.json +7 -0
  126. package/templates/clean/README.md +75 -0
  127. package/templates/clean/components.json +22 -0
  128. package/templates/clean/eslint.config.js +31 -0
  129. package/templates/clean/index.html +13 -0
  130. package/templates/clean/package.json +62 -0
  131. package/templates/clean/pnpm-lock.yaml +4487 -0
  132. package/templates/clean/pnpm-workspace.yaml +2 -0
  133. package/templates/clean/src/assets/react.svg +1 -0
  134. package/templates/clean/src/components/ui/badge.tsx +37 -0
  135. package/templates/clean/src/components/ui/breadcrumb.tsx +106 -0
  136. package/templates/clean/src/components/ui/button.tsx +58 -0
  137. package/templates/clean/src/components/ui/card.tsx +72 -0
  138. package/templates/clean/src/components/ui/form.tsx +165 -0
  139. package/templates/clean/src/components/ui/input.tsx +22 -0
  140. package/templates/clean/src/components/ui/label.tsx +24 -0
  141. package/templates/clean/src/components/ui/password-input.tsx +41 -0
  142. package/templates/clean/src/components/ui/separator.tsx +28 -0
  143. package/templates/clean/src/components/ui/tabs.tsx +62 -0
  144. package/templates/clean/src/components/ui/textarea.tsx +21 -0
  145. package/templates/clean/src/index.css +104 -0
  146. package/templates/clean/src/lib/queryClient.ts +11 -0
  147. package/templates/clean/src/lib/utils.ts +6 -0
  148. package/templates/clean/src/main.tsx +33 -0
  149. package/templates/clean/src/routeTree.gen.ts +77 -0
  150. package/templates/clean/src/router.tsx +13 -0
  151. package/templates/clean/src/routes/__root.tsx +82 -0
  152. package/templates/clean/src/routes/index.tsx +187 -0
  153. package/templates/clean/src/routes/otra-ruta.tsx +319 -0
  154. package/templates/clean/src/test/setup.ts +1 -0
  155. package/templates/clean/tsconfig.app.json +34 -0
  156. package/templates/clean/tsconfig.json +10 -0
  157. package/templates/clean/tsconfig.node.json +26 -0
  158. package/templates/clean/vite.config.ts +22 -0
  159. package/templates/clean/vitest.config.ts +9 -0
  160. package/templates/help/.cursor/skills/architecture/SKILL.md +26 -0
  161. package/templates/help/.cursor/skills/components-shadcn/SKILL.md +23 -0
  162. package/templates/help/.cursor/skills/daisyui/SKILL.md +98 -0
  163. package/templates/help/.cursor/skills/routing/SKILL.md +32 -0
  164. package/templates/help/.cursor/skills/testing/SKILL.md +55 -0
  165. package/templates/help/.cursor/skills/tooling-and-scripts/SKILL.md +24 -0
  166. package/templates/help/.cursor/skills/ui-and-styling/SKILL.md +32 -0
  167. package/templates/help/.cursor/skills/vibe-and-ia/SKILL.md +23 -0
  168. package/templates/help/.prettierrc +6 -0
  169. package/templates/help/.tanstack/tmp/c28007bb-2319511cf318e28129c8d8eb723db5fd +9 -0
  170. package/templates/help/.tanstack/tmp/c28007bb-bcef89e9e4593777e1c15ec4b4f32eea +9 -0
  171. package/templates/help/.vscode/extensions.json +7 -0
  172. package/templates/help/README.md +75 -0
  173. package/templates/help/components.json +22 -0
  174. package/templates/help/eslint.config.js +31 -0
  175. package/templates/help/index.html +13 -0
  176. package/templates/help/package.json +62 -0
  177. package/templates/help/pnpm-lock.yaml +4487 -0
  178. package/templates/help/pnpm-workspace.yaml +2 -0
  179. package/templates/help/src/assets/react.svg +1 -0
  180. package/templates/help/src/components/documentacion/entorno.tsx +99 -0
  181. package/templates/help/src/components/documentacion/estructura.tsx +100 -0
  182. package/templates/help/src/components/documentacion/figma-mcp.tsx +200 -0
  183. package/templates/help/src/components/documentacion/inicio.tsx +69 -0
  184. package/templates/help/src/components/documentacion/instalacion.tsx +72 -0
  185. package/templates/help/src/components/documentacion/personalizacion.tsx +163 -0
  186. package/templates/help/src/components/documentacion/rutas.tsx +138 -0
  187. package/templates/help/src/components/documentacion/stack.tsx +401 -0
  188. package/templates/help/src/components/ui/badge.tsx +37 -0
  189. package/templates/help/src/components/ui/breadcrumb.tsx +106 -0
  190. package/templates/help/src/components/ui/button.tsx +58 -0
  191. package/templates/help/src/components/ui/card.tsx +72 -0
  192. package/templates/help/src/components/ui/form.tsx +165 -0
  193. package/templates/help/src/components/ui/input.tsx +22 -0
  194. package/templates/help/src/components/ui/label.tsx +24 -0
  195. package/templates/help/src/components/ui/password-input.tsx +41 -0
  196. package/templates/help/src/components/ui/separator.tsx +28 -0
  197. package/templates/help/src/components/ui/tabs.tsx +62 -0
  198. package/templates/help/src/components/ui/textarea.tsx +21 -0
  199. package/templates/help/src/data/proyectos.json +56 -0
  200. package/templates/help/src/index.css +104 -0
  201. package/templates/help/src/lib/queryClient.ts +11 -0
  202. package/templates/help/src/lib/utils.ts +6 -0
  203. package/templates/help/src/main.tsx +33 -0
  204. package/templates/help/src/routeTree.gen.ts +241 -0
  205. package/templates/help/src/router.tsx +13 -0
  206. package/templates/help/src/routes/__root.tsx +92 -0
  207. package/templates/help/src/routes/auth/iniciar-sesion.tsx +139 -0
  208. package/templates/help/src/routes/auth/registro.tsx +205 -0
  209. package/templates/help/src/routes/contacto.tsx +60 -0
  210. package/templates/help/src/routes/dashbord.tsx +9 -0
  211. package/templates/help/src/routes/documentacion.tsx +80 -0
  212. package/templates/help/src/routes/index.test.tsx +42 -0
  213. package/templates/help/src/routes/index.tsx +211 -0
  214. package/templates/help/src/routes/perfil.tsx +9 -0
  215. package/templates/help/src/routes/proyectos.$proyectoId.tsx +156 -0
  216. package/templates/help/src/routes/proyectos.tsx +93 -0
  217. package/templates/help/src/test/setup.ts +1 -0
  218. package/templates/help/tsconfig.app.json +34 -0
  219. package/templates/help/tsconfig.json +10 -0
  220. package/templates/help/tsconfig.node.json +26 -0
  221. package/templates/help/vite.config.ts +22 -0
  222. package/templates/help/vitest.config.ts +9 -0
@@ -0,0 +1,24 @@
1
+ ---
2
+ description: Tooling, scripts and configuration
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Tooling y Configuración
7
+
8
+ ## Scripts
9
+
10
+ - pnpm dev → desarrollo
11
+ - pnpm build → producción
12
+ - pnpm test → tests
13
+
14
+ ## Archivos importantes
15
+
16
+ - vite.config.ts
17
+ - tsconfig.json
18
+ - components.json
19
+ - src/router.tsx
20
+
21
+ ## Imports
22
+
23
+ - Usar alias @/
24
+ - Evitar imports relativos profundos
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: UI, layout and Tailwind rules
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # UI y Estilos
7
+
8
+ ## Principios
9
+
10
+ - Tailwind CSS v4 obligatorio
11
+ - No usar estilos inline
12
+ - No inventar diseño
13
+ - Utilizar DaisyUI para los themes
14
+ - Utiliza el @plugin "daisyui/theme" en el index.css para estandarizar colores que se repitan
15
+
16
+ ## Fuente de verdad
17
+
18
+ - Figma define layout, spacing y jerarquía
19
+ - El código debe replicar Figma exactamente
20
+
21
+ ## Layout
22
+
23
+ - Usar flex o grid según diseño
24
+ - Priorizar gap sobre margin
25
+ - Evitar hacks con position absolute
26
+ - Mobile-first
27
+
28
+ ## Tipografía y colores
29
+
30
+ - Usar tokens definidos
31
+ - No hardcodear valores arbitrarios
32
+ - Mantener jerarquía tipográfica clara
@@ -0,0 +1,23 @@
1
+ ---
2
+ description: AI behavior and vibe rules
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Rol de la IA
7
+
8
+ ## Comportamiento
9
+
10
+ - Cursor actúa como asistente técnico
11
+ - No actúa como diseñador
12
+ - No inventa UX, layout ni flujos
13
+
14
+ ## Generación de código
15
+
16
+ - Código claro, simple y legible
17
+ - Respetar estructura existente
18
+ - No sobre-optimizar
19
+ - Mantener consistencia
20
+
21
+ ## Regla final
22
+
23
+ Si algo no está en Figma o en estas reglas, no asumirlo
@@ -0,0 +1,6 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": false,
4
+ "trailingComma": "es5",
5
+ "printWidth": 100
6
+ }
@@ -0,0 +1,9 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+
3
+ export const Route = createFileRoute('/auth/registro')({
4
+ component: RouteComponent,
5
+ })
6
+
7
+ function RouteComponent() {
8
+ return <div>Hello "/auth/registro"!</div>
9
+ }
@@ -0,0 +1,9 @@
1
+ import { createFileRoute } from '@tanstack/react-router'
2
+
3
+ export const Route = createFileRoute('/dashbord')({
4
+ component: RouteComponent,
5
+ })
6
+
7
+ function RouteComponent() {
8
+ return <div>Hello "/dashbord"!</div>
9
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "recommendations": [
3
+ "esbenp.prettier-vscode",
4
+ "dbaeumer.vscode-eslint",
5
+ "bradlc.vscode-tailwindcss"
6
+ ]
7
+ }
@@ -0,0 +1,75 @@
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## React Compiler
11
+
12
+ The React Compiler is enabled on this template. See [this documentation](https://react.dev/learn/react-compiler) for more information.
13
+
14
+ Note: This will impact Vite dev & build performances.
15
+
16
+ ## Expanding the ESLint configuration
17
+
18
+ If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
19
+
20
+ ```js
21
+ export default defineConfig([
22
+ globalIgnores(['dist']),
23
+ {
24
+ files: ['**/*.{ts,tsx}'],
25
+ extends: [
26
+ // Other configs...
27
+
28
+ // Remove tseslint.configs.recommended and replace with this
29
+ tseslint.configs.recommendedTypeChecked,
30
+ // Alternatively, use this for stricter rules
31
+ tseslint.configs.strictTypeChecked,
32
+ // Optionally, add this for stylistic rules
33
+ tseslint.configs.stylisticTypeChecked,
34
+
35
+ // Other configs...
36
+ ],
37
+ languageOptions: {
38
+ parserOptions: {
39
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
40
+ tsconfigRootDir: import.meta.dirname,
41
+ },
42
+ // other options...
43
+ },
44
+ },
45
+ ])
46
+ ```
47
+
48
+ You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
49
+
50
+ ```js
51
+ // eslint.config.js
52
+ import reactX from 'eslint-plugin-react-x'
53
+ import reactDom from 'eslint-plugin-react-dom'
54
+
55
+ export default defineConfig([
56
+ globalIgnores(['dist']),
57
+ {
58
+ files: ['**/*.{ts,tsx}'],
59
+ extends: [
60
+ // Other configs...
61
+ // Enable lint rules for React
62
+ reactX.configs['recommended-typescript'],
63
+ // Enable lint rules for React DOM
64
+ reactDom.configs.recommended,
65
+ ],
66
+ languageOptions: {
67
+ parserOptions: {
68
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
69
+ tsconfigRootDir: import.meta.dirname,
70
+ },
71
+ // other options...
72
+ },
73
+ },
74
+ ])
75
+ ```
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "rsc": false,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "src/index.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "lucide",
14
+ "aliases": {
15
+ "components": "@/components",
16
+ "utils": "@/lib/utils",
17
+ "ui": "@/components/ui",
18
+ "lib": "@/lib",
19
+ "hooks": "@/hooks"
20
+ },
21
+ "registries": {}
22
+ }
@@ -0,0 +1,31 @@
1
+ import js from "@eslint/js";
2
+ import globals from "globals";
3
+ import tseslint from "typescript-eslint";
4
+ import reactHooks from "eslint-plugin-react-hooks";
5
+ import reactRefresh from "eslint-plugin-react-refresh";
6
+ import prettier from "eslint-config-prettier";
7
+ import { defineConfig, globalIgnores } from "eslint/config";
8
+
9
+ export default defineConfig([
10
+ globalIgnores(["dist", "node_modules"]),
11
+
12
+ {
13
+ files: ["**/*.{ts,tsx}"],
14
+ languageOptions: {
15
+ ecmaVersion: "latest",
16
+ sourceType: "module",
17
+ globals: globals.browser,
18
+ },
19
+ extends: [
20
+ js.configs.recommended,
21
+ ...tseslint.configs.recommended,
22
+ reactHooks.configs.flat.recommended,
23
+ reactRefresh.configs.vite,
24
+ prettier,
25
+ ],
26
+ rules: {
27
+ "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
28
+ "@typescript-eslint/no-explicit-any": "error",
29
+ },
30
+ },
31
+ ]);
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="huenei">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>frontend-template</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "frontend-template",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview",
11
+ "test": "vitest"
12
+ },
13
+ "dependencies": {
14
+ "@hookform/resolvers": "^5.2.2",
15
+ "@radix-ui/react-label": "^2.1.8",
16
+ "@radix-ui/react-separator": "^1.1.8",
17
+ "@radix-ui/react-slot": "^1.2.4",
18
+ "@radix-ui/react-tabs": "^1.1.13",
19
+ "@tailwindcss/vite": "^4.1.18",
20
+ "@tanstack/react-query": "^5.90.16",
21
+ "@tanstack/react-router": "^1.149.3",
22
+ "@tanstack/react-router-devtools": "^1.149.3",
23
+ "class-variance-authority": "^0.7.1",
24
+ "clsx": "^2.1.1",
25
+ "lucide-react": "^0.562.0",
26
+ "react": "^19.2.0",
27
+ "react-dom": "^19.2.0",
28
+ "react-hook-form": "^7.71.0",
29
+ "react-toastify": "^11.0.5",
30
+ "tailwind-merge": "^3.4.0",
31
+ "tailwindcss": "^4.1.18",
32
+ "zod": "^4.3.5"
33
+ },
34
+ "devDependencies": {
35
+ "@eslint/js": "^9.39.1",
36
+ "@tanstack/react-query-devtools": "^5.91.2",
37
+ "@tanstack/router-plugin": "^1.149.3",
38
+ "@testing-library/jest-dom": "^6.9.1",
39
+ "@testing-library/react": "^16.3.1",
40
+ "@types/jsdom": "^27.0.0",
41
+ "@types/node": "^24.10.1",
42
+ "@types/react": "^19.2.5",
43
+ "@types/react-dom": "^19.2.3",
44
+ "@vitejs/plugin-react": "^5.1.1",
45
+ "@vitest/ui": "^4.0.17",
46
+ "babel-plugin-react-compiler": "^1.0.0",
47
+ "daisyui": "^5.5.14",
48
+ "eslint": "^9.39.1",
49
+ "eslint-plugin-react-hooks": "^7.0.1",
50
+ "eslint-plugin-react-refresh": "^0.4.24",
51
+ "globals": "^16.5.0",
52
+ "jsdom": "^27.4.0",
53
+ "tw-animate-css": "^1.4.0",
54
+ "typescript": "~5.9.3",
55
+ "typescript-eslint": "^8.46.4",
56
+ "vite": "npm:rolldown-vite@7.2.5",
57
+ "vitest": "^4.0.17"
58
+ },
59
+ "overrides": {
60
+ "vite": "npm:rolldown-vite@7.2.5"
61
+ }
62
+ }