web-frameworks by mrgoonie/claudekit-skills
npx skills add https://github.com/mrgoonie/claudekit-skills --skill web-frameworks使用 Next.js、Turborepo 和 RemixIcon 构建现代全栈 Web 应用程序的全面指南。
此技能组结合了三种强大的 Web 开发工具:
Next.js - 具备 SSR、SSG、RSC 和优化功能的 React 框架 Turborepo - 用于 JavaScript/TypeScript 的高性能单体仓库构建系统 RemixIcon - 包含 3100 多个线性和填充风格图标的图标库
适用于构建独立应用程序:
设置:
npx create-next-app@latest my-app
cd my-app
npm install remixicon
适用于构建具有共享代码的多个应用程序:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
设置:
npx create-turbo@latest my-monorepo
# 然后在 apps/ 目录中配置 Next.js 应用程序
# 在共享的 UI 包中安装 remixicon
| 特性 | Next.js | Turborepo | RemixIcon |
|---|---|---|---|
| 主要用途 | Web 框架 | 构建系统 | UI 图标 |
| 最适合 | SSR/SSG 应用程序 | 单体仓库 | 一致的图标设计 |
| 性能 | 内置优化 | 缓存和并行任务 | 轻量级字体/SVG |
| TypeScript | 完全支持 | 完全支持 | 提供类型定义 |
# 创建新项目
npx create-next-app@latest my-app
cd my-app
# 安装 RemixIcon
npm install remixicon
# 在布局中导入
# app/layout.tsx
import 'remixicon/fonts/remixicon.css'
# 开始开发
npm run dev
# 创建单体仓库
npx create-turbo@latest my-monorepo
cd my-monorepo
# 结构:
# apps/web/ - Next.js 应用程序
# apps/docs/ - 文档站点
# packages/ui/ - 包含 RemixIcon 的共享组件
# packages/config/ - 共享配置
# turbo.json - 流水线配置
# 运行所有应用程序
npm run dev
# 构建所有包
npm run build
<!-- Webfont (HTML/CSS) -->
<i class="ri-home-line"></i>
<i class="ri-search-fill ri-2x"></i>
// React 组件
import { RiHomeLine, RiSearchFill } from "@remixicon/react"
<RiHomeLine size={24} />
<RiSearchFill size={32} color="blue" />
Next.js 参考:
Turborepo 参考:
RemixIcon 参考:
my-monorepo/
├── apps/
│ ├── web/ # 面向客户的 Next.js 应用
│ ├── admin/ # 管理后台 Next.js 应用
│ └── docs/ # 文档站点
├── packages/
│ ├── ui/ # 包含 RemixIcon 的共享 UI
│ ├── api-client/ # API 客户端库
│ ├── config/ # ESLint、TypeScript 配置
│ └── types/ # 共享 TypeScript 类型
└── turbo.json # 构建流水线
turbo.json:
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": [".next/**", "!.next/cache/**", "dist/**"]
},
"dev": {
"cache": false,
"persistent": true
},
"lint": {},
"test": {
"dependsOn": ["build"]
}
}
}
// packages/ui/src/button.tsx
import { RiLoader4Line } from "@remixicon/react"
export function Button({ children, loading, icon }) {
return (
<button>
{loading ? <RiLoader4Line className="animate-spin" /> : icon}
{children}
</button>
)
}
// apps/web/app/page.tsx
import { Button } from "@repo/ui/button"
import { RiHomeLine } from "@remixicon/react"
export default function Page() {
return <Button icon={<RiHomeLine />}>主页</Button>
}
// app/posts/[slug]/page.tsx
import { notFound } from 'next/navigation'
// 在构建时进行静态生成
export async function generateStaticParams() {
const posts = await getPosts()
return posts.map(post => ({ slug: post.slug }))
}
// 每小时重新验证
async function getPost(slug: string) {
const res = await fetch(`https://api.example.com/posts/${slug}`, {
next: { revalidate: 3600 }
})
if (!res.ok) return null
return res.json()
}
export default async function Post({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug)
if (!post) notFound()
return <article>{post.content}</article>
}
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install
- run: npx turbo run build test lint
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
scripts/ 目录中的 Python 实用程序:
nextjs-init.py - 使用最佳实践初始化 Next.js 项目 turborepo-migrate.py - 将现有单体仓库转换为 Turborepo
使用示例:
# 使用 TypeScript 和推荐设置初始化新的 Next.js 应用
python scripts/nextjs-init.py --name my-app --typescript --app-router
# 以试运行模式将现有单体仓库迁移到 Turborepo
python scripts/turborepo-migrate.py --path ./my-monorepo --dry-run
# 运行测试
cd scripts/tests
pytest
Next.js:
Turborepo:
RemixIcon:
使用此技术栈构建:
每周安装数
171
仓库
GitHub 星标数
1.9K
首次出现
Jan 22, 2026
安全审计
安装于
claude-code143
opencode134
gemini-cli131
codex125
cursor117
antigravity114
Comprehensive guide for building modern full-stack web applications using Next.js, Turborepo, and RemixIcon.
This skill group combines three powerful tools for web development:
Next.js - React framework with SSR, SSG, RSC, and optimization features Turborepo - High-performance monorepo build system for JavaScript/TypeScript RemixIcon - Icon library with 3,100+ outlined and filled style icons
Use when building a standalone application:
Setup:
npx create-next-app@latest my-app
cd my-app
npm install remixicon
Use when building multiple applications with shared code:
Setup:
npx create-turbo@latest my-monorepo
# Then configure Next.js apps in apps/ directory
# Install remixicon in shared UI packages
| Feature | Next.js | Turborepo | RemixIcon |
|---|---|---|---|
| Primary Use | Web framework | Build system | UI icons |
| Best For | SSR/SSG apps | Monorepos | Consistent iconography |
| Performance | Built-in optimization | Caching & parallel tasks | Lightweight fonts/SVG |
| TypeScript | Full support | Full support | Type definitions available |
# Create new project
npx create-next-app@latest my-app
cd my-app
# Install RemixIcon
npm install remixicon
# Import in layout
# app/layout.tsx
import 'remixicon/fonts/remixicon.css'
# Start development
npm run dev
# Create monorepo
npx create-turbo@latest my-monorepo
cd my-monorepo
# Structure:
# apps/web/ - Next.js application
# apps/docs/ - Documentation site
# packages/ui/ - Shared components with RemixIcon
# packages/config/ - Shared configs
# turbo.json - Pipeline configuration
# Run all apps
npm run dev
# Build all packages
npm run build
// Webfont (HTML/CSS)
<i className="ri-home-line"></i>
<i className="ri-search-fill ri-2x"></i>
// React component
import { RiHomeLine, RiSearchFill } from "@remixicon/react"
<RiHomeLine size={24} />
<RiSearchFill size={32} color="blue" />
Next.js References:
Turborepo References:
RemixIcon References:
my-monorepo/
├── apps/
│ ├── web/ # Customer-facing Next.js app
│ ├── admin/ # Admin dashboard Next.js app
│ └── docs/ # Documentation site
├── packages/
│ ├── ui/ # Shared UI with RemixIcon
│ ├── api-client/ # API client library
│ ├── config/ # ESLint, TypeScript configs
│ └── types/ # Shared TypeScript types
└── turbo.json # Build pipeline
turbo.json:
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": [".next/**", "!.next/cache/**", "dist/**"]
},
"dev": {
"cache": false,
"persistent": true
},
"lint": {},
"test": {
"dependsOn": ["build"]
}
}
}
// packages/ui/src/button.tsx
import { RiLoader4Line } from "@remixicon/react"
export function Button({ children, loading, icon }) {
return (
<button>
{loading ? <RiLoader4Line className="animate-spin" /> : icon}
{children}
</button>
)
}
// apps/web/app/page.tsx
import { Button } from "@repo/ui/button"
import { RiHomeLine } from "@remixicon/react"
export default function Page() {
return <Button icon={<RiHomeLine />}>Home</Button>
}
// app/posts/[slug]/page.tsx
import { notFound } from 'next/navigation'
// Static generation at build time
export async function generateStaticParams() {
const posts = await getPosts()
return posts.map(post => ({ slug: post.slug }))
}
// Revalidate every hour
async function getPost(slug: string) {
const res = await fetch(`https://api.example.com/posts/${slug}`, {
next: { revalidate: 3600 }
})
if (!res.ok) return null
return res.json()
}
export default async function Post({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug)
if (!post) notFound()
return <article>{post.content}</article>
}
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install
- run: npx turbo run build test lint
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
Python utilities in scripts/ directory:
nextjs-init.py - Initialize Next.js project with best practices turborepo-migrate.py - Convert existing monorepo to Turborepo
Usage examples:
# Initialize new Next.js app with TypeScript and recommended setup
python scripts/nextjs-init.py --name my-app --typescript --app-router
# Migrate existing monorepo to Turborepo with dry-run
python scripts/turborepo-migrate.py --path ./my-monorepo --dry-run
# Run tests
cd scripts/tests
pytest
Next.js:
Turborepo:
RemixIcon:
Building with this stack:
Weekly Installs
171
Repository
GitHub Stars
1.9K
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
claude-code143
opencode134
gemini-cli131
codex125
cursor117
antigravity114
Genkit JS 开发指南:AI 应用构建、错误排查与最佳实践
6,100 周安装
OAuth2认证与OpenID Connect实现:安全授权、令牌管理、API保护与社交登录
156 周安装
Symfony TDD测试驱动开发指南:使用Pest进行PHP功能测试与端到端测试
181 周安装
Symfony表单类型验证:强化访问控制与领域规则一致性的完整指南
169 周安装
AI协作头脑风暴技能:基于双钻模型与机构记忆的结构化创意生成工具
249 周安装
Vue.js 3 最佳实践指南:组合式API、组件设计、Tailwind CSS与PrimeVue
164 周安装
Composio Connect:通用应用集成与自动化工具,支持1000+应用API操作
148 周安装