Skip to content

chore: migrate to Bun and add lightweight monorepo tooling#495

Closed
Loosand wants to merge 1 commit into
DEEIX-AI:devfrom
Loosand:dev
Closed

chore: migrate to Bun and add lightweight monorepo tooling#495
Loosand wants to merge 1 commit into
DEEIX-AI:devfrom
Loosand:dev

Conversation

@Loosand

@Loosand Loosand commented Jul 16, 2026

Copy link
Copy Markdown

Summary

Migrate the project from pnpm to Bun 1.3.14 and introduce lightweight monorepo task orchestration with Turborepo.

This keeps the existing frontend/ and backend/ directory structure while providing a unified set of root-level commands for development, checks, tests, and builds.

Key changes:

  • replace pnpm-lock.yaml with the text-based bun.lock
  • configure frontend and backend as Bun workspaces
  • add root-level Turborepo configuration and scripts
  • add a lightweight package wrapper for the Go backend
  • migrate frontend lifecycle scripts and backend version scripts to Bun
  • update the frontend Docker build stage to use oven/bun:1.3.14-debian
  • update GitHub Actions to use oven-sh/setup-bun and bun ci
  • update the English and Chinese documentation with the new Bun commands
  • keep Go build caching disabled in Turborepo because the binary is emitted outside the backend workspace

Change type

  • Bug fix
  • Feature
  • Documentation
  • Refactor
  • Configuration / deployment
  • Security hardening
  • Other

Affected areas

  • Frontend / UI
  • Backend / API
  • Authentication / authorization
  • Conversations / streaming
  • Files / RAG / extraction
  • Model routing / providers
  • MCP / tools
  • Billing / payments
  • Admin console
  • Deployment / Docker / configuration
  • Documentation

Verification

  • bun ci
  • bun run check
  • bun run test
  • bun run build
  • Turborepo detected both @deeix/web and @deeix/api using Bun
  • Biome checked 536 frontend files
  • TypeScript type checking passed
  • Go vet and Go tests passed
  • Go binary was generated successfully
  • Next.js generated all 30 static routes
  • GitHub Actions workflow YAML parsed successfully
  • Docker workspace-filtered Bun install completed a dry run
  • Full Docker image build was not run because Docker was unavailable locally

Screenshots, API examples, or logs

Not applicable. This change does not modify UI behavior or API contracts.

Configuration, migration, and compatibility notes

  • Bun 1.3.14 is now the required JavaScript package manager.
  • Developers should run bun install after pulling this change.
  • Existing pnpm node_modules directories should be removed before the first Bun installation.
  • pnpm-lock.yaml is replaced by the committed text-based bun.lock.
  • Root commands are now:
    • bun run dev
    • bun run dev:web
    • bun run dev:api
    • bun run check
    • bun run test
    • bun run build
  • The frontend Docker builder now uses oven/bun:1.3.14-debian.
  • No database schema, environment variable, public URL, CORS, or API behavior changes are introduced.

Documentation

  • Documentation is not needed for this change.
  • Documentation was updated.
  • Documentation still needs to be updated.

Security and privacy

  • No secrets, tokens, credentials, local config, or personal data are included.
  • User data access remains scoped by authenticated user context unless an admin-only path explicitly requires broader access.
  • No authentication, authorization, provider routing, file processing, billing, or admin API behavior was changed.

Checklist

  • I searched existing issues and pull requests.
  • Changes are focused and do not include unrelated refactors.
  • Tests and static verification were run where practical.
  • User-facing development and deployment instructions are documented.
  • Generated artifacts are included only where required by the project.
  • Caches, build output, .env files, local configuration, and storage data are not committed.

@Loosand Loosand changed the title Migrate to Bun package manager and add lightweight monorepo tooling chore: migrate to Bun and add lightweight monorepo tooling Jul 16, 2026
@Loosand Loosand closed this Jul 16, 2026
@Loosand Loosand reopened this Jul 16, 2026
@chenyme chenyme closed this Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants