This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
When git commit takes unexpectedly long, it’s usually due to one (or more) of:
- Pre-commit hooks (linting, formatting, tests) running over all files
- Repository size & history (large blobs, node_modules, build directories)
- Editor fs-watchers (VS Code rescanning large folders)
# Inside your repo
cd $(git rev-parse --show-toplevel)
# 1) Skip hooks to see if they’re the culprit
TIMEFORMAT='commit-without-hooks took %R seconds'
time git commit --allow-empty -m "bench" --no-verify
# 2) Check repo size
git count-objects -vH
# 3) Find biggest blobs
git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize:padded) %(rest)' \
| grep '^blob' \
| sort -k3nr \
| head -20-
Optimize hooks
- If
--no-verifyis instant, speed up your pre-commit chain:- Use
eslint --cacheor lint-staged to only check changed files - Limit
next lintto source directories (next lint --dir src) - Move heavy checks (type-check, full test suite) to CI
- Use
- If
-
Prune and compact
git gc --prune=now --aggressive
Remove or migrate large binaries to Git LFS and purge with `git filter-repo`.
3. **Exclude large folders from VS Code watchers**
Create or update `.vscode/settings.json`:
```jsonc
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.next/**": true,
"**/dist/**": true
},
"git.autoRepositoryDetection": false
}
- Tweak global Git config
git config --global core.preloadIndex true /git config --global core.fscache true git config --global gc.auto 256 # auto-gc after 256 loose objects
5. **Optional: Bypass for WIP**
- Use `git commit --no-verify` to skip hooks during rapid prototyping
Once optimized, commits should drop from minutes to seconds. If issues persist, share any stack traces or timings and we'll dig deeper.