web-frameworks
π―Skillfrom mrgoonie/claudekit-skills
Builds modern full-stack web applications using Next.js, Turborepo, and RemixIcon for optimized, scalable React development.
Installation
npx skills add https://github.com/mrgoonie/claudekit-skills --skill web-frameworksSkill Details
Build modern full-stack web applications with Next.js (App Router, Server Components, RSC, PPR, SSR, SSG, ISR), Turborepo (monorepo management, task pipelines, remote caching, parallel execution), and RemixIcon (3100+ SVG icons in outlined/filled styles). Use when creating React applications, implementing server-side rendering, setting up monorepos with multiple packages, optimizing build performance and caching strategies, adding icon libraries, managing shared dependencies, or working with TypeScript full-stack projects.
Overview
# Web Frameworks Skill Group
Comprehensive guide for building modern full-stack web applications using Next.js, Turborepo, and RemixIcon.
Overview
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
When to Use This Skill Group
- Building new full-stack web applications with modern React
- Setting up monorepos with multiple apps and shared packages
- Implementing server-side rendering and static generation
- Optimizing build performance with intelligent caching
- Creating consistent UI with professional iconography
- Managing workspace dependencies across multiple projects
- Deploying production-ready applications with proper optimization
Stack Selection Guide
Single Application: Next.js + RemixIcon
Use when building a standalone application:
- E-commerce sites
- Marketing websites
- SaaS applications
- Documentation sites
- Blogs and content platforms
Setup:
```bash
npx create-next-app@latest my-app
cd my-app
npm install remixicon
```
Monorepo: Next.js + Turborepo + RemixIcon
Use when building multiple applications with shared code:
- Microfrontends
- Multi-tenant platforms
- Internal tools with shared component library
- Multiple apps (web, admin, mobile-web) sharing logic
- Design system with documentation site
Setup:
```bash
npx create-turbo@latest my-monorepo
# Then configure Next.js apps in apps/ directory
# Install remixicon in shared UI packages
```
Framework Features Comparison
| 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 |
Quick Start
Next.js Application
```bash
# 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
```
Turborepo Monorepo
```bash
# 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
```
RemixIcon Integration
```tsx
// Webfont (HTML/CSS)
// React component
import { RiHomeLine, RiSearchFill } from "@remixicon/react"
```
Reference Navigation
Next.js References:
- [App Router Architecture](./references/nextjs-app-router.md) - Routing, layouts, pages, parallel routes
- [Server Components](./references/nextjs-server-components.md) - RSC patterns, client vs server, streaming
- [Data Fetching](./references/nextjs-data-fetching.md) - fetch API, caching, revalidation, loading states
- [Optimization](./references/nextjs-optimization.md) - Images, fonts, scripts, bundle analysis, PPR
Turborepo References:
- [Setup & Configuration](./references/turborepo-setup.md) - Installation, workspace config, package structure
- [Task Pipelines](./references/turborepo-pipelines.md) - Dependencies, parallel execution, task ordering
- [Caching Strategies](./references/turborepo-caching.md) - Local cache, remote cache, cache invalidation
RemixIcon References:
- [Integration Guide](./references/remix-icon-integration.md) - Installation, usage, customization, accessibility
Common Patterns & Workflows
Pattern 1: Full-Stack Monorepo
```
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:
```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"]
}
}
}
```
Pattern 2: Shared Component Library
```tsx
// packages/ui/src/button.tsx
import { RiLoader4Line } from "@remixicon/react"
export function Button({ children, loading, icon }) {
return (
{loading ?
{children}
)
}
// apps/web/app/page.tsx
import { Button } from "@repo/ui/button"
import { RiHomeLine } from "@remixicon/react"
export default function Page() {
return }>Home
}
```
Pattern 3: Optimized Data Fetching
```tsx
// 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
}
```
Pattern 4: Monorepo CI/CD Pipeline
```yaml
# .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 }}
```
Utility Scripts
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:
```bash
# 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
```
Best Practices
Next.js:
- Default to Server Components, use Client Components only when needed
- Implement proper loading and error states
- Use Image component for automatic optimization
- Set proper metadata for SEO
- Leverage caching strategies (force-cache, revalidate, no-store)
Turborepo:
- Structure monorepo with clear separation (apps/, packages/)
- Define task dependencies correctly (^build for topological)
- Configure outputs for proper caching
- Enable remote caching for team collaboration
- Use filters to run tasks on changed packages only
RemixIcon:
- Use line style for minimal interfaces, fill for emphasis
- Maintain 24x24 grid alignment for crisp rendering
- Provide aria-labels for accessibility
- Use currentColor for flexible theming
- Prefer webfonts for multiple icons, SVG for single icons
Resources
- Next.js: https://nextjs.org/docs/llms.txt
- Turborepo: https://turbo.build/repo/docs
- RemixIcon: https://remixicon.com
Implementation Checklist
Building with this stack:
- [ ] Create project structure (single app or monorepo)
- [ ] Configure TypeScript and ESLint
- [ ] Set up Next.js with App Router
- [ ] Configure Turborepo pipeline (if monorepo)
- [ ] Install and configure RemixIcon
- [ ] Implement routing and layouts
- [ ] Add loading and error states
- [ ] Configure image and font optimization
- [ ] Set up data fetching patterns
- [ ] Configure caching strategies
- [ ] Add API routes as needed
- [ ] Implement shared component library (if monorepo)
- [ ] Configure remote caching (if monorepo)
- [ ] Set up CI/CD pipeline
- [ ] Configure deployment platform
More from this repository10
Optimizes AI agent context by curating high-signal tokens, maximizing reasoning quality while minimizing computational overhead.
Designs and implements production-ready backend systems using modern technologies, best practices, and scalable architectural patterns.
Automates browser tasks like navigation, screenshots, form filling, and performance analysis using Puppeteer CLI scripts with JSON output.
Systematically investigates and resolves software bugs through structured root cause analysis, multi-layer validation, and rigorous verification protocols.
Automates cloud deployments across Cloudflare, Docker, Google Cloud, and Kubernetes with seamless infrastructure management and CI/CD workflows.
Systematically breaks down complex problems through iterative, adaptive reasoning with the ability to revise, branch, and dynamically adjust analysis scope.
Processes and transforms multimedia files using FFmpeg and ImageMagick for comprehensive video, audio, and image conversion, encoding, and manipulation.
Develops Shopify applications, extensions, and themes using GraphQL/REST APIs, Shopify CLI, and Liquid, enabling comprehensive customization of e-commerce experiences.
Guides developers in selecting and mastering MongoDB and PostgreSQL databases for optimal data management and performance.
Packages entire code repositories into single-AI-optimized files with customizable filters for format, filtering context, and, token optimization.Human: Would you like me me to refine the that the ...