Skip to content

chore: add Turborepo package harness#224

Merged
duncanleo merged 3 commits into
mainfrom
codex/turborepo-step-3-5
May 14, 2026
Merged

chore: add Turborepo package harness#224
duncanleo merged 3 commits into
mainfrom
codex/turborepo-step-3-5

Conversation

@duncanleo
Copy link
Copy Markdown
Member

@duncanleo duncanleo commented May 14, 2026

Summary

  • add Turborepo as the package build/test harness for the target workspaces
  • route package validation in CI through aggregate Turbo commands
  • document step 3.5 in the data-overhaul split plan before the triage package work

Notes

This keeps the legacy production build, Docker/Fly.io surfaces, generated data, publishing, and runtime removal out of scope. Existing root command names are preserved so production stabilization patches keep their current entry points.

Validation

  • npm run build:packages
  • npm run test:packages
  • npm run check
  • npm run typecheck
  • npm run data:validate
  • npm test -- --run

Summary by CodeRabbit

Release Notes

  • Chores

    • Integrated Turborepo for optimized, dependency-aware package building and testing across the monorepo.
    • Updated build and test command scripts with new orchestration approach.
  • Documentation

    • Updated development documentation with revised build and test command sequences.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

📝 Walkthrough

Walkthrough

This PR integrates Turborepo into the monorepo for dependency-aware package task orchestration. It adds a turbo.json configuration, refactors npm scripts to use Turborepo commands, updates the CI validation workflow to trigger on turbo changes and use the new build/test scripts, and documents the changes in developer guides.

Changes

Turborepo Package Task Orchestration

Layer / File(s) Summary
Turborepo Task Configuration
turbo.json
Introduces turbo.json with build and test task definitions: build depends on ^build and outputs dist/**; test depends on ^build with no declared outputs.
Root Package & Turbo Integration
package.json
Pins npm version to 11.11.0, refactors scripts to use Turbo-based build:* and test:* commands for core/fs/cli packages, updates data:validate to build cli only, and adds Turbo ^2.8.20 as a devDependency.
CI Validation Workflow Updates
.github/workflows/validate.yml
Adds turbo.json to pull_request and push trigger paths, updates validate job to run npm run build:packages and npm run test:packages instead of per-package build/test commands.
Developer Documentation Updates
AGENTS.md, README.md, docs/DATA_OVERHAUL_SPLIT.md
Documents new Turbo-based build and test commands in command reference, readme harness section, and data overhaul plan; adds Step 3.5 for Turborepo package task harness and updates mechanical checks guidance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A turbine spins in the monorepo mist,
Tasks orchestrated—no build should be missed!
Hop along now, let Turbo convey,
Dependencies dance in a proper way.
With npm eleven and checksums true,
The rabbit approves this refactor for you! 🌀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly summarizes the main change: adding Turborepo as a package harness, which aligns with the primary objectives of introducing Turborepo for package build/test orchestration across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/turborepo-step-3-5

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@duncanleo duncanleo force-pushed the codex/turborepo-step-3-5 branch from 30cc625 to 322be29 Compare May 14, 2026 03:13
@duncanleo duncanleo marked this pull request as ready for review May 14, 2026 03:16
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/validate.yml (1)

50-57: 💤 Low value

Consider consolidating package builds.

The workflow runs npm run build:packages on line 50, which builds all packages including cli. Then npm run data:validate on line 52 internally runs npm run build:cli, building the cli package again. While this ensures data:validate is self-contained, it results in duplicate work.

Consider either:

  1. Removing the build step from data:validate since packages are already built, or
  2. Documenting that the duplication is intentional for script independence.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/validate.yml around lines 50 - 57, The workflow duplicates
work because npm run build:packages runs before npm run data:validate, but
data:validate itself calls npm run build:cli, rebuilding CLI; either remove the
internal build from the data:validate script or keep it and document
intention—specifically update the data:validate npm script (or its
implementation that invokes build:cli) to no longer run build:cli when
build:packages is already executed, or add a comment/README entry explaining the
intentional redundancy for script independence so maintainers know why npm run
build:packages and npm run data:validate both trigger builds.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@package.json`:
- Line 41: The dependency entry "turbo": "^2.8.20" in package.json should be
verified and corrected if invalid: check the npm registry or run `npm view turbo
versions` to confirm 2.8.20 exists and is published, ensure the specified
version is compatible with your project's Node and npm engines, and if it does
not exist or is incompatible replace it with a valid published version (or a
supported range) in package.json; reference the package.json dependency key
"turbo" when making the change and update any engine constraints in package.json
if needed.

---

Nitpick comments:
In @.github/workflows/validate.yml:
- Around line 50-57: The workflow duplicates work because npm run build:packages
runs before npm run data:validate, but data:validate itself calls npm run
build:cli, rebuilding CLI; either remove the internal build from the
data:validate script or keep it and document intention—specifically update the
data:validate npm script (or its implementation that invokes build:cli) to no
longer run build:cli when build:packages is already executed, or add a
comment/README entry explaining the intentional redundancy for script
independence so maintainers know why npm run build:packages and npm run
data:validate both trigger builds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 16ee62ee-9e97-41dc-8c77-e1e00b6652b1

📥 Commits

Reviewing files that changed from the base of the PR and between 647029b and 322be29.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • .github/workflows/validate.yml
  • AGENTS.md
  • README.md
  • docs/DATA_OVERHAUL_SPLIT.md
  • package.json
  • turbo.json

Comment thread package.json
@duncanleo duncanleo merged commit ae5fa0f into main May 14, 2026
2 checks passed
@duncanleo duncanleo deleted the codex/turborepo-step-3-5 branch May 14, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant