Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/vrt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
contents: read

container:
image: mcr.microsoft.com/playwright:v1.40.1-focal
image: mcr.microsoft.com/playwright:v1.52.0-focal

defaults:
run:
Expand Down
23 changes: 23 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Commands
- Build: `pnpm build`
- Dev server: `pnpm dev`
- Production server: `pnpm start`
- Linting: `pnpm lint` (runs both Biome and TypeScript checks)
- Linting (Biome only): `pnpm lint:biome`
- Linting (TypeScript only): `pnpm lint:tsc`
- Formatting: `pnpm format`
- Tests: `pnpm test:vrt:compare`
- Single test: `pnpm test:vrt:compare --grep="test name"`
- Update test snapshots: `pnpm test:vrt:screenshots`

## Style Guide
- Uses TypeScript in strict mode with path alias `@/*` → `./src/*`
- Package manager: pnpm 10.9.0
- Biome config: Extends `@mh4gf/configs/biome`
- Next.js App Router structure with _features, _components folders
- TypeScript Promise handling in event handlers needs checksVoidReturn attributes:false
- Uses Tailwind CSS v4 for styling
21 changes: 0 additions & 21 deletions web/.eslintrc.js

This file was deleted.

2 changes: 1 addition & 1 deletion web/.node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.18.2
22.14.0
18 changes: 18 additions & 0 deletions web/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"extends": [
"./node_modules/@mh4gf/configs/biome/index.jsonc",
"./node_modules/@mh4gf/configs/biome/react.jsonc"
],
"linter": {
"rules": {
"correctness": {
"useImportExtensions": "off"
},
"performance": {
"noBarrelFile": "off",
"noReExportAll": "off"
}
}
}
}
58 changes: 26 additions & 32 deletions web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,41 @@
"scripts": {
"build": "next build",
"dev": "next dev",
"format": "conc -c auto pnpm:format:*",
"format:eslint": "eslint --fix .",
"format:prettier": "prettier --cache --write .",
"lint": "conc -c auto pnpm:lint:*",
"lint:next": "next lint",
"lint:prettier": "prettier --cache --check .",
"format": "biome format --write .",
"lint": "concurrently \"pnpm lint:biome\" \"pnpm lint:tsc\"",
"lint:biome": "biome check .",
"lint:tsc": "tsc --noEmit",
"start": "next start",
"test:vrt:compare": "playwright test",
"test:vrt:screenshots": "playwright test --update-snapshots"
},
"prettier": "@mh4gf/configs/prettier",
"dependencies": {
"@tailwindcss/forms": "^0.5.6",
"ahooks": "^3.7.8",
"clsx": "^2.0.0",
"next": "14.0.3",
"next-auth": "^4.23.2",
"@tailwindcss/forms": "^0.5.10",
"ahooks": "^3.8.4",
"clsx": "^2.1.1",
"next": "15.3.1",
"next-auth": "^4.24.11",
"pattycake": "^0.0.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-github-btn": "^1.4.0",
"server-only": "^0.0.1",
"ts-pattern": "^5.0.5",
"valibot": "^0.19.0"
"ts-pattern": "^5.7.0",
"valibot": "^1.0.0"
},
"devDependencies": {
"@mh4gf/configs": "^0.3.0",
"@mh4gf/eslint-config": "^0.5.1",
"@playwright/test": "^1.40.1",
"@types/node": "^20.8.3",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.2.17",
"autoprefixer": "^10.4.16",
"concurrently": "^8.2.2",
"eslint": "^8.51.0",
"eslint-config-next": "13.5.4",
"eslint-plugin-tailwindcss": "^3.13.0",
"postcss": "^8.4.31",
"prettier": "^3.0.3",
"tailwindcss": "^3.3.3",
"typescript": "^5.2.2"
"@biomejs/biome": "1.9.4",
"@mh4gf/configs": "^0.4.5",
"@playwright/test": "^1.52.0",
"@tailwindcss/postcss": "4.1.4",
"@types/node": "^22.14.1",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"autoprefixer": "^10.4.21",
"concurrently": "^9.1.2",
"postcss": "^8.5.3",
"tailwindcss": "^4.1.4",
"typescript": "^5.8.3"
},
"packageManager": "pnpm@8.9.2"
"packageManager": "pnpm@10.9.0"
}
1 change: 1 addition & 0 deletions web/playwright.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { defineConfig, devices } from '@playwright/test'

// biome-ignore lint/style/noDefaultExport: playwright requires default export
export default defineConfig({
testDir: './src/__vrt__',
testMatch: 'vrt.test.ts',
Expand Down
Loading
Loading