Skip to content

Avoid Bun as a package manager#430

Merged
yamcodes merged 8 commits intomainfrom
429-bun-apps-cant-reference-local-packages-in-pnpm-monorepo
Nov 24, 2025
Merged

Avoid Bun as a package manager#430
yamcodes merged 8 commits intomainfrom
429-bun-apps-cant-reference-local-packages-in-pnpm-monorepo

Conversation

@yamcodes
Copy link
Owner

@yamcodes yamcodes commented Nov 24, 2025

Avoid the usage of Bun as a package manager in our playgrounds. Instead, we will only use it as a JavaScript runtime, bundler, and maybe test runner.

This simplifies the local usage of internal packages - we can use a single workspace:* protocol and no other workarounds or tricks.

Closes #429

Summary by CodeRabbit

  • Chores

    • Removed the Bun SolidStart playground from the repo
    • Included Bun and React playgrounds in the workspace and switched a Bun dependency to workspace resolution
    • Added TypeScript type definitions for Bun in the React playground
    • Added environment variables for the Bun playground
  • Documentation

    • Removed SolidStart playground README
    • Expanded installation and running instructions for the Bun playground

✏️ Tip: You can customize this high-level summary in your review settings.

- Removed the bun and bun-react playgrounds, consolidating their configurations into the main pnpm workspace.
- Updated the bun-solid-start playground to use local package links for `arkenv` and `@arkenv/vite-plugin`.
- Added new dependencies and devDependencies for the bun and bun-react playgrounds in the pnpm-lock.yaml file.
- Cleaned up the pnpm workspace configuration by removing exclusions for the bun and bun-react playgrounds.

These changes streamline the project structure and improve dependency management.
- Changed dependency specifications for `arkenv` and `@arkenv/vite-plugin` in the playgrounds to use `workspace:*` instead of file paths.
- Cleaned up the pnpm-lock.yaml by removing outdated file references for these packages.

These updates improve dependency management and streamline the project structure.
@yamcodes yamcodes linked an issue Nov 24, 2025 that may be closed by this pull request
@changeset-bot
Copy link

changeset-bot bot commented Nov 24, 2025

⚠️ No Changeset found

Latest commit: cb534d2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Nov 24, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
arkenv Skipped Skipped Nov 24, 2025 9:44pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 24, 2025

Warning

Rate limit exceeded

@yamcodes has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 43 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 930f454 and cb534d2.

📒 Files selected for processing (2)
  • apps/playgrounds/bun-react/package.json (1 hunks)
  • apps/playgrounds/bun/package.json (1 hunks)

Walkthrough

Removes the entire bun-solid-start playground and related editor/TS configs; updates workspace/pnpm settings to include Bun playgrounds; adjusts apps/playgrounds/bun dependency resolution to workspace:*; adds Bun-related dev types to bun-react and environment entries + README updates for apps/playgrounds/bun.

Changes

