Skip to content

Establish Monorepo Foundation & Shared Types Architecture #177

@Luna-Salamanca

Description

@Luna-Salamanca

Service / Component

Infrastructure / services/shared

Functional Area

Developer Experience / Type Safety

Problem

Without a centralized type registry, services across the monorepo are prone to "type drift" where interfaces for shared APIs (Discord, GitHub) or common UI patterns become out of sync. This increases the risk of runtime errors and violates our Layer 1 (Build Validation) strategy, which requires a unified foundation to catch errors at compile-time.

Proposed Solution

  • Establish a services/shared/types (@naur/types) workspace.
  • Integrate shared packages into the root package.json workspaces.
  • Configure tsconfig.json path mapping (@shared/types) for all services.
  • Centralize core domain types (Discord, GitHub, React Common).
  • Update service-level imports to pull from the shared hub.

Priority

High

Impact

High (Structural Foundation)

Metadata

Metadata

Labels

DevexDeveloper experience, local setup, and tooling improvementsGlobalChanges affecting the entire monorepo or multiple servicesImpact: HighSignificant user impact; immediate attention recommendedInfrastructureCI/CD pipelines, cloud resources, Docker, or hostingPriority: HighUrgent focus required; blocks progress or major bugsTypeScript MigrationTasks for converting JavaScript code to TypeScript

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions