
File Organization
- 2 installs
- 404 repo stars
- Updated August 5, 2026
- aiskillstore/marketplace
file-organization is a Claude skill that structures project files, folders, and naming conventions for maintainability and scalability.
About
This skill organizes project files and folders for maintainability and scalability. It provides concrete React/Next.js, Node/Express, and feature-based directory structures, naming conventions, barrel-file guidance, and rules like a maximum folder depth. A developer uses it when structuring a new project, refactoring folder structure, or establishing team conventions.
- Structures project files and folders for maintainability and scalability
- Ships React/Next.js, Node/Express, and feature-based directory layouts
- Defines naming conventions, barrel files, and depth limits
File Organization by the numbers
- 2 all-time installs (skills.sh)
- Ranked #2,419 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
file-organization capabilities & compatibility
Free; no API keys required.
- Capabilities
- project structure · naming conventions · folder refactoring
- Runs
- Runs locally
- Pricing
- Free
What file-organization says it does
Organize project files and folders for maintainability and scalability.
**Max Depth**: Recommend 5 levels or fewer
npx skills add https://github.com/aiskillstore/marketplace --skill file-organizationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 404 |
| Last updated | August 5, 2026 |
| Repository | aiskillstore/marketplace ↗ |
What it does
Structure project files, folders, and naming conventions for maintainability and scalability.
When should I use this skill?
When structuring new projects, refactoring folder structure, or establishing team conventions.
What you get
A project directory layout with naming rules and structure conventions.
- a project directory template
- naming convention rules
By the numbers
- 5 setup steps
- recommends max 5 folder levels
- 3 project structure templates (React/Next, Node/Express, feature-based)
Files
Project File Organization
When to use this skill
- New Projects: Initial folder structure design
- Project Growth: Refactoring when complexity increases
- Team Standardization: Establish consistent structure
Instructions
Step 1: React/Next.js Project Structure
src/
├── app/ # Next.js 13+ App Router
│ ├── (auth)/ # Route groups
│ │ ├── login/
│ │ └── signup/
│ ├── (dashboard)/
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── settings/
│ ├── api/ # API routes
│ │ ├── auth/
│ │ └── users/
│ └── layout.tsx
│
├── components/ # UI Components
│ ├── ui/ # Reusable UI (Button, Input)
│ │ ├── Button/
│ │ │ ├── Button.tsx
│ │ │ ├── Button.test.tsx
│ │ │ └── index.ts
│ │ └── Input/
│ ├── layout/ # Layout components (Header, Footer)
│ ├── features/ # Feature-specific components
│ │ ├── auth/
│ │ └── dashboard/
│ └── shared/ # Shared across features
│
├── lib/ # Utilities & helpers
│ ├── utils.ts
│ ├── hooks/
│ │ ├── useAuth.ts
│ │ └── useLocalStorage.ts
│ └── api/
│ └── client.ts
│
├── store/ # State management
│ ├── slices/
│ │ ├── authSlice.ts
│ │ └── userSlice.ts
│ └── index.ts
│
├── types/ # TypeScript types
│ ├── api.ts
│ ├── models.ts
│ └── index.ts
│
├── config/ # Configuration
│ ├── env.ts
│ └── constants.ts
│
└── styles/ # Global styles
├── globals.css
└── theme.tsStep 2: Node.js/Express Backend Structure
src/
├── api/ # API layer
│ ├── routes/
│ │ ├── auth.routes.ts
│ │ ├── user.routes.ts
│ │ └── index.ts
│ ├── controllers/
│ │ ├── auth.controller.ts
│ │ └── user.controller.ts
│ └── middlewares/
│ ├── auth.middleware.ts
│ ├── errorHandler.ts
│ └── validation.ts
│
├── services/ # Business logic
│ ├── auth.service.ts
│ ├── user.service.ts
│ └── email.service.ts
│
├── repositories/ # Data access layer
│ ├── user.repository.ts
│ └── session.repository.ts
│
├── models/ # Database models
│ ├── User.ts
│ └── Session.ts
│
├── database/ # Database setup
│ ├── connection.ts
│ ├── migrations/
│ └── seeds/
│
├── utils/ # Utilities
│ ├── logger.ts
│ ├── crypto.ts
│ └── validators.ts
│
├── config/ # Configuration
│ ├── index.ts
│ ├── database.ts
│ └── env.ts
│
├── types/ # TypeScript types
│ ├── express.d.ts
│ └── models.ts
│
├── __tests__/ # Tests
│ ├── unit/
│ ├── integration/
│ └── e2e/
│
└── index.ts # Entry pointStep 3: Feature-Based Structure (Large-Scale Apps)
src/
├── features/
│ ├── auth/
│ │ ├── components/
│ │ │ ├── LoginForm.tsx
│ │ │ └── SignupForm.tsx
│ │ ├── hooks/
│ │ │ └── useAuth.ts
│ │ ├── api/
│ │ │ └── authApi.ts
│ │ ├── store/
│ │ │ └── authSlice.ts
│ │ ├── types/
│ │ │ └── auth.types.ts
│ │ └── index.ts
│ │
│ ├── products/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── api/
│ │ └── types/
│ │
│ └── orders/
│
├── shared/ # Shared across features
│ ├── components/
│ ├── hooks/
│ ├── utils/
│ └── types/
│
└── core/ # App-wide
├── store/
├── router/
└── config/Step 4: Naming Conventions
File Names:
Components: PascalCase.tsx
Hooks: camelCase.ts (useAuth.ts)
Utils: camelCase.ts (formatDate.ts)
Constants: UPPER_SNAKE_CASE.ts (API_ENDPOINTS.ts)
Types: camelCase.types.ts (user.types.ts)
Tests: *.test.ts, *.spec.tsFolder Names:
kebab-case: user-profile/
camelCase: userProfile/ (optional: hooks/, utils/)
PascalCase: UserProfile/ (optional: components/)
✅ Consistency is key (entire team uses the same rules)Variable/Function Names:
// Components: PascalCase
const UserProfile = () => {};
// Functions: camelCase
function getUserById() {}
// Constants: UPPER_SNAKE_CASE
const API_BASE_URL = 'https://api.example.com';
// Private: _prefix (optional)
class User {
private _id: string;
private _hashPassword() {}
}
// Booleans: is/has/can prefix
const isAuthenticated = true;
const hasPermission = false;
const canEdit = true;Step 5: index.ts Barrel Files
components/ui/index.ts:
// ✅ Good example: Re-export named exports
export { Button } from './Button/Button';
export { Input } from './Input/Input';
export { Modal } from './Modal/Modal';
// Usage:
import { Button, Input } from '@/components/ui';❌ Bad example:
// Re-export everything (impairs tree-shaking)
export * from './Button';
export * from './Input';Output format
Project Template
my-app/
├── .github/
│ └── workflows/
├── public/
├── src/
│ ├── app/
│ ├── components/
│ ├── lib/
│ ├── types/
│ └── config/
├── tests/
├── docs/
├── scripts/
├── .env.example
├── .gitignore
├── .eslintrc.json
├── .prettierrc
├── tsconfig.json
├── package.json
└── README.mdConstraints
Required Rules (MUST)
1. Consistency: Entire team uses the same rules 2. Clear Folder Names: Roles must be explicit 3. Max Depth: Recommend 5 levels or fewer
Prohibited (MUST NOT)
1. Excessive Nesting: Avoid 7+ levels of folder depth 2. Vague Names: Avoid utils2/, helpers/, misc/ 3. Circular Dependencies: Prohibit A → B → A references
Best practices
1. Colocation: Keep related files close (component + styles + tests) 2. Feature-Based: Modularize by feature 3. Path Aliases: Simplify imports with @/
tsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"@/components/*": ["./src/components/*"],
"@/lib/*": ["./src/lib/*"]
}
}
}Usage:
// ❌ Bad example
import { Button } from '../../../components/ui/Button';
// ✅ Good example
import { Button } from '@/components/ui';References
Metadata
Version
- Current Version: 1.0.0
- Last Updated: 2025-01-01
- Compatible Platforms: Claude, ChatGPT, Gemini
Tags
#file-organization #project-structure #folder-structure #naming-conventions #utilities
Examples
Example 1: Basic usage
<!-- Add example content here -->
Example 2: Advanced usage
<!-- Add advanced example content here -->
{
"schema_version": "2.0",
"meta": {
"generated_at": "2026-03-10T08:19:52.784Z",
"slug": "supercent-io-file-organization",
"source_url": "https://github.com/supercent-io/skills-template/tree/main/.agent-skills/file-organization/",
"source_ref": "main",
"model": "claude",
"analysis_version": "3.0.0",
"source_type": "community",
"content_hash": "817cca32d46174e9097aee9130d7f1b2e0f0ec866bb6460234931db0e507a227",
"tree_hash": "30894a8e8d67c0ebecb57f20824f9b21956b5e1688a675e619fe4b8c9058875d"
},
"skill": {
"name": "file-organization",
"description": "Organize project files and folders for maintainability and scalability. Use when structuring new projects, refactoring folder structure, or establishing conventions. Handles project structure, naming conventions, and file organization best practices.",
"summary": "Organize project files and folders for maintainability and scalability",
"icon": "📦",
"version": "1.0.0",
"author": "supercent-io",
"license": "MIT",
"category": "coding",
"tags": [
"file-organization",
"project-structure",
"folder-structure",
"naming-conventions"
],
"supported_tools": [
"claude",
"codex",
"claude-code"
],
"risk_factors": []
},
"security_audit": {
"risk_level": "safe",
"is_blocked": false,
"safe_to_publish": true,
"summary": "All 43 static analysis findings are false positives. The skill is purely educational documentation containing markdown code examples showing file structure patterns, naming conventions, and best practices. No executable code, command injection, or malicious behavior detected. Code blocks marked as Ruby/shell execution are documentation examples. URLs and file paths are reference links and template structures, not actual code execution.",
"risk_factor_evidence": [],
"critical_findings": [],
"high_findings": [],
"medium_findings": [],
"low_findings": [],
"dangerous_patterns": [],
"files_scanned": 2,
"total_lines": 348,
"audit_model": "claude",
"audited_at": "2026-03-10T08:19:52.784Z",
"risk_factors": []
},
"content": {
"user_title": "Organize Your Project Files Like a Pro",
"value_statement": "Chaotic folder structures slow down development and confuse team members. This skill provides proven patterns for organizing files in React, Node.js, and feature-based projects that scale with your codebase.",
"seo_keywords": [
"Claude",
"Codex",
"Claude Code",
"file organization",
"project structure",
"folder structure",
"naming conventions",
"React folder structure",
"Node.js project structure",
"feature-based architecture"
],
"actual_capabilities": [
"Generate React and Next.js project folder structures with App Router patterns",
"Create Node.js and Express backend organization with layered architecture",
"Design feature-based structures for large-scale applications",
"Define consistent naming conventions for files, folders, and variables",
"Configure TypeScript path aliases to simplify import statements",
"Create barrel files for cleaner imports with named exports"
],
"limitations": [
"Does not automatically refactor existing project structures",
"Cannot enforce naming conventions across team members automatically",
"Requires manual implementation of suggested folder structures",
"TypeScript path aliases need manual configuration in tsconfig.json"
],
"use_cases": [
{
"title": "Starting a New React Project",
"description": "Quickly establish a scalable folder structure for a new React or Next.js application with proper separation of components, hooks, utilities, and configuration files.",
"target_user": "Frontend Developer starting a new application"
},
{
"title": "Restructuring a Growing Codebase",
"description": "Refactor a disorganized project that has become difficult to navigate by implementing feature-based organization and consistent naming patterns.",
"target_user": "Senior Developer improving code maintainability"
},
{
"title": "Standardizing Team Conventions",
"description": "Establish and document file organization standards that all team members follow, reducing confusion and onboarding time for new developers.",
"target_user": "Tech Lead defining team standards"
}
],
"prompt_templates": [
{
"title": "Basic React Structure",
"prompt": "Create a folder structure for a new React project with components, hooks, utilities, and API client setup.",
"scenario": "Starting a new React application from scratch"
},
{
"title": "Next.js App Router",
"prompt": "Generate a Next.js 13+ project structure using App Router with route groups for authentication and dashboard sections.",
"scenario": "Building a Next.js application with authenticated routes"
},
{
"title": "Node.js Backend API",
"prompt": "Design a Node.js and Express backend structure with proper separation of routes, controllers, services, repositories, and middleware.",
"scenario": "Creating a scalable backend API with layered architecture"
},
{
"title": "Feature-Based Migration",
"prompt": "Convert my existing component-based project structure to a feature-based organization with self-contained modules for auth, products, and orders features.",
"scenario": "Refactoring a large application for better scalability"
}
],
"output_examples": [
{
"input": "Create a structure for a React e-commerce app",
"output": [
"src/",
"├── app/",
"│ ├── layout.tsx",
"│ └── page.tsx",
"├── components/",
"│ ├── ui/",
"│ │ ├── Button/",
"│ │ └── Input/",
"│ └── features/",
"│ ├── products/",
"│ └── cart/",
"├── lib/",
"│ ├── api/",
"│ └── hooks/",
"├── store/",
"├── types/",
"└── config/"
]
},
{
"input": "Show naming conventions for TypeScript files",
"output": [
"Components: UserProfile.tsx (PascalCase)",
"Hooks: useAuth.ts (camelCase with 'use' prefix)",
"Utils: formatDate.ts (camelCase)",
"Constants: API_ENDPOINTS.ts (UPPER_SNAKE_CASE)",
"Types: user.types.ts (camelCase.types.ts)",
"Tests: UserProfile.test.ts (*.test.ts)"
]
}
],
"best_practices": [
"Keep related files together through colocation: place component tests, styles, and types in the same folder as the component",
"Use feature-based organization for large applications instead of grouping by file type (components/, hooks/, utils/)",
"Configure TypeScript path aliases to replace relative imports like '../../../components/ui/Button' with '@/components/ui/Button'"
],
"anti_patterns": [
"Creating vague folder names like utils/, helpers/, misc/, or common/ that collect unrelated code",
"Nesting folders deeper than 5-7 levels which makes navigation and imports difficult",
"Using export * from './module' in barrel files which impairs tree-shaking and makes debugging harder"
],
"faq": [
{
"question": "Should I organize by file type or by feature?",
"answer": "Use feature-based organization for large applications with multiple domains (auth, products, orders). Organize by file type (components/, hooks/) for smaller projects or shared UI elements. Combine both approaches: features/ for domain-specific code and shared/ for reusable utilities."
},
{
"question": "What is the maximum folder depth I should use?",
"answer": "Keep folder depth to 5 levels or fewer. Excessive nesting makes imports complex and navigation difficult. If you exceed 7 levels, consider flattening your structure or using feature-based modules to reduce depth."
},
{
"question": "How do I handle shared code between features?",
"answer": "Create a shared/ directory at the root level for cross-feature utilities, components, hooks, and types. Each feature can import from shared/ while maintaining its own internal structure. Keep shared/ minimal and well-documented."
},
{
"question": "Should I use barrel files (index.ts) for exports?",
"answer": "Use named exports in barrel files (export { Button } from './Button') instead of re-exporting everything (export * from './Button'). Named exports support tree-shaking, improve IDE autocomplete, and make dependencies explicit."
},
{
"question": "How do I choose between kebab-case, camelCase, and PascalCase for folders?",
"answer": "Consistency matters most than the specific convention. Use kebab-case (user-profile/) for general folders, camelCase (hooks/, utils/) for utility directories, and PascalCase (components/) for React component folders. Choose one style and enforce it across your team."
},
{
"question": "Can this skill automatically reorganize my existing project?",
"answer": "No, this skill provides guidance and templates for file organization. You must manually implement the suggested structures or use the patterns as reference when refactoring. The skill can generate targeted commands for specific reorganization tasks."
}
]
},
"file_structure": [
{
"name": "SKILL.md",
"type": "file",
"path": "SKILL.md",
"lines": 334
},
{
"name": "SKILL.toon",
"type": "file",
"path": "SKILL.toon",
"lines": 14
}
]
}
N:file-organization
D:Organize project files and folders for maintainability and scalability. Use when structuring new ...
G:file-organization project-structure folder-structure naming-conventions
U[3]:
**New Projects**: Initial folder structure design
**Project Growth**: Refactoring when complexity increases
**Team Standardization**: Establish consistent structure
S[5]{n,action}:
1,React/Next.js Project Structure
2,Node.js/Express Backend Structure
3,Feature-Based Structure (Large-Scale Apps)
4,Naming Conventions
5,index.ts Barrel Files
Related skills
FAQ
What folder depth is recommended?
Five levels or fewer; avoid seven or more levels of nesting.
How should barrel files be written?
Re-export named exports rather than 'export *', which impairs tree-shaking.