Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
af0d3f2
chore(deps): upgrade drizzle-orm and drizzle-kit to 1.0.0-beta.20
nsdeschenes Apr 3, 2026
a5f5b4c
chore(deps): upgrade ai and @ai-sdk/google
nsdeschenes Apr 3, 2026
6839d69
chore(deps): upgrade @clack/prompts from alpha to 1.2.0
nsdeschenes Apr 3, 2026
f944e51
chore(deps): upgrade @sentry/bun to 10.47.0
nsdeschenes Apr 3, 2026
59eff7a
chore(deps): upgrade zod to 4.3.6
nsdeschenes Apr 3, 2026
676e993
chore: add Claude Code settings and npm/pnpm block hook
nsdeschenes Apr 3, 2026
ce8bce1
chore: pin bun version to 1.3.11
nsdeschenes Apr 3, 2026
4b083d4
Tweak CI workflow a bit
nsdeschenes Apr 3, 2026
0c8a6b8
test(config): mock @clack/prompts to fix CI test failure
nsdeschenes Apr 3, 2026
ac8a97d
Fix formatting issues
nsdeschenes Apr 3, 2026
b38db18
test(config): use dynamic import to ensure mock is registered first
nsdeschenes Apr 3, 2026
008d527
chore: downgrade bun pin from 1.3.11 to 1.3.10
nsdeschenes Apr 3, 2026
4280478
chore(deps): pin bun to 1.3.11 and downgrade @clack/prompts to 1.1.0
nsdeschenes Apr 3, 2026
be77751
chore(deps): upgrade @clack/prompts back to 1.2.0
nsdeschenes Apr 3, 2026
c60186c
Maybe running on macos
nsdeschenes Apr 3, 2026
5cc9db7
Revert back to ubuntu-latest
nsdeschenes Apr 3, 2026
b08a261
Move imports into test callbacks
nsdeschenes Apr 3, 2026
c1666ef
Move cache before setting up bun
nsdeschenes Apr 3, 2026
546c1d2
More tweaks
nsdeschenes Apr 3, 2026
8395b32
Remove dots
nsdeschenes Apr 3, 2026
20d78ef
Maybe a global mock will make it happy
nsdeschenes Apr 3, 2026
4089a0a
Remove all the cancel
nsdeschenes Apr 3, 2026
c436b87
Maybe an older ubuntu version is the answer
nsdeschenes Apr 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .bun-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.3.11
10 changes: 10 additions & 0 deletions .claude/hook-scripts/block-npm-pnpm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Pre-tool hook: block npm and pnpm, suggest bun

input=$(cat)
command=$(echo "$input" | python3 -c "import sys, json; print(json.load(sys.stdin).get('tool_input', {}).get('command', ''))" 2>/dev/null)

if echo "$command" | grep -qE '(^|[[:space:]&|;`])(npm|pnpm)([[:space:]]|$)'; then
echo "Use 'bun' instead of npm/pnpm. This project uses bun as its package manager." >&2
exit 2
fi
15 changes: 15 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash .claude/hook-scripts/block-npm-pnpm.sh"
}
]
}
]
}
}
111 changes: 55 additions & 56 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,31 @@ on:
push:
branches:
- main
- 'release/*'
- "release/*"
pull_request:
branches: ['**']
branches: ["**"]
paths:
- '.github/workflows/ci.yml'
- 'Makefile'
- 'src/**'
- 'package.json'
- 'bun.lock'
- 'tsconfig.json'
- '.prettierrc*'
- 'eslint.config.*'
- '.eslintrc*'
- '**.test.*'
- '**.spec.*'
- ".github/workflows/ci.yml"
- "Makefile"
- "src/**"
- "package.json"
- "bun.lock"
- "tsconfig.json"
- ".prettierrc*"
- "eslint.config.*"
- ".eslintrc*"
- "**.test.*"
- "**.spec.*"

jobs:
install:
name: Install dependencies
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Cache dependencies
- name: Restore cache
uses: actions/cache@v4
with:
path: |
Expand All @@ -43,22 +38,22 @@ jobs:
restore-keys: |
${{ runner.os }}-bun-

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install

format:
name: Format check
needs: install
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
Expand All @@ -69,6 +64,11 @@ jobs:
restore-keys: |
${{ runner.os }}-bun-

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile

Expand All @@ -78,16 +78,11 @@ jobs:
type-check:
name: Type check
needs: install
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
Expand All @@ -98,25 +93,25 @@ jobs:
restore-keys: |
${{ runner.os }}-bun-

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Type check
run: bunx tsc --noEmit
run: bun run typecheck

lint:
name: Lint
needs: install
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
Expand All @@ -127,6 +122,11 @@ jobs:
restore-keys: |
${{ runner.os }}-bun-

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile

Expand All @@ -136,7 +136,7 @@ jobs:
build:
name: Build (${{ matrix.target }})
needs: install
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
target:
Expand All @@ -148,11 +148,6 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
Expand All @@ -163,6 +158,11 @@ jobs:
restore-keys: |
${{ runner.os }}-bun-

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile

Expand All @@ -172,25 +172,24 @@ jobs:
test:
name: Test
needs: install
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
node_modules
node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11

- name: Install dependencies
run: bun install --frozen-lockfile
Expand All @@ -201,7 +200,7 @@ jobs:
- name: Codecov Action
uses: getsentry/codecov-action@0.2.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
directory: ./coverage
coverage-format: lcov
post-pr-comment: true
token: ${{ secrets.GITHUB_TOKEN }}
directory: ./coverage
coverage-format: lcov
post-pr-comment: true
24 changes: 12 additions & 12 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: Labeler

on:
pull_request:
types: [opened, synchronize, reopened]
pull_request:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write
contents: read
pull-requests: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labeler.yml
sync-labels: true
label:
runs-on: ubuntu-22.04
steps:
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labeler.yml
sync-labels: true
2 changes: 1 addition & 1 deletion .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ permissions:
jobs:
prepare:
name: Prepare Release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions:
jobs:
publish:
name: Publish Release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'
steps:
- name: Check release label
Expand All @@ -33,7 +33,7 @@ jobs:
if: steps.check_labels.outputs.has_release == 'true'
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
bun-version: 1.3.11

- name: Cache dependencies
if: steps.check_labels.outputs.has_release == 'true'
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,6 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
.DS_Store

data/

# Claude Code local settings (personal permissions)
.claude/settings.local.json
Loading
Loading