Cohort / File(s) Summary
Bun Solid Start playground (deleted)
apps/playgrounds/bun-solid-start/*
Entire playground removed: package.json, .gitignore, README.md, tsconfig.json, app.config.ts, .env.production, src/* (including app.tsx, entry-client.tsx, entry-server.tsx, app.css, global.d.ts) all deleted.
Bun React dev types
apps/playgrounds/bun-react/package.json
Added devDependency @types/bun@1.3.2 (other deps unchanged).
Bun playground manifest & env
apps/playgrounds/bun/package.json, apps/playgrounds/bun/.env.production, apps/playgrounds/bun/README.md
Changed arkenv dependency from file:../../../packages/arkenv to workspace:*; added .env.production entries (TURSO_DATABASE_URL, HOST, PORT); expanded README installation/run instructions emphasizing workspace install then Bun steps.
Workspace / editor config
pnpm-workspace.yaml, arkenv.code-workspace
Removed pnpm exclusions !apps/playgrounds/bun and !apps/playgrounds/bun-react (including Bun playgrounds in workspace); removed bun-solid-start folder from VSCode workspace config.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Pay attention to project removal implications (imports, CI, docs).
  • Verify workspace dependency resolution and that workspace:* functions as intended for Bun installs.
  • Confirm no residual references to bun-solid-start remain in monorepo tooling or CI.

Possibly related PRs

Suggested labels

example, arkenv

Poem

🐰 I hopped through folders, light and fleet,

Cleared a playground, tidy and neat,
Bun now learns the workspace beat,
Types and envs arranged to meet,
A little hop — success feels sweet.

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main objective: avoiding Bun as a package manager in playgrounds while keeping it as a runtime/bundler.
Linked Issues check ✅ Passed The PR successfully addresses issue #429 by removing Bun as a package manager from playgrounds and enabling workspace:* protocol support for local package references.
Out of Scope Changes check ✅ Passed All changes are directly related to removing Bun as a package manager and enabling workspace:* protocol support. Updates to bun-react dependencies and bun playground configuration are aligned with stated objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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.

- Deleted the bun-solid-start playground, including its configuration, environment variables, and all related files such as README, TypeScript configuration, and source code.
- Updated the workspace configuration to reflect the removal of this playground.

These changes streamline the project by eliminating unused components and reducing complexity.
@github-actions github-actions bot added the docs Improvements or additions to documentation label Nov 24, 2025
@yamcodes yamcodes marked this pull request as ready for review November 24, 2025 20:43
Copy link
Contributor

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/playgrounds/bun/package.json (1)

22-22: packageManager field should be updated to reflect pnpm-based workspace management.

Line 22 specifies "packageManager": "bun@1.3.2", but the PR objective is to avoid Bun as a package manager. The presence of pnpm -w in scripts (line 11) confirms dependencies are now managed by pnpm. Update this field to use pnpm (e.g., "packageManager": "pnpm@9.x.x") to align with the monorepo's package management strategy and PR objectives.

Apply this diff:

- "packageManager": "bun@1.3.2"
+ "packageManager": "pnpm@9.3.0"

(Adjust pnpm version to match your root package.json's locked pnpm version.)

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ddf9b13 and 59ac683.

⛔ Files ignored due to path filters (5)
  • apps/playgrounds/bun-react/bun.lock is excluded by !**/*.lock
  • apps/playgrounds/bun-solid-start/bun.lock is excluded by !**/*.lock
  • apps/playgrounds/bun-solid-start/public/favicon.ico is excluded by !**/*.ico
  • apps/playgrounds/bun/bun.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (15)
  • apps/playgrounds/bun-react/package.json (1 hunks)
  • apps/playgrounds/bun-solid-start/.env.production (0 hunks)
  • apps/playgrounds/bun-solid-start/.gitignore (0 hunks)
  • apps/playgrounds/bun-solid-start/README.md (0 hunks)
  • apps/playgrounds/bun-solid-start/app.config.ts (0 hunks)
  • apps/playgrounds/bun-solid-start/package.json (0 hunks)
  • apps/playgrounds/bun-solid-start/src/app.css (0 hunks)
  • apps/playgrounds/bun-solid-start/src/app.tsx (0 hunks)
  • apps/playgrounds/bun-solid-start/src/entry-client.tsx (0 hunks)
  • apps/playgrounds/bun-solid-start/src/entry-server.tsx (0 hunks)
  • apps/playgrounds/bun-solid-start/src/global.d.ts (0 hunks)
  • apps/playgrounds/bun-solid-start/tsconfig.json (0 hunks)
  • apps/playgrounds/bun/package.json (1 hunks)
  • arkenv.code-workspace (0 hunks)
  • pnpm-workspace.yaml (0 hunks)
💤 Files with no reviewable changes (13)
  • apps/playgrounds/bun-solid-start/README.md
  • apps/playgrounds/bun-solid-start/src/app.tsx
  • apps/playgrounds/bun-solid-start/.gitignore
  • apps/playgrounds/bun-solid-start/src/entry-server.tsx
  • apps/playgrounds/bun-solid-start/tsconfig.json
  • pnpm-workspace.yaml
  • apps/playgrounds/bun-solid-start/src/global.d.ts
  • apps/playgrounds/bun-solid-start/src/entry-client.tsx
  • apps/playgrounds/bun-solid-start/src/app.css
  • apps/playgrounds/bun-solid-start/.env.production
  • apps/playgrounds/bun-solid-start/app.config.ts
  • arkenv.code-workspace
  • apps/playgrounds/bun-solid-start/package.json
🧰 Additional context used
📓 Path-based instructions (5)
**/package.json

📄 CodeRabbit inference engine (.cursor/rules/monorepo.mdc)

Use workspace:* protocol for workspace dependencies between packages

When referencing workspace packages, use the workspace:* protocol in dependencies

Files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
{**/package.json,pnpm-lock.yaml,pnpm-workspace.yaml}

📄 CodeRabbit inference engine (.cursor/rules/pnpm.mdc)

{**/package.json,pnpm-lock.yaml,pnpm-workspace.yaml}: Always use pnpm for all package management operations
Never use npm or yarn commands

Files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
{pnpm-workspace.yaml,**/package.json}

📄 CodeRabbit inference engine (.cursor/rules/pnpm.mdc)

Certain native dependencies are configured with onlyBuiltDependencies in pnpm configuration: @biomejs/biome, @sentry/cli, @swc/core, @tailwindcss/oxide, @vercel/speed-insights, esbuild, sharp

Files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
apps/playgrounds/bun/**/package.json

📄 CodeRabbit inference engine (apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc)

apps/playgrounds/bun/**/package.json: Use bun install instead of npm install, yarn install, or pnpm install for dependency management
Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> for running scripts

Files:

  • apps/playgrounds/bun/package.json
apps/playgrounds/bun-react/**/package.json

📄 CodeRabbit inference engine (apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc)

apps/playgrounds/bun-react/**/package.json: Use bun install instead of npm install, yarn install, or pnpm install in package.json scripts
Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> in package.json scripts

Files:

  • apps/playgrounds/bun-react/package.json
🧠 Learnings (25)
📓 Common learnings
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 428
File: apps/playgrounds/bun-solid-start/package.json:10-17
Timestamp: 2025-11-24T19:09:40.467Z
Learning: Applies to apps/playgrounds/bun**/package.json : Bun playgrounds use fixed version strings for workspace packages (e.g., arkenv/vite-plugin, arkenv) instead of the workspace:* protocol because they use Bun as the package manager while the monorepo uses pnpm, and workspace:* protocol doesn't work across different package managers.
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install` for dependency management
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>` for running scripts
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>` in package.json scripts
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install` in package.json scripts
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:03:35.734Z
Learning: Use pnpm workspaces for package management across the monorepo instead of npm or yarn
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,js} : Use `bun <file>` instead of `node <file>` or `ts-node <file>` for running scripts
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{html,ts,tsx,css} : Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` for bundling
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/monorepo.mdc:0-0
Timestamp: 2025-11-24T16:04:11.869Z
Learning: packages/arkenv should not depend on other workspace packages; packages/vite-plugin depends on arkenv; apps/www may depend on workspace packages
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx,html,css} : Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` for bundling
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,tsx,js,jsx} : Use `Bun.redis` for Redis operations instead of `ioredis`
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use `Bun.redis` for Redis operations instead of `ioredis`
📚 Learning: 2025-11-24T19:09:40.467Z
Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 428
File: apps/playgrounds/bun-solid-start/package.json:10-17
Timestamp: 2025-11-24T19:09:40.467Z
Learning: Applies to apps/playgrounds/bun**/package.json : Bun playgrounds use fixed version strings for workspace packages (e.g., arkenv/vite-plugin, arkenv) instead of the workspace:* protocol because they use Bun as the package manager while the monorepo uses pnpm, and workspace:* protocol doesn't work across different package managers.

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:58.603Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install` for dependency management

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use `bun install` instead of `npm install`, `yarn install`, or `pnpm install` in package.json scripts

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:11.869Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/monorepo.mdc:0-0
Timestamp: 2025-11-24T16:04:11.869Z
Learning: packages/arkenv should not depend on other workspace packages; packages/vite-plugin depends on arkenv; apps/www may depend on workspace packages

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>` in package.json scripts

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:58.603Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use `bun run <script>` instead of `npm run <script>`, `yarn run <script>`, or `pnpm run <script>` for running scripts

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:58.603Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,js} : Use `bun <file>` instead of `node <file>` or `ts-node <file>` for running scripts

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx,html,css} : Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` for bundling

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Bun automatically loads .env files, so don't use the dotenv package

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:58.603Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{html,ts,tsx,css} : Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` for bundling

