>_reporules.devView Repository Files
Repository Architecture Patterns

Architecture patterns
for AI-assisted repositories

Reusable architecture systems designed to keep AI-generated repositories scalable and maintainable.

18 patterns6 categoriesUpdated 3 days ago
Maintained by RepoRules · Last updated 3 days ago

Feature-Based Structure

Description

Group files by feature instead of technical role.

Constraints
  • - avoid duplicated hooks
  • - preserve feature boundaries
  • - keep business logic isolated
Common Failure

oversized shared utility folders

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Server Components First

Description

Prefer server components unless interactivity is required.

Constraints
  • - fetch on server
  • - avoid client waterfalls
  • - preserve async boundaries
Common Failure

mixed client/server logic

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Shared Validation Layer

Description

Centralize reusable validation schemas.

Constraints
  • - reuse schemas
  • - avoid inline validation
  • - preserve typing consistency
Common Failure

duplicated zod validators

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Server-First Data Fetching

Description

Move all data fetching to the server layer.

Constraints
  • - fetch on server
  • - avoid client hydration overhead
  • - stream when possible
Common Failure

mixed server and client fetching patterns

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Shared UI Primitives

Description

Keep all reusable UI in /components/ui. Business UI in features.

Constraints
  • - reuse primitives
  • - avoid inline styles
  • - keep spacing consistent
Common Failure

inconsistent UI patterns across different features

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Small PR Workflow

Description

Keep PRs isolated and incremental.

Constraints
  • - under 300 LOC
  • - single responsibility
  • - preserve architecture consistency
Common Failure

mixed feature concerns inside one PR

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

AI Testing Standards

Description

Require loading, error, empty and accessibility checks on every generated feature.

Constraints
  • - test behavior not implementation
  • - avoid excessive mocking
  • - prefer integration tests
Common Failure

tests passing but production flows broken

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Monorepo Package Structure

Description

Keep package boundaries explicit.

Constraints
  • - avoid circular imports
  • - isolate shared packages
  • - preserve dependency direction
Common Failure

shared UI package importing business logic

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Maintained by RepoRules · Last updated 3 days ago

Incremental Migration Pattern

Description

Document legacy areas explicitly so AI avoids adding to them.

Constraints
  • - prevent AI from adding to legacy code
  • - document deprecated patterns
  • - maintain migration timeline
Common Failure

new features built on deprecated patterns

Migration Notes

Old dashboard modules still depend on legacy validation patterns.

Repository Files
rules.md
memory.md
architecture.md
migration-notes.md
pnpm-workspace.yaml
turbo.json
Pattern Incident Log
2026-05-08
- duplicated dashboard hooks introduced during billing migration

2026-05-04
- analytics module bypassed validation layer

2026-04-27
- oversized shared utility folders exceeded architecture boundaries
Engineering Constraints
- avoid large rewrites
- preserve migration consistency
- reduce architectural drift
- isolate business logic
- avoid duplicated validation