augmnt/webdev-skills

organizing-project-files

Provides file organization conventions for React and Next.js projects.

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Organizing Project Files

Colocate by feature when possible. Group by type only for truly shared code.

Standard Layout

src/
├── app/                    # Next.js App Router (or pages/)
├── components/
│   ├── ui/                 # Reusable primitives (Button, Modal)
│   └── [feature]/          # Feature-specific (auth/, dashboard/)
├── hooks/                  # Custom React hooks
├── lib/                    # Core utilities, clients, constants
├── services/               # API calls, external integrations
├── stores/                 # State management
└── types/                  # TypeScript definitions

Placement Quick Reference

"I need..."Location
A buttoncomponents/ui/Button.tsx
A login formcomponents/auth/LoginForm.tsx
User data fetchingservices/user.ts or hooks/queries/useUser.ts
Date formatterlib/utils.ts
Auth statestores/auth.ts
Supabase typestypes/supabase.ts (generated)
Custom typetypes/index.ts or colocate

Naming

  • Components: PascalCase.tsx
  • Hooks: useCamelCase.ts
  • Utilities: camelCase.ts
  • Types: camelCase.ts

Colocation Pattern

For complex features, keep related files together:

components/auth/
├── LoginForm.tsx
├── LoginForm.test.tsx
├── useLoginForm.ts
└── login-schema.ts

Advanced Patterns

For App Router specifics, barrel files, and monorepo structures, see PATTERNS.md.

来自同一仓库

更多 Skills

全部 Skills