ADR-001 Repository Structure
Status: Accepted
Date: June 2026
Context
Rundown requires a standard repository structure for all client projects.
Two approaches were considered:
-
Single Application Repository
-
Monorepo
The chosen structure should balance simplicity, maintainability, and future scalability while remaining appropriate for the types of projects developed by the agency.
Decision
Rundown will use a Single Application Repository for all client projects.
Each project will contain a single Next.js application together with its associated Payload CMS configuration, configuration files, documentation, and deployment assets.
Reasoning
The majority of Rundown projects consist of:
-
Marketing websites
-
Corporate websites
-
Portfolio websites
-
Ecommerce websites
-
Interactive experiences
These projects do not require multiple deployable applications or shared internal packages.
A single repository provides:
-
Simpler project setup
-
Easier onboarding
-
Faster development
-
Reduced maintenance
-
Lower cognitive overhead
This approach aligns with Rundown's engineering principle of preferring simplicity unless additional complexity provides measurable value.
Alternatives Considered
Monorepo
A monorepo offers advantages for organizations maintaining multiple applications and shared packages.
Potential benefits include:
-
Shared component libraries
-
Shared utility packages
-
Shared configuration
-
Multiple deployable applications
However, these benefits do not currently justify the additional tooling and maintenance required.
Consequences
Positive
-
Faster project initialization
-
Simpler repository structure
-
Easier Git workflow
-
Lower maintenance overhead
-
Better suited to current team size
Negative
-
Shared code between projects must be copied or extracted manually.
-
Future migration to a monorepo may be required if Rundown develops multiple internal products.
Review Criteria
This decision should be reviewed if any of the following occur:
-
Rundown maintains multiple production applications simultaneously.
-
The Starter Kit evolves into multiple shared packages.
-
The engineering team grows significantly.
-
Cross-project code sharing becomes difficult to manage.
Until then, the Single Application Repository remains the official standard.