Scalable project structure using Feature-Sliced Design (FSD).
Adopt Feature-Sliced Design (FSD) for scalable applications. Warning: FSD introduces boilerplate. Use it only if the project is expected to grow significantly (e.g., 20+ features). For smaller projects, a simple module-based structure is preferred.
app/ directory (App Router) is only for Routing.
page.tsx should only import Widgets/Features. No business logic (useEffect, fetch) directly in pages.src/components/LoginForm.tsx, src/hooks/useLogin.tssrc/features/auth/login/ containing both.App -> Widgets -> Features -> Entities -> Shared.Features or Pages. Move to Entities only when data/logic is strictly reused across multiple differing features.shared/api, not entities.ui (Components), model (State/actions), api (Data fetching), lib (Helpers), config (Constants).components, hooks, services as segment names.For the specific directory layout and layer definitions, see the reference documentation.
model/ folder of a Feature (e.g., features/auth/model/actions.ts).model/ folder of an Entity (e.g., entities/user/model/dal.ts).shared/ui. Feature-specific UI belongs in features/*/ui.npx skills add ngxtm/Next.js Architecture (FSD)下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer