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.
Describe the task
Update the project structure to a more traditional monorepo structure utilizing
npmworkspaces. Workspaces should include:packages/shared- shared types, components (including shadcn), hooks, and utilitiespackages/infra- AWS CDK infrastructurepackages/web- the React web application, sources common modules from the shared packageCommon 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.jsonshould be created at the project root. Packages should extend the basetsconfig.jsonfile.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.mdagentic coding instructions should be updated to include monorepo specific guidance.After completing all code changes, review and update the main project
README.mdand the documentation indocs/to ensure they accurately reflect the changes to support the monorepo structure. Consider creating adocs/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.