Skip to content

Commit bda65d0

Browse files
committed
bun
1 parent 5c55a57 commit bda65d0

File tree

13 files changed

+1481
-7464
lines changed

13 files changed

+1481
-7464
lines changed

.claude/rules/2-tech-stack.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Next.js application with Convex backend, Better Auth authentication, and Tailwin
1212

1313
- **TypeScript**
1414
- **Node.js**: v22
15-
- **Package Manager**: pnpm
15+
- **Package Manager**: Bun v1.3.3
1616

1717
## Frontend
1818

.claude/rules/convex-polar.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ export const convertToDatabaseSubscription = (
740740

741741
**File:** `convex/polar/polyfills.ts`
742742

743-
**⚠️ REQUIRED:** Install the `buffer` npm package (`pnpm add buffer`) for Polar SDK to work in Convex.
743+
**⚠️ REQUIRED:** Install the `buffer` npm package (`bun add buffer`) for Polar SDK to work in Convex.
744744

745745
```typescript
746746
import { Buffer as BufferPolyfill } from "buffer";

.claude/ruler.toml renamed to .claude/skiller.toml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
1-
# Ruler Configuration for Informed Medical
2-
# This project uses Ruler to manage AI agent instructions
3-
# Source: .ruler/ directory | Generated: root AGENTS.md, CLAUDE.md, etc.
4-
51
# Default agents to apply when --agents flag is not specified
62
default_agents = ["claude", "cursor", "codex"]
73

84
# --- Fork Configuration ---
95

10-
root_folder = ".claude"
11-
126
[rules]
137
merge_strategy = "cursor"
148

@@ -17,7 +11,6 @@ enabled = false
1711

1812
# --- Global Configuration ---
1913

20-
# Skills support (manages .ruler/skills/ → .claude/skills/ propagation)
2114
[skills]
2215
enabled = true
2316
generate_from_rules = true
@@ -28,7 +21,7 @@ enabled = true
2821

2922
# MCP (Model Context Protocol) server configuration
3023
[mcp]
31-
enabled = false # Disable for now - can enable later if needed
24+
enabled = true
3225
merge_strategy = "merge"
3326

3427
# --- Agent-Specific Configuration ---

.github/workflows/ci.yml

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,46 +23,40 @@ jobs:
2323
- name: Checkout
2424
uses: actions/checkout@v5
2525

26-
- uses: pnpm/action-setup@v3
27-
name: Install pnpm
28-
id: pnpm-install
26+
- uses: oven-sh/setup-bun@v2
27+
name: Install bun
2928
with:
30-
version: 8
31-
run_install: false
29+
bun-version: latest
3230

33-
- name: Use Node.js 22
31+
- name: Use Node.js
3432
uses: actions/setup-node@v4
3533
with:
3634
node-version: 22
37-
cache: 'pnpm'
38-
cache-dependency-path: '**/pnpm-lock.yaml'
39-
40-
- name: Get pnpm store directory
41-
id: pnpm-cache
42-
run: |
43-
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
4435

4536
- uses: actions/cache@v4
46-
name: ♻️ Setup pnpm cache
37+
name: ♻️ Setup bun cache
4738
with:
48-
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
49-
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
39+
path: ~/.bun/install/cache
40+
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
5041
restore-keys: |
51-
${{ runner.os }}-pnpm-store-
42+
${{ runner.os }}-bun-
5243
5344
- uses: actions/cache@v4
5445
name: ♻️ Setup Next.js cache
5546
with:
5647
path: ${{ github.workspace }}/.next/cache
57-
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
48+
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/bun.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
5849
restore-keys: |
59-
${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-
50+
${{ runner.os }}-nextjs-${{ hashFiles('**/bun.lock') }}-
6051
6152
- name: 📥 Install
62-
run: pnpm install --no-frozen-lockfile && cp .env.example .env.local
53+
run: bun install --frozen-lockfile && cp .env.example .env.local
6354

64-
- name: 🔬 Linter
65-
run: pnpm lint && pnpm eslint
55+
- name: 🔬 Run Biome & ESLint
56+
run: bun lint
6657

6758
- name: 🕵️ Typecheck & Build
68-
run: SKIP_ENV_VALIDATION=true pnpm build
59+
run: SKIP_ENV_VALIDATION=true bun run build
60+
61+
# - name: 🧪 Unit tests
62+
# run: bun test

.gitignore

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1-
!.*
2-
.git
1+
.vscode/*
2+
!.vscode/settings.json
3+
!.vscode/extensions.json
34

45
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
56

67
# dependencies
78
/node_modules
8-
/.pnp
9-
.pnp.*
10-
.yarn/*
11-
!.yarn/patches
12-
!.yarn/plugins
13-
!.yarn/releases
14-
!.yarn/versions
159

1610
# testing
1711
/coverage
@@ -27,12 +21,6 @@
2721
.DS_Store
2822
*.pem
2923

30-
# debug
31-
npm-debug.log*
32-
yarn-debug.log*
33-
yarn-error.log*
34-
.pnpm-debug.log*
35-
3624
# env files (can opt-in for committing if needed)
3725
.env*
3826
convex/.env
@@ -47,11 +35,11 @@ next-env.d.ts
4735

4836
.codex
4937

50-
# START Ruler Generated Files
38+
# START Skiller Generated Files
5139
/.claude/skills
5240
/.codex/config.toml
5341
/.cursor/rules
5442
/.skillz
5543
/AGENTS.md
5644
/CLAUDE.md
57-
# END Ruler Generated Files
45+
# END Skiller Generated Files

.vscode/extensions.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"recommendations": [
3+
"unional.vscode-sort-package-json",
4+
"biomejs.biome",
5+
"dbaeumer.vscode-eslint",
6+
"Anthropic.claude-code",
7+
"bradlc.vscode-tailwindcss",
8+
"oven.bun-vscode"
9+
]
10+
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
"emmet.showExpandedAbbreviation": "never",
3131
"editor.codeActionsOnSave": {
3232
"source.fixAll.biome": "explicit",
33-
"source.organizeImports.biome": "explicit"
33+
"source.organizeImports.biome": "explicit",
34+
"source.sortPackageJson": "explicit"
3435
},
3536
"eslint.enable": true,
3637
"eslint.validate": [

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ A modern Next.js starter template featuring **Convex** backend with **Better Aut
3030
### Prerequisites
3131

3232
- Node.js 18 or later
33-
- pnpm package manager
33+
- Bun package manager
3434
- GitHub and/or Google OAuth app credentials
3535

3636
### Setup Instructions
@@ -40,7 +40,7 @@ A modern Next.js starter template featuring **Convex** backend with **Better Aut
4040
```sh
4141
git clone <your-repo-url>
4242
cd better-convex
43-
pnpm install
43+
bun install
4444
```
4545

4646
2. **Set up environment variables:**
@@ -76,15 +76,15 @@ RESEND_API_KEY=your_resend_api_key
7676

7777
```sh
7878
# This will start both Next.js and Convex
79-
pnpm dev
79+
bun dev
8080
```
8181

8282
5. **Initialize Convex environment (first time only):**
8383

8484
In a new terminal:
8585

8686
```sh
87-
pnpm sync
87+
bun sync
8888
```
8989

9090
6. **Open the app:**
@@ -94,9 +94,9 @@ Navigate to [http://localhost:3005](http://localhost:3005)
9494
### Database Management
9595

9696
```sh
97-
pnpm init # Populate with sample data
98-
pnpm reset # Reset all tables
99-
pnpm studio # Open Convex dashboard
97+
bun init # Populate with sample data
98+
bun reset # Reset all tables
99+
bun studio # Open Convex dashboard
100100
```
101101

102102
## Custom Convex Functions
@@ -274,14 +274,14 @@ args: {
274274
## Development Commands
275275

276276
```bash
277-
pnpm dev # Start dev servers
278-
pnpm typecheck # Run TypeScript checks
279-
pnpm lint # Check code with Ultracite/Biome
280-
pnpm lint:fix # Fix linting and formatting issues
281-
pnpm check # Run all checks (lint, ESLint, TypeScript)
282-
pnpm seed # Seed database
283-
pnpm reset # Reset database
284-
pnpm studio # Open Convex dashboard
277+
bun dev # Start dev servers
278+
bun typecheck # Run TypeScript checks
279+
bun lint # Check code with Ultracite/Biome
280+
bun lint:fix # Fix linting and formatting issues
281+
bun check # Run all checks (lint, ESLint, TypeScript)
282+
bun seed # Seed database
283+
bun reset # Reset database
284+
bun studio # Open Convex dashboard
285285
```
286286

287287
## Best Practices
@@ -481,7 +481,7 @@ After making these changes:
481481

482482
```bash
483483
# Regenerate Convex types
484-
pnpm dev
484+
bun dev
485485
```
486486

487487
This will give you a clean authentication-only starter with:

0 commit comments

Comments
 (0)