Skip to main content
reopt Handbook
reopt Handbook
Enterprise Project Architecture

Monorepo Foundation

Monorepo ArchitectureWorkspace DesignShared PackagesTurbo Pipeline

Apps and Delivery

Next.js PatternsVercel DeploymentCI/CD PipelineTesting Strategy

Agents and Operations

Agentic DevelopmentSkills EcosystemSecurity GovernanceMonitoring and Incident

Appendix

TemplatesReferencesUpdatesVerification
Handbook›Enterprise Project Architecture›Workspace Design
한국어English

Workspace Design

Define a repository layout and naming system that stays understandable as the project grows.

Key takeaways

  • Workspace design is the daily map for developers; good structure cuts onboarding time, prevents accidental coupling, and helps automation understand what changed.
  • A suggested layout separates apps/, packages/, tooling/ or scripts/, docs/, and a CI directory by role.
  • Name apps by product or runtime responsibility and packages by capability, avoiding generic names like common, shared, or utils unless scope is very clear.
  • Review workspaces for discoverability, predictable dependency direction, clear ownership, affected-only build scope, and documented local commands.
  • Treat structural changes as architecture changes, since moving a package or renaming an app affects CI, imports, ownership, and developer habits.

Workspace design is the map developers use every day. Good structure reduces onboarding time, prevents accidental coupling, and helps automation understand what changed.

Suggested Layout

PathRole
apps/Deployable applications and services
packages/Shared libraries and internal packages
tooling/ or scripts/Repository automation
docs/Architecture records and operating docs
.github/ or CI directoryWorkflow definitions

Naming Rules

  • App names should describe product or runtime responsibility.
  • Package names should describe capability, not implementation detail.
  • Avoid generic names such as common, shared, or utils unless scope is very clear.
  • Use consistent package prefixes for internal ownership and publishing policy.
  • Keep route names, package names, and dashboard names aligned where possible.

Workspace Review

CheckPass condition
DiscoverabilityA new engineer can find the right app or package quickly
Dependency directionApps consume packages in a predictable direction
OwnershipEach workspace has a maintainer
Build scopeTasks can run only for affected workspaces
DocumentationEach major workspace explains purpose and local commands

Change Policy

Structural changes should be reviewed as architecture changes. Moving a package, renaming an app, or changing dependency direction affects CI, imports, ownership, and developer habits.

Related docs

Shared Packages

Govern reusable packages for UI, contracts, configuration, and domain logic.

Monorepo Architecture

Design monorepo boundaries for apps, packages, tooling, and teams.

Cmd. /apps

Codex Command Master · Browse apps and connectors, then insert app mentions into the prompt.

Cmd. /app

Codex Command Master · Continue the current CLI session in the ChatGPT desktop app on macOS and Windows.

Monorepo Architecture

Design monorepo boundaries for apps, packages, tooling, and teams.

Shared Packages

Govern reusable packages for UI, contracts, configuration, and domain logic.

On this page

Suggested LayoutNaming RulesWorkspace ReviewChange Policy