关于
This skill scaffolds a new Next.js application using the App Router and TypeScript with modern, production-ready defaults. It sets up the project structure, routing, and initial configuration for full-stack or frontend web apps. Use it to quickly bootstrap projects requiring server-side rendering or API routes.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/scaffold-nextjs-app在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Scaffold Next.js App
Create a new Next.js application with App Router, TypeScript, and production-ready defaults.
When to Use
- Starting a new web application
- React frontend with server-side rendering
- Full-stack application with API routes
- TypeScript web project
Inputs
- Required: Application name
- Required: Package manager preference (npm, yarn, pnpm)
- Optional: Include Tailwind CSS (default: yes)
- Optional: Include ESLint (default: yes)
- Optional: src/ directory structure (default: yes)
Procedure
Step 1: Create Project
npx create-next-app@latest my-app \
--typescript \
--tailwind \
--eslint \
--app \
--src-dir \
--import-alias "@/*"
Answer prompts or use flags to set all options non-interactively.
Got: Project directory created with all dependencies installed.
If fail: Check Node.js version (node --version, must be >= 18.17). Ensure npx is available. If the command hangs on prompts, add --use-npm (or --use-pnpm/--use-yarn) to skip the package manager prompt.
Step 2: Verify Project Structure
my-app/
├── src/
│ ├── app/
│ │ ├── layout.tsx # Root layout
│ │ ├── page.tsx # Home page
│ │ ├── globals.css # Global styles
│ │ └── favicon.ico
│ └── lib/ # Shared utilities (create manually)
├── public/ # Static assets
├── next.config.ts # Next.js configuration
├── tailwind.config.ts # Tailwind configuration
├── tsconfig.json # TypeScript configuration
├── package.json
└── .eslintrc.json
Got: All listed directories and files present.
If fail: If src/ is missing, the --src-dir flag was not passed. Re-run create-next-app with the flag, or move files into src/app/ manually.
Step 3: Configure Next.js
Edit next.config.ts:
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Enable React strict mode
reactStrictMode: true,
// Image optimization domains
images: {
remotePatterns: [
{
protocol: "https",
hostname: "example.com",
},
],
},
};
export default nextConfig;
Got: next.config.ts saved without TypeScript errors.
If fail: If file uses .js instead of .ts, rename it. Ensure NextConfig type is imported from "next".
Step 4: Set Up Directory Conventions
Create common directories:
mkdir -p src/app/api
mkdir -p src/components
mkdir -p src/lib
mkdir -p src/types
Got: All four directories created under src/.
If fail: If src/ does not exist, create it first or adjust paths to match the project structure (non-src layout uses app/ at the root).
Step 5: Create Base Layout
Edit src/app/layout.tsx:
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "My Application",
description: "Application description",
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body className={inter.className}>{children}</body>
</html>
);
}
Got: Layout renders with the Inter font and wraps all pages.
If fail: If font fails to load, check network access. Replace Inter with a system font fallback as a temporary workaround.
Step 6: Add Example API Route
Create src/app/api/health/route.ts:
import { NextResponse } from "next/server";
export async function GET() {
return NextResponse.json({ status: "ok", timestamp: new Date().toISOString() });
}
Got: File created at src/app/api/health/route.ts.
If fail: Ensure the api/health/ directory exists. The file must export named HTTP method handlers (GET, POST, etc.), not a default export.
Step 7: Run Development Server
cd my-app
npm run dev
Got: Application running at http://localhost:3000.
If fail: Check Node.js version (>= 18.17). Run npm install if dependencies missing.
Validation
-
npm run devstarts without errors - Home page loads at localhost:3000
- TypeScript compilation succeeds
- Tailwind CSS classes applied
- API route responds at /api/health
- ESLint runs without errors (
npm run lint)
Pitfalls
- Node.js version: Next.js requires Node.js >= 18.17. Check with
node --version. - Port conflicts: Default port 3000 may be in use. Use
npm run dev -- -p 3001. - Import alias confusion:
@/*maps tosrc/*. Don't confuse with node_modules imports. - Pages vs App Router: Ensure App Router (
src/app/), not Pages Router (src/pages/).
Related Skills
setup-tailwind-typescript- detailed Tailwind and TypeScript configurationdeploy-to-vercel- deploy the scaffolded appconfigure-git-repository- version control setup
GitHub 仓库
Frequently asked questions
What is the scaffold-nextjs-app skill?
scaffold-nextjs-app is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform scaffold-nextjs-app-related tasks without extra prompting.
How do I install scaffold-nextjs-app?
Use the install commands on this page: add scaffold-nextjs-app to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does scaffold-nextjs-app belong to?
scaffold-nextjs-app is in the Meta category, tagged react and api.
Is scaffold-nextjs-app free to use?
Yes. scaffold-nextjs-app is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
