Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR refactors the repository into a monorepo, adding Turborepo configuration and splitting functionality into workspace packages and apps.
- Introduce
turbo.jsonand workspace settings inpackage.jsonto enable monorepo tasks. - Extract shared TypeScript config and utility code into
packages/ts-configandpackages/utils. - Create separate
packages/templatesandapps/clifor email templates and CLI, updating imports and build scripts accordingly.
Reviewed Changes
Copilot reviewed 18 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| turbo.json | Add Turborepo schema and task definitions |
| package.json (root) | Mark root as private, add Turborepo scripts & workspaces |
| packages/ts-config/package.json | Define shared tsconfig package |
| packages/templates/package.json | Define email-templates package and scripts |
| apps/cli/src/index.ts | Update template loading to use generated index |
| packages/templates/scripts/gen-emails-index.js | Generate a single TS index for all email templates |
| apps/cli/.gitignore | Ignore CLI build output |
| .github/workflows/build-and-publish.yml | Adjust CLI build/publish steps |
Comments suppressed due to low confidence (4)
packages/templates/package.json:2
- [nitpick] The scope
@watonomousis inconsistent with other packages using@repo. Consider renaming to@repo/watcloud-email-templatesfor consistency across the monorepo.
"name": "@watonomous/watcloud-email-templates",
.github/workflows/build-and-publish.yml:43
- The workflow expects build artifacts in
apps/cli/out/, but the CLI build appears to emit todist/. Update the path or adjust the CLI build output directory.
path: apps/cli/out/
packages/templates/scripts/gen-emails-index.js:17
- [nitpick] Using
requirein a generated TypeScript index may cause ESM/CJS interop issues. Consider generating staticimportstatements or using dynamicimport()for better compatibility.
code += ` "${name}": require('./emails/${name}'),\n`;
apps/cli/src/index.ts:13
- If your templates are ESM modules, the actual export may be under
mod.default. Ensure you handle default exports or adjust the index generator to export the raw component directly.
const mod = Emails[template_name];
Draft
alexboden
approved these changes
Jun 29, 2025
ben-z
added a commit
that referenced
this pull request
Jul 2, 2025
This PR updates README files for the monorepo. Follow-up to #34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR turns the repo into a monorepo using turborepo.
This facilitates adding more projects to this repo, such as an email server.
The current repo is already kinda a monorepo, with a CLI component and an emails component. This PR establishes clear boundaries between projects.