structure

Design type-based or feature-based folder layouts for TypeScript/React projects.

Updated Apr 16, 2026
One-click install
npx skills add https://github.com/jjmendezrodriguez/jm-claude-plugin --skill structure-jjmendezrodriguez
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: structure
Source: https://github.com/jjmendezrodriguez/jm-claude-plugin/tree/main/skills/structure
Command: npx skills add https://github.com/jjmendezrodriguez/jm-claude-plugin --skill structure-jjmendezrodriguez

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents a growing TypeScript/React project from becoming hard to navigate by enforcing consistent, scalable folder structure and import boundaries.

Core Features & Use Cases

  • Type-based vs feature-based organization: Choose the right structure based on project size and team concurrency.
  • Import rules and module boundaries: Enforce alias-first imports and restrict cross-feature/internal coupling via feature public APIs.
  • Practical migration and conventions: Provide step-by-step guidance to migrate from type-based to feature-based organization without big-bang refactors.

Quick Start

Create a scalable folder structure for a new React + TypeScript codebase with path aliases and feature boundaries, keeping tests aligned with source structure.

Frequently Asked Questions about structure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I organize a growing TypeScript React project structure?

Organize a growing TypeScript React project by selecting a type-based or feature-based folder layout to enforce consistent file organization and import boundaries. This approach keeps the codebase maintainable and easy to navigate as application size increases.

What is the best way to structure a React codebase for team concurrency?

The best way to structure a React codebase for team concurrency is adopting a feature-based architecture. This layout groups code by feature, defines module boundaries, and restricts cross-feature coupling through public APIs, allowing multiple teams to work simultaneously without conflicts.

How do I migrate a React project from type-based to feature-based organization?

Migrate a React project from type-based to feature-based organization by following step-by-step guidance that avoids big-bang refactors. The process involves gradually moving files, defining public APIs, and establishing path aliases to enforce new module boundaries safely.

How do I enforce import rules and module boundaries in a TypeScript codebase?

Enforce import rules and module boundaries in a TypeScript codebase by applying alias-first imports and restricting cross-feature internal coupling. Defining feature public APIs specifies exactly what can be imported externally, preventing unauthorized access to internal modules.

When should I choose feature-based architecture over type-based layout?

Choose feature-based architecture over type-based layout when a TypeScript React project grows large and requires high team concurrency. Type-based organization suits smaller projects, while feature-based structures scale better by isolating modules and defining clear public APIs.

Do I need path aliases to maintain file organization in a React project?

Path aliases are needed to maintain file organization in a React project because they support alias-first import rules. Defining alias strategies during architectural refactors prevents deep relative import paths and enforces strict module boundaries across the codebase.