Applied to files:

  • apps/playgrounds/bun/package.json
  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:03:35.734Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:03:35.734Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `createEnv(schema)` function (available as default export, typically imported as `arkenv`) to create validated environment objects with ArkType schema definitions

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:03:45.283Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.283Z
Learning: Applies to packages/arkenv/**/*.ts : Use ArkType's `type()` function to define schemas in environment variable definitions

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:03:45.283Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.283Z
Learning: Applies to packages/arkenv/**/*.ts : Keep environment variable schemas readable and TypeScript-like using ArkType syntax

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:03:45.283Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.283Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's type inference for TypeScript types instead of manual type definitions

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:03:45.283Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.283Z
Learning: Applies to packages/arkenv/**/*.ts : Leverage ArkType's built-in types (e.g., `string.host`, `number.port`) where possible in environment schemas

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:11.869Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/monorepo.mdc:0-0
Timestamp: 2025-11-24T16:04:11.869Z
Learning: Applies to **/package.json : Use workspace:* protocol for workspace dependencies between packages

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:03:45.283Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/arktype.mdc:0-0
Timestamp: 2025-11-24T16:03:45.283Z
Learning: Applies to packages/arkenv/**/*.ts : Use union types for enums in ArkType schemas (e.g., `"'dev' | 'prod'"`) instead of separate enum definitions

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:19.392Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:19.392Z
Learning: Applies to **/package.json : When referencing workspace packages, use the `workspace:*` protocol in dependencies

Applied to files:

  • apps/playgrounds/bun/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.ts : Use `bun --hot` to run TypeScript entry files with hot module reloading enabled

Applied to files:

  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use `bun <file>` instead of `node <file>` or `ts-node <file>` for running TypeScript and JavaScript files

Applied to files:

  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.test.{ts,tsx,js,jsx} : Use `bun test` instead of `jest` or `vitest` for running tests

Applied to files:

  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use `Bun.redis` for Redis operations instead of `ioredis`

Applied to files:

  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.html : HTML files can import `.tsx`, `.jsx`, or `.js` files directly as modules, and Bun will automatically transpile and bundle them

Applied to files:

  • apps/playgrounds/bun-react/package.json
📚 Learning: 2025-11-24T16:04:47.550Z
Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.test.{ts,tsx,js,jsx} : Use `bun:test` for unit and integration testing with `test` and `expect` from the built-in test module

Applied to files:

  • apps/playgrounds/bun-react/package.json
🔇 Additional comments (2)
apps/playgrounds/bun-react/package.json (2)

17-19: Type definitions are appropriately pinned for React 19.2.0 runtime.

The addition of @types/bun@1.3.2 provides proper type support for Bun runtime features. The React and react-dom type versions are consistent with their runtime versions.


21-21: Clarify: packageManager field conflicts with PR objective to avoid Bun as package manager.

Line 21 specifies "packageManager": "bun@1.3.2", but the PR objective is to "stop using Bun as a package manager." If dependencies are now managed by pnpm install from the workspace root, this field should likely be updated to reflect that (e.g., pnpm@9.x.x), unless local bun install usage is intentional and documented.

- Clarified the installation process for dependencies, emphasizing the need to use pnpm from the repository root before running Bun-specific commands.
- Added detailed steps for installing workspace dependencies and running the Bun playground in both standard and development modes.
- Improved overall documentation for better user guidance and clarity.
Copy link
Contributor

@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: 0

🧹 Nitpick comments (2)
apps/playgrounds/bun/.env.production (1)

1-3: Reorder environment variables alphabetically for consistency.

Keys should be sorted alphabetically for better readability and consistency. Rearrange HOST and PORT before TURSO_DATABASE_URL.

-TURSO_DATABASE_URL=libsql://localhost:5432/turbo
 HOST=localhost
 PORT=3000
+TURSO_DATABASE_URL=libsql://localhost:5432/turbo
apps/playgrounds/bun/README.md (1)

