coding-guidelines

Guidelines for React/Next.js development focusing on testability, Server Components, and proper architecture. Each guideline file contains principles, code examples, and anti-patterns to avoid.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "coding-guidelines" with this command: npx skills add imaimai17468/imaimai-front-templete/imaimai17468-imaimai-front-templete-coding-guidelines

Coding Guidelines

Guidelines for React/Next.js development focusing on testability, Server Components, and proper architecture. Each guideline file contains principles, code examples, and anti-patterns to avoid.

Quick Reference

  • Server Components & Data Fetching → server-components.md

  • Testability & Props Control → testability.md

  • useEffect Guidelines & Dependencies → useeffect-guidelines.md

  • Architecture & Patterns → architecture.md

  • Test Guidelines (Vitest/RTL) → test-guidelines.md

  • Storybook Guidelines → storybook-guidelines.md

When to Use What

Server Components

When: Writing server-side data fetching or async components Read: server-components.md

Key topics:

  • Server Component Pattern (async/await, Suspense)

  • Promise Handling (.then().catch() vs try-catch)

  • When NOT to use "use client"

Testability

When: Writing "use client" components, useEffect, or event handlers Read: testability.md

Key topics:

  • Props Control (all states controllable via props)

  • Closure Variable Dependencies (extract to pure functions)

  • Conditional Branch Extraction (JSX → components, useEffect → pure functions)

useEffect Guidelines & Dependencies

When: Deciding whether to use useEffect, managing dependencies, or avoiding unnecessary re-renders Read: useeffect-guidelines.md

Key topics:

  • When you DON'T need useEffect (data transformation, expensive calculations)

  • When you DO need useEffect (external system synchronization)

  • Event handlers vs Effects decision framework

  • Data fetching patterns and race conditions

  • Separating reactive and non-reactive logic

  • Managing dependencies (updater functions, useEffectEvent, avoiding objects/functions)

  • Reactive values and dependency array rules

  • Never suppress the exhaustive-deps linter

Architecture

When: Creating files, functions, or organizing code structure Read: architecture.md

Key topics:

  • Directory Structure (component collocation, naming)

  • Entity/Gateway Pattern (data types and fetching)

  • Function Extraction (action-based design)

  • Presenter Pattern (conditional text)

Test Guidelines

When: Creating or updating test code during Phase 2 (Testing & Stories) Read: test-guidelines.md

Key topics:

  • AAA Pattern (Arrange-Act-Assert)

  • Test Structure (describe/test descriptions in Japanese)

  • Coverage Standards (branch coverage, exception paths)

  • React Testing Library best practices

  • Snapshot testing guidelines

Storybook Guidelines

When: Creating Storybook stories for components with conditional rendering during Phase 2 (Testing & Stories) Read: storybook-guidelines.md

Key topics:

  • Story Creation Rules (conditional branching focus)

  • Meta Configuration (minimal setup)

  • Event Handlers (fn() usage)

  • Anti-patterns to avoid

Core Principles

  • Server Component First: Default to Server Components, use "use client" only when necessary

  • Props Control Everything: All UI states must be controllable via props for testability

  • Pure Functions: Extract all conditional logic from useEffect/handlers

  • No Closure Dependencies: Pass all variables as function arguments

  • Entity/Gateway Pattern: Separate data types (entity) from fetching logic (gateway)

  • Collocate Functions: Place function files at same level as components, no utils/ directories

Quick Decision Tree

Are you writing a component? ├─ Does it need interactivity? (onClick, useState, useEffect) │ ├─ YES → "use client" required │ │ ├─ Using useEffect? │ │ │ └─ Read: useeffect-guidelines.md (Do you really need it? + Managing dependencies) │ │ └─ Read: testability.md │ └─ NO → Server Component (default) │ └─ Read: server-components.md │ ├─ Does it fetch data? │ └─ Read: server-components.md + architecture.md (Entity/Gateway) │ ├─ Are you organizing files/functions? │ └─ Read: architecture.md (Directory Structure) │ ├─ Are you writing tests? │ └─ Read: test-guidelines.md (AAA Pattern, Coverage, RTL) │ └─ Are you creating Storybook stories? └─ Read: storybook-guidelines.md (Conditional Branching, Story Structure)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

design-guidelines

No summary provided by upstream source.

Repository SourceNeeds Review
General

commit

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

coding-guidelines

No summary provided by upstream source.

Repository SourceNeeds Review
General

coding-guidelines

No summary provided by upstream source.

Repository SourceNeeds Review