--- name: frontend_doctor kind: function lang: bash domain: infra version: "1.0.0" purity: impure signature: "frontend_doctor(project_dir: string) -> diagnostics_stdout" description: "Diagnostica la salud de un proyecto frontend Mantine. Verifica Node, React, Mantine, PostCSS, TypeScript, vite.config y detecta residuos de shadcn/@base-ui. Imprime tabla de checks con exit code 0/1." tags: [frontend, mantine, doctor, diagnostics, health, validation] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: - name: project_dir desc: "directorio del proyecto frontend con package.json" output: "tabla de checks con ✓/✗ por cada validación y resumen final" tested: false tests: [] test_file_path: "" file_path: "bash/functions/infra/frontend_doctor.sh" --- ## Ejemplo ```bash # Diagnosticar un proyecto bash frontend_doctor.sh ./apps/rapid_dashboards/frontend # Output: # === Frontend Doctor: ./apps/rapid_dashboards/frontend === # # ✓ Node >= 18 22.12.0 # ✓ Package manager detected pnpm # ✓ node_modules present # ✓ @mantine/core 7.17.0 # ✓ @mantine/hooks # ✓ @mantine/charts # ✓ React >= 18 19.2.4 # ✓ postcss.config present # ✓ TypeScript >= 5 6.0.2 # ✓ vite.config present # ✓ No shadcn residual # ✓ No @base-ui residual # # Resultado: todo OK ``` ## Notas Checks informativos, no modifica nada. Util para validar que un proyecto esta correctamente configurado despues de instalar Mantine o migrar desde shadcn. Exit code 0 si todo OK, 1 si hay problemas.