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
7 changes: 0 additions & 7 deletions .claude/settings.local.json

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ yarn-error.log*

# Contentlayer
.contentlayer
.claude/settings.local.json
12 changes: 6 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
- **Content**: Contentlayer2 — MDX files in `data/blog/` and `data/authors/`
- **Styles**: Tailwind CSS 3 (class-based dark mode, Space Grotesk font)
- **Deployment**: Vercel
- **Package manager**: `yarn` — never use `npm install` or `npm run`
- **Package manager**: `npm`
- **Comments**: Giscus (GitHub Discussions), configured via env vars
- **Search**: kbar (local `public/search.json`, regenerated on build)
- **Analytics**: Google Analytics via Pliny

## Key Commands

```bash
yarn dev # start dev server
yarn build # production build + postbuild (RSS, search index)
yarn lint # ESLint with auto-fix
npm run dev # start dev server
npm run build # production build + postbuild (RSS, search index)
npm run lint # ESLint with auto-fix
```

## Path Aliases (tsconfig.json)
Expand Down Expand Up @@ -58,7 +58,7 @@ The following are already implemented — do not duplicate or replace them:

- Do not add API routes — this is a static/SSG blog with no backend
- Do not add a database or server-side state
- Contentlayer2 auto-generates TypeScript types on `yarn build` / `yarn dev` — do not edit `.contentlayer/` manually
- Contentlayer2 auto-generates TypeScript types on `npm run build` / `npm run dev` — do not edit `.contentlayer/` manually
- ESLint uses flat config (`eslint.config.mjs`) — not `.eslintrc`
- External links require `target="_blank"` and `rel="noopener noreferrer"` (enforced by ESLint)

Expand All @@ -70,4 +70,4 @@ The following are already implemented — do not duplicate or replace them:

**Remote images** — `next/image` only proxies domains listed in `next.config.js` → `images.remotePatterns`. Currently only `picsum.photos` is allowed. Add new domains there before using external image URLs in posts or components.

**Bundle analysis** — run `ANALYZE=true yarn build` to open the webpack bundle visualiser. Useful before committing large new dependencies.
**Bundle analysis** — run `ANALYZE=true npm run build` to open the webpack bundle visualiser. Useful before committing large new dependencies.
56 changes: 29 additions & 27 deletions app/tag-data.json
Original file line number Diff line number Diff line change
@@ -1,41 +1,43 @@
{
"atomic-design": 1,
"sitecoreai": 9,
"nextjs": 6,
"ai": 2,
"strategy": 2,
"claude": 1,
"development-workflow": 1,
"sitecore": 39,
"headless-cms": 1,
"search": 1,
"sitecore-search": 1,
"composable": 1,
"dxp": 1,
"architecture": 5,
"xmcloud": 8,
"multi-site": 2,
"react": 1,
"vercel": 4,
"atomic-design": 1,
"headless-cms": 1,
"design-systems": 1,
"storybook": 2,
"saas": 6,
"unit-testing": 2,
"github-workflows": 1,
"pages": 1,
"security": 1,
"headless": 11,
"jss": 9,
"azure": 5,
"cicd": 4,
"cloud": 7,
"xmcloud": 8,
"sitecoreai": 8,
"pages": 1,
"saas": 6,
"sitecore-send": 2,
"cdp": 1,
"sxa": 4,
"jss": 9,
"headless": 11,
"seo": 1,
"devops": 2,
"searchstax": 2,
"solr": 6,
"cicd": 4,
"vercel": 4,
"helix": 3,
"react": 1,
"nextjs": 5,
"architecture": 5,
"sitecore-send": 2,
"cdp": 1,
"search": 1,
"sitecore-search": 1,
"aws": 1,
"accessibility": 1,
"security": 1,
"storybook": 2,
"unit-testing": 2,
"aspnet": 1,
"seo": 1,
"github-workflows": 1,
"composable": 1,
"dxp": 1,
"ai": 1,
"strategy": 1
"aws": 1
}

Large diffs are not rendered by default.

Loading
Loading