26-34: Clarify the difference between bun run index.ts and bun dev.

The README shows two ways to run the project (lines 27 and 33) but doesn't explain when to use each. Is index.ts the correct/primary entry point, or should developers prefer bun dev for local development? A brief comment on when to use each would improve usability.

Consider expanding the Running section slightly:

 ## Running

+In development mode with hot reload:
+
 ```bash
-bun run index.ts
+bun dev

-Or in development mode with watch:

-bash -bun dev -


This re-orders to highlight `bun dev` as the primary development approach.

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: CodeRabbit UI

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 59ac6839c4aeb251b2e0543251eb1dcf6174327c and 930f454464da1af87012c75c822f6b7a7e7a8799.

</details>

<details>
<summary>📒 Files selected for processing (2)</summary>

* `apps/playgrounds/bun/.env.production` (1 hunks)
* `apps/playgrounds/bun/README.md` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🧠 Learnings (19)</summary>

<details>
<summary>📓 Common learnings</summary>

Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 428
File: apps/playgrounds/bun-solid-start/package.json:10-17
Timestamp: 2025-11-24T19:09:40.467Z
Learning: Applies to apps/playgrounds/bun**/package.json : Bun playgrounds use fixed version strings for workspace packages (e.g., arkenv/vite-plugin, arkenv) instead of the workspace:* protocol because they use Bun as the package manager while the monorepo uses pnpm, and workspace:* protocol doesn't work across different package managers.


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use bun install instead of npm install, yarn install, or pnpm install for dependency management


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> for running scripts


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use bun install instead of npm install, yarn install, or pnpm install in package.json scripts


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> in package.json scripts


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-24T16:03:35.734Z
Learning: Use pnpm workspaces for package management across the monorepo instead of npm or yarn


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,js} : Use bun <file> instead of node <file> or ts-node <file> for running scripts


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/monorepo.mdc:0-0
Timestamp: 2025-11-24T16:04:11.869Z
Learning: packages/arkenv should not depend on other workspace packages; packages/vite-plugin depends on arkenv; apps/www may depend on workspace packages


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{html,ts,tsx,css} : Use bun build <file.html|file.ts|file.css> instead of webpack or esbuild for bundling


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx,html,css} : Use bun build <file.html|file.ts|file.css> instead of webpack or esbuild for bundling


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use bun <file> instead of node <file> or ts-node <file> for running TypeScript and JavaScript files


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use Bun.redis for Redis operations instead of ioredis


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,tsx,js,jsx} : Use Bun.redis for Redis operations instead of ioredis


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.ts : Use bun --hot to run TypeScript entry files with hot module reloading enabled


Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/index.ts : Run frontend development with bun --hot ./index.ts for hot module reloading


</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use bun install instead of npm install, yarn install, or pnpm install for dependency management


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use bun install instead of npm install, yarn install, or pnpm install in package.json scripts


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T19:09:40.467Z</summary>

Learnt from: yamcodes
Repo: yamcodes/arkenv PR: 428
File: apps/playgrounds/bun-solid-start/package.json:10-17
Timestamp: 2025-11-24T19:09:40.467Z
Learning: Applies to apps/playgrounds/bun**/package.json : Bun playgrounds use fixed version strings for workspace packages (e.g., arkenv/vite-plugin, arkenv) instead of the workspace:* protocol because they use Bun as the package manager while the monorepo uses pnpm, and workspace:* protocol doesn't work across different package managers.


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/package.json : Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> for running scripts


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/package.json : Use bun run <script> instead of npm run <script>, yarn run <script>, or pnpm run <script> in package.json scripts


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,js} : Use bun <file> instead of node <file> or ts-node <file> for running scripts


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{html,ts,tsx,css} : Use bun build <file.html|file.ts|file.css> instead of webpack or esbuild for bundling


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx,html,css} : Use bun build <file.html|file.ts|file.css> instead of webpack or esbuild for bundling


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use bun <file> instead of node <file> or ts-node <file> for running TypeScript and JavaScript files


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/index.ts : Run frontend development with bun --hot ./index.ts for hot module reloading


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.ts : Use bun --hot to run TypeScript entry files with hot module reloading enabled


**Applied to files:**
- `apps/playgrounds/bun/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use Bun.sql for Postgres database operations instead of pg or postgres.js


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,tsx,js,jsx} : Bun automatically loads .env files, so don't use dotenv library


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,tsx,js,jsx} : Use Bun.sql for Postgres operations instead of pg or postgres.js


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Bun automatically loads .env files, so don't use the dotenv package


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:58.603Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:58.603Z
Learning: Applies to apps/playgrounds/bun/**/*.{ts,tsx,js,jsx} : Use bun:sqlite for SQLite database operations instead of better-sqlite3


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:47.550Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: apps/playgrounds/bun-react/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2025-11-24T16:04:47.550Z
Learning: Applies to apps/playgrounds/bun-react/**/*.{ts,tsx,js,jsx} : Use bun:sqlite for SQLite database operations instead of better-sqlite3


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>
<details>
<summary>📚 Learning: 2025-11-24T16:04:11.869Z</summary>

Learnt from: CR
Repo: yamcodes/arkenv PR: 0
File: .cursor/rules/monorepo.mdc:0-0
Timestamp: 2025-11-24T16:04:11.869Z
Learning: Applies to turbo.json : Turborepo tasks are defined in turbo.json with common tasks: build, dev, typecheck, test, and test:e2e


**Applied to files:**
- `apps/playgrounds/bun/.env.production`

</details>

</details><details>
<summary>🪛 dotenv-linter (4.0.0)</summary>

<details>
<summary>apps/playgrounds/bun/.env.production</summary>

[warning] 2-2: [UnorderedKey] The HOST key should go before the TURSO_DATABASE_URL key

(UnorderedKey)

---

[warning] 3-3: [UnorderedKey] The PORT key should go before the TURSO_DATABASE_URL key

(UnorderedKey)

</details>

</details>

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)</summary>

* GitHub Check: test-e2e (e2e)

</details>

<details>
<summary>🔇 Additional comments (2)</summary><blockquote>

<details>
<summary>apps/playgrounds/bun/.env.production (1)</summary><blockquote>

`1-1`: **Verify the database URL configuration.**

The `TURSO_DATABASE_URL` uses the `libsql://` protocol with `localhost:5432`, which is unusual. The libsql protocol typically connects to Turso's cloud service, and `localhost:5432` usually indicates a PostgreSQL instance. Confirm this is intentional for local development and not a misconfiguration.

</blockquote></details>
<details>
<summary>apps/playgrounds/bun/README.md (1)</summary><blockquote>

`3-3`: **Verify Bun's handling of `workspace:*` protocol during installation.**

The two-step installation flow assumes specific behavior from Bun:

1. When you run `bun install` (line 16), Bun will encounter `workspace:*` entries in package.json that it doesn't natively understand. Does it skip them silently, treat them as symlinks, or error? Clarify this.

2. The alternative (line 19) states `bun dev` works after just step 1, with Bun auto-installing dependencies. Verify that this is reliably true and doesn't depend on a prior `bun install` run. If `bun dev` always works after `pnpm install`, consider simplifying the instructions to make step 2 optional by default.



To confirm, please verify:
- What happens when `bun install` processes `workspace:*` entries in the Bun playground's package.json after `pnpm install` has already linked them?
- Whether `bun dev` reliably works after step 1 alone across all use cases.




Also applies to: 14-22

</blockquote></details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

…peScript configuration

- Deleted the .env.production file to eliminate unused environment variables.
- Updated package.json scripts for improved clarity and functionality, including changes to the build and start commands.
- Modified tsconfig.json to specify the output directory for builds, enhancing project structure and organization.
- Removed the "packageManager" field from package.json to streamline the configuration.
- Maintained existing devDependencies for consistency and clarity.
@yamcodes yamcodes merged commit f7f8932 into main Nov 24, 2025
14 of 15 checks passed
@yamcodes yamcodes deleted the 429-bun-apps-cant-reference-local-packages-in-pnpm-monorepo branch November 24, 2025 21:56
@coderabbitai coderabbitai bot mentioned this pull request Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bun apps can't reference local packages in pnpm monorepo

1 participant