前端开发新范式GitHub_Trending/cla/claude-skills前端框架技能【免费下载链接】claude-skills345 Claude Code skills agent skills plugins (30 Agents, 70 custom commands, 330 skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, compliance, C-level advisory, research, business operations, commercial finance, and your daily productivity skills.项目地址: https://gitcode.com/GitHub_Trending/cla/claude-skillsGitHub_Trending/cla/claude-skills是一个功能强大的前端开发框架技能集合包含345个Claude Code技能、代理技能和插件涵盖30多个代理、70多个自定义命令以及330多个技能为前端开发提供了全面的支持和解决方案。项目概述前端开发的一站式解决方案 GitHub_Trending/cla/claude-skills前端框架技能为React、Next.js、TypeScript和Tailwind CSS应用程序开发提供了全方位的支持。无论是构建React组件、优化Next.js性能、分析捆绑包大小还是搭建前端项目、实现可访问性或审查前端代码质量都能在这里找到合适的工具和方法。该项目的核心优势在于其丰富的技能库和灵活的定制能力。通过提供多种前端开发相关的技能和工具开发者可以根据自己的需求快速构建高效、高质量的前端应用。项目搭建快速启动你的前端项目 ⚡项目脚手架轻松创建前端项目GitHub_Trending/cla/claude-skills提供了便捷的项目脚手架工具可以快速生成基于Next.js或React的项目并包含TypeScript、Tailwind CSS和最佳实践配置。使用以下命令创建新的前端项目python scripts/frontend_scaffolder.py my-app --template nextjs你还可以添加可选功能如身份验证、API、表单、测试和Storybookpython scripts/frontend_scaffolder.py dashboard --template nextjs --features auth,api脚手架工具提供了多种选项以满足不同项目的需求选项描述--template nextjsNext.js 14 带有App Router和Server Components--template reactReact Vite 带有TypeScript--features auth添加NextAuth.js身份验证--features api添加React Query API客户端--features forms添加React Hook Form Zod验证--features testing添加Vitest Testing Library--dry-run预览文件而不创建它们生成的Next.js项目结构如下my-app/ ├── app/ │ ├── layout.tsx # 带有字体的根布局 │ ├── page.tsx # 主页 │ ├── globals.css # Tailwind CSS变量 │ └── api/health/route.ts ├── components/ │ ├── ui/ # Button, Input, Card等UI组件 │ └── layout/ # Header, Footer, Sidebar等布局组件 ├── hooks/ # useDebounce, useLocalStorage等自定义钩子 ├── lib/ # 工具函数如cn、常量等 ├── types/ # TypeScript接口 ├── tailwind.config.ts ├── next.config.js └── package.json组件生成快速创建高质量组件除了项目脚手架GitHub_Trending/cla/claude-skills还提供了组件生成工具可以快速创建带有TypeScript、测试和Storybook故事的React组件。使用以下命令创建新组件python scripts/component_generator.py Button --dir src/components/ui你还可以生成服务器组件、带有测试和故事文件的组件甚至自定义钩子# 生成服务器组件 python scripts/component_generator.py ProductCard --type server # 生成带有测试和故事文件的组件 python scripts/component_generator.py UserProfile --with-test --with-story # 生成自定义钩子 python scripts/component_generator.py FormValidation --type hook性能优化提升前端应用体验 捆绑包分析优化应用大小GitHub_Trending/cla/claude-skills提供了捆绑包分析工具可以分析package.json和项目结构找出捆绑优化的机会。运行分析器python scripts/bundle_analyzer.py /path/to/project分析结果将提供健康分数和问题Bundle Health Score: 75/100 (C) HEAVY DEPENDENCIES: moment (290KB) Alternative: date-fns (12KB) or dayjs (2KB) lodash (71KB) Alternative: lodash-es with tree-shaking捆绑包分数解释分数等级操作90-100A捆绑包已优化80-89B有 minor 优化空间70-79C需要替换重依赖60-69D有多个问题需要注意0-59F有严重的捆绑包大小问题分析器可以识别常见的重包如moment、lodash、axios等并提供替代方案。Next.js优化提升应用性能GitHub_Trending/cla/claude-skills提供了丰富的Next.js优化技巧帮助开发者构建高性能的应用。服务器组件与客户端组件默认使用服务器组件仅在需要以下功能时添加use client事件处理程序onClick、onChange状态useState、useReducer副作用useEffect浏览器API// 服务器组件默认- 没有 use client async function ProductPage({ params }) { const product await getProduct(params.id); // 服务器端获取数据 return ( div h1{product.name}/h1 AddToCartButton productId{product.id} / {/* 客户端组件 */} /div ); } // 客户端组件 use client; function AddToCartButton({ productId }) { const [adding, setAdding] useState(false); return button onClick{() addToCart(productId)}Add/button; }图像优化import Image from next/image; // 首屏图像 - 立即加载 Image src/hero.jpg altHero width{1200} height{600} priority / // 响应式图像 div classNamerelative aspect-video Image src/product.jpg altProduct fill sizes(max-width: 768px) 100vw, 50vw classNameobject-cover / /div数据获取模式// 并行获取 async function Dashboard() { const [user, stats] await Promise.all([ getUser(), getStats() ]); return div.../div; } // 使用Suspense进行流式处理 async function ProductPage({ params }) { return ( div ProductDetails id{params.id} / Suspense fallback{ReviewsSkeleton /} Reviews productId{params.id} / /Suspense /div ); }React模式编写高质量React代码 GitHub_Trending/cla/claude-skills提供了多种React模式帮助开发者编写高质量、可维护的React代码。复合组件在相关组件之间共享状态const Tabs ({ children }) { const [active, setActive] useState(0); return ( TabsContext.Provider value{{ active, setActive }} {children} /TabsContext.Provider ); }; Tabs.List TabList; Tabs.Panel TabPanel; // 使用 Tabs Tabs.List Tabs.TabOne/Tabs.Tab Tabs.TabTwo/Tabs.Tab /Tabs.List Tabs.PanelContent 1/Tabs.Panel Tabs.PanelContent 2/Tabs.Panel /Tabs自定义钩子提取可重用逻辑function useDebounceT(value: T, delay 500): T { const [debouncedValue, setDebouncedValue] useState(value); useEffect(() { const timer setTimeout(() setDebouncedValue(value), delay); return () clearTimeout(timer); }, [value, delay]); return debouncedValue; } // 使用 const debouncedSearch useDebounce(searchTerm, 300);可访问性和测试构建更友好的应用 可访问性检查清单语义化HTML使用适当的元素button、nav、main键盘导航所有交互元素可聚焦ARIA标签为图标和复杂小部件提供标签颜色对比度普通文本至少4.5:1焦点指示器可见的焦点状态// 可访问的按钮 button typebutton aria-labelClose dialog onClick{onClose} classNamefocus-visible:ring-2 focus-visible:ring-blue-500 XIcon aria-hiddentrue / /button // 键盘用户的跳过链接 a href#main-content classNamesr-only focus:not-sr-only Skip to main content /a测试策略// 使用React Testing Library进行组件测试 import { render, screen } from testing-library/react; import userEvent from testing-library/user-event; test(button triggers action on click, async () { const onClick vi.fn(); render(Button onClick{onClick}Click me/Button); await userEvent.click(screen.getByRole(button)); expect(onClick).toHaveBeenCalledTimes(1); }); // 测试可访问性 test(dialog is accessible, async () { render(Dialog open{true} titleConfirm /); expect(screen.getByRole(dialog)).toBeInTheDocument(); expect(screen.getByRole(dialog)).toHaveAttribute(aria-labelledby); });快速参考常用配置和模式 常见Next.js配置// next.config.js const nextConfig { images: { remotePatterns: [{ protocol: https, hostname: cdn.example.com }], formats: [image/avif, image/webp], }, experimental: { optimizePackageImports: [lucide-react, heroicons/react], }, };Tailwind CSS工具类// 使用cn()进行条件类 import { cn } from /lib/utils; button className{cn( px-4 py-2 rounded, variant primary bg-blue-500 text-white, disabled opacity-50 cursor-not-allowed )} /TypeScript模式// 带children的Props interface CardProps { className?: string; children: React.ReactNode; } // 泛型组件 interface ListPropsT { items: T[]; renderItem: (item: T) React.ReactNode; } function ListT({ items, renderItem }: ListPropsT) { return ul{items.map(renderItem)}/ul; }自定义配置文件为不同项目选择最佳方案 GitHub_Trending/cla/claude-skills提供了四种内置配置文件可根据不同项目需求进行选择配置文件适用场景LCP目标mobile-4G p75捆绑包预算next-app-routerSaaS客户面向SEO 动态RSC优先2000ms150 KB-gzip / 路由remix-or-sveltekit移动4G优先低JS优先渐进式增强1500ms80 KB-gzip / 路由vite-spa授权墙应用桌面/企业优先2500ms200 KB初始化 80 KB / 路由astro-or-static营销/文档/博客几乎零写入SEO关键1200ms30 KB JS / 页面使用以下命令选择配置文件python scripts/frontend_decision_engine.py \ --primary-device mobile-4g --lcp-target-ms 2000 \ --seo-dependent true --auth-walled false --team-size 5如何开始使用GitHub_Trending/cla/claude-skills前端框架技能 要开始使用GitHub_Trending/cla/claude-skills前端框架技能只需克隆仓库并按照安装指南进行操作git clone https://gitcode.com/GitHub_Trending/cla/claude-skills cd claude-skills # 按照INSTALLATION.md中的说明进行安装详细的使用指南和更多技能信息可以在项目文档中找到例如docs/commands/cs-frontend-review.md和docs/skills/engineering-team/senior-frontend.md。无论你是前端开发新手还是有经验的开发者GitHub_Trending/cla/claude-skills都能为你提供强大的工具和技能帮助你构建高效、高质量的前端应用。立即开始探索体验前端开发的新范式【免费下载链接】claude-skills345 Claude Code skills agent skills plugins (30 Agents, 70 custom commands, 330 skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, compliance, C-level advisory, research, business operations, commercial finance, and your daily productivity skills.项目地址: https://gitcode.com/GitHub_Trending/cla/claude-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考