Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Simplify workspace package builds and deps - #2676

Merged
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build
May 13, 2026
Merged

Simplify workspace package builds and deps#2676
juliusmarminge merged 3 commits into
mainfrom
feature/simplify-package-build

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves several @t3tools/* workspace packages from devDependencies to runtime dependencies where they are actually consumed.
  • Removes redundant package versions and unused tsdown build scripts from internal packages that are no longer published independently.
  • Simplifies tsdown externalization rules in apps/desktop and apps/server to match the new package layout.
  • Drops the dedicated test:process-reaper script in apps/server and keeps the main Vitest entrypoint.
  • Adds @effect/platform-node-shared to apps/server to support the updated server dependency graph.

Testing

  • Not run (not provided in the commit diff).
  • Expected verification: bun fmt
  • Expected verification: bun lint
  • Expected verification: bun typecheck
  • Expected verification: bun run test

Note

Medium Risk
Medium risk because it changes package exports/bundling rules (notably @t3tools/contracts dropping CJS entrypoints) and shifts workspace dependencies, which can cause runtime/module-resolution issues in consumers.

Overview
Consolidates advertised-endpoint helpers into @t3tools/shared/advertisedEndpoint and updates desktop backend imports to use the new shared module, while keeping @t3tools/client-runtime as a thin re-export for compatibility.

Cleans up workspace packaging by moving @t3tools/* deps to runtime where used (e.g., desktop), removing per-package tsdown build scripts/metadata for internal-only packages, and simplifying bundler noExternal rules in both desktop and server.

Updates server deps/scripts by adding @effect/platform-node-shared and dropping the dedicated test:process-reaper script; @t3tools/contracts exports are simplified to ESM-only via the exports map.

Reviewed by Cursor Bugbot for commit a0878f5. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Move advertised endpoint utilities to @t3tools/shared and simplify workspace package builds

  • Moves createAdvertisedEndpoint and related types from @t3tools/client-runtime into a new @t3tools/shared/advertisedEndpoint subpath export; client-runtime now re-exports from there.
  • Updates imports in DesktopServerExposure.ts and tailscaleEndpointProvider.ts to use the new source.
  • Removes standalone dev/build scripts and tsdown dependencies from contracts, effect-acp, and effect-codex-app-server packages, consolidating build responsibility into consuming apps.
  • Removes CJS require export targets from packages/contracts, making it ESM-only.
  • Behavioral Change: the desktop bundler no longer treats effect-acp as noExternal, and the server bundler adds effect-codex-app-server to its internal prefix list, changing what gets bundled vs. left external.

Macroscope summarized a0878f5.

- Move internal runtime deps into app manifests
- Drop unused tsdown build scripts and CJS outputs
- Remove stale package versions from private workspaces
@coderabbitai

coderabbitaiBot commented May 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a38f7453-bb40-412a-9bfc-0890961a7c4d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/simplify-package-build

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

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels May 13, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Missing @t3tools/client-runtime dependency in desktop package
    • Added "@t3tools/client-runtime": "workspace:*" to the dependencies section of apps/desktop/package.json, consistent with the other @t3tools/* workspace packages that were moved from devDependencies.

Create PR

Or push these changes by commenting:

@cursor push 2b17f09531
Preview (2b17f09531)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json--- a/apps/desktop/package.json+++ b/apps/desktop/package.json@@ -16,6 +16,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",
diff --git a/bun.lock b/bun.lock--- a/bun.lock+++ b/bun.lock@@ -20,6 +20,7 @@
"version": "0.0.23",
"dependencies": {
"@effect/platform-node": "catalog:",
+ "@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"@t3tools/ssh": "workspace:*",

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 02f89d3. Configure here.

Comment threadapps/desktop/package.json
@macroscopeapp

macroscopeappBot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Mechanical refactoring that moves shared code from client-runtime to the shared package, updates import paths, and cleans up build configurations and dependency organization. No runtime behavior changes - the relocated code is identical to the original.

You can customize Macroscope's approvability policy. Learn more.

- Move advertisedEndpoint utilities from client-runtime to shared
- Re-export shared helpers for existing consumers
- Add tests for URL normalization and endpoint construction
@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels May 13, 2026
- Delete outdated coverage for advertised endpoint helpers
- Keeps package build focused on shared runtime code
@juliusmarminge
juliusmarminge merged commit f92e1e1 into mainMay 13, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the feature/simplify-package-build branch May 13, 2026 19:35
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 14, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* docs(upstream): record first upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Donkijote added a commit to Donkijote/dk-ide that referenced this pull request May 26, 2026
* Simplify workspace package builds and deps (pingdotgg#2676)
* Skip healthy env reconnects after browser resume (pingdotgg#2677)
* feat(marketing): Made marketing site less cringe (pingdotgg#2681)
* Back off VCS remote refresh failures (pingdotgg#2686)
* [codex] add diagnostics resource history (pingdotgg#2685)
Co-authored-by: Julius Marminge <julius@macmini.local>
* Exclude workspace packages from desktop runtime deps (pingdotgg#2688)
* chore(release): prepare v0.0.24
* fix: maintain reasoning selections for multiple providers (pingdotgg#2760)
* docs(upstream): record 2026-05-26 upstream sync
---------
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Adam Buchweitz <312235+adambuchweitz@users.noreply.github.com>
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge