Skip to content

Monorepo structure #184

Description

@mwarman

Describe the task

Update the project structure to a more traditional monorepo structure utilizing npm workspaces. Workspaces should include:

  • packages/shared - shared types, components (including shadcn), hooks, and utilities
  • packages/infra - AWS CDK infrastructure
  • packages/web - the React web application, sources common modules from the shared package

Common npm dependencies and scripts should be lifted to the root package.json. Package-specific dependencies and scripts should remain in the package-specific files.

A base tsconfig.json should be created at the project root. Packages should extend the base tsconfig.json file.

All packages should use Vitest. A base Vitest configuration file should be created at the project root. Packages should extend the base Vitest configuration file as needed, for example web packages may need specific configuration for web testing frameworks.

The AGENTS.md agentic coding instructions should be updated to include monorepo specific guidance.

After completing all code changes, review and update the main project README.md and the documentation in docs/ to ensure they accurately reflect the changes to support the monorepo structure. Consider creating a docs/MONOREPO.md, Monorepo Guide, document which describes the specific nuances of the monorepo configuration such as: npm and package.json, TypeScript Configuration, and Vitest Configuration.

Additional context

Add any other context about the task here.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions