Skip to content

Conversation

@stephendolan
Copy link
Owner

Summary

Migrates YNAB CLI from Node.js to Bun runtime, delivering faster performance and improved developer experience. Updates all CI/CD workflows, documentation, and build tooling to use Bun.

Problem

Node.js dependency installation and test execution are slow compared to modern runtimes, impacting both development iteration speed and CI pipeline performance.

Core Changes

  • Replaced Node.js with Bun runtime (v1.0+)
  • Updated CI workflows to use oven-sh/setup-bun@v2
  • Migrated package manager from npm to bun (package-lock.json → bun.lock)
  • Updated all documentation and README with Bun installation instructions
  • Modified shebang from #!/usr/bin/env node to #!/usr/bin/env bun

🤖 Generated with Claude Code

Migrate runtime from Node.js to Bun. This is a breaking change that requires Bun to be installed.

Major changes:
- Replace Node.js/npm with Bun runtime (requires bun >=1.0)
- Update shebang in src/cli.ts from #!/usr/bin/env node to #!/usr/bin/env bun
- Replace package-lock.json with bun.lock
- Update GitHub Actions workflows to use oven-sh/setup-bun
- Update all documentation (README.md, CLAUDE.md) with Bun installation and usage
- Update all npm commands to bun equivalents (npm test → bun test, etc.)

BREAKING CHANGE: Bun runtime is now required instead of Node.js

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@stephendolan stephendolan merged commit aca1dc5 into main Dec 27, 2025
1 check passed
@stephendolan stephendolan deleted the release/v2.0.0 branch December 27, 2025 19:48
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