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
9 changes: 5 additions & 4 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ A starter template repository — not a product. Clone it, add a UI component li

## Tech Stack

- **Framework**: Next.js 16 (App Router, React Compiler, TypeScript strict)
- **Styling**: Tailwind CSS v4
- **Testing**: Vitest + Testing Library (unit), Playwright (E2E)
- **Quality**: Biome (lint + format, replaces ESLint/Prettier), Lefthook (git hooks)
- **Framework**: Next.js 16.2 (React 19, App Router, React Compiler, TypeScript 6)
- **Styling**: Tailwind CSS 4.2
- **Testing**: Vitest 4.1 + Testing Library (unit), Playwright 1.59 (E2E)
- **Quality**: Biome 2.4 (lint + format, replaces ESLint/Prettier)
- **Git Hooks**: Lefthook 2.1
- **Deployment**: Vercel (Preview on PR, Production on merge)

## Breaking Changes (Next.js 16 / Tailwind 4)
Expand Down
59 changes: 0 additions & 59 deletions .claude/commands/coderabbit.md

This file was deleted.

58 changes: 0 additions & 58 deletions .claude/commands/commit.md

This file was deleted.

22 changes: 0 additions & 22 deletions .claude/commands/merge-cleanup.md

This file was deleted.

113 changes: 48 additions & 65 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1,77 +1,60 @@
{
"extraKnownMarketplaces": {
"playwright-skill": {
"source": {
"source": "github",
"repo": "lackeyjb/playwright-skill"
}
}
},
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"deny": ["Read(**/.env)", "Read(**/.envrc)"],
"ask": [],

"allow": [
"mcp__ide__getDiagnostics",

"Bash(claude mcp get:*)",
"Bash(claude mcp get *)",
"Bash(claude mcp list)",

"mcp__playwright__browser_click",
"mcp__playwright__browser_close",
"mcp__playwright__browser_console_messages",
"mcp__playwright__browser_evaluate",
"mcp__playwright__browser_navigate",
"mcp__playwright__browser_navigate_back",
"mcp__playwright__browser_network_requests",
"mcp__playwright__browser_resize",
"mcp__playwright__browser_run_code",
"mcp__playwright__browser_snapshot",
"mcp__playwright__browser_tabs",
"mcp__playwright__browser_take_screenshot",
"mcp__playwright__browser_wait_for",

"Bash(cat:*)",
"Bash(echo:*)",
"Bash(find:*)",
"Bash(lsof:*)",
"Bash(ls:*)",
"Bash(sed:*)",
"Bash(tree:*)",
"Bash(wc:*)",
"Bash(xargs:*)",

"Bash(git log:*)",
"Bash(gh pr checks:*)",
"Bash(gh pr list:*)",
"Bash(gh run list:*)",
"Bash(gh run view:*)",

"Bash(echo *)",
"Bash(find *)",
"Bash(gh pr checks *)",
"Bash(gh pr list *)",
"Bash(gh pr view *)",
"Bash(gh run list *)",
"Bash(gh run view *)",
"Bash(git log *)",
"Bash(ls *)",
"Bash(lsof *)",
"Bash(npm outdated)",
"Bash(npm run build)",
"Bash(npm run dev)",
"Bash(npm run start)",
"Bash(npm run check)",
"Bash(npm run lint)",
"Bash(npm run lint:md:*)",
"Bash(npm run test)",
"Bash(npm run test:e2e:*)",
"Bash(npm run test:unit:*)",
"Bash(npm run typecheck)",
"Bash(npx @biomejs/biome:*)",
"Bash(npx lefthook:*)",
"Bash(npx playwright:*)",

"Bash(npx vercel:*)",
"Bash(npm run *)",
"Bash(npx @biomejs/biome *)",
"Bash(npx lefthook *)",
"Bash(npx playwright *)",
"Bash(tree *)",
"Bash(vercel --help)",
"Bash(vercel env --help)",
"Bash(vercel env ls:*)",
"Bash(vercel env ls *)",
"Bash(vercel git --help)",
"Bash(vercel integration --help)",
"Bash(vercel list:*)",
"Bash(vercel list *)",
"Bash(vercel open)",
"Bash(vercel project ls:*)",
"Bash(vercel whoami)"
]
"Bash(vercel project ls *)",
"Bash(vercel whoami)",
"Bash(wc *)",
"mcp__ide__getDiagnostics",
"mcp__playwright__browser_*",
"mcp__playwright__browser_run_code"
Comment thread
coderabbitai[bot] marked this conversation as resolved.
],
"deny": ["Read(**/.env*)", "Read(**/.envrc)"],
"ask": []
},
"enabledPlugins": {
"git-utils@my-claude-marketplace": true,
"typescript-lsp@claude-plugins-official": true,
"frontend-design@claude-plugins-official": false,
"feature-dev@claude-plugins-official": false
},
"extraKnownMarketplaces": {
"my-claude-marketplace": {
"source": {
"source": "github",
"repo": "michellepace/my-claude-marketplace"
}
},
"claude-plugins-official": {
"source": {
"source": "github",
"repo": "anthropics/claude-plugins-official"
}
}
}
}
2 changes: 1 addition & 1 deletion .github/workflows/test-e2e-vercel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
# to the original commit SHA so the PR's required check is satisfied
- name: Report status to PR
if: always()
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
script: |
const state = '${{ job.status }}' === 'cancelled' ? 'error' : '${{ job.status }}';
Expand Down
17 changes: 17 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Configuration for markdownlint-cli2 and VSCode/Cursor extension
# Extension: davidanson.vscode-markdownlint

ignores:
- "node_modules/**"

# Disable only the rules that interfere with practical markdown writing
config:
MD013: false # Line length (inappropriate for markdown)
MD024: false # Allow duplicate headings ("### Example", "### Example")
MD033: false # Allow inline HTML (<details>, <tags>, etc.)
MD036: false # Allow emphasis (bold/italic) without treating it as heading
MD040: false # Fenced code blocks don't need language specified
MD028: false # Allow blank lines between blockquotes (attributed quotes)
MD041: false # First line doesn't need to be h1
MD060: false # Table column style (compact tables are fine)
MD032: false # Lists in templates don't need surrounding blank lines
11 changes: 0 additions & 11 deletions .markdownlint.yaml

This file was deleted.

1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"files.exclude": {
"**/.next": true, // Hide Next.js build output
"**/node_modules": true, // Hide npm installed dependencies
"**/.ruff_cache": true, // Hide Ruff linter cache
"next-env.d.ts": true, // Hide Next.js file (uneditable)
"tsconfig.tsbuildinfo": true // Hide TypeScript build info file
},
Expand Down
File renamed without changes
Binary file added .xdocs/images/nextjs-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .xdocs/images/rough-notes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
Loading
Loading