Docs
Repository map
Where everything lives and how to extend it without guesswork.
Know the terrain
The repo is split into content, UI, data, and automation. This map shows what each folder
owns and where new work should land so changes stay predictable.
Content
UI
Data
Automation
Top-level layout
| Path | Purpose | Notes |
|---|---|---|
pages/ |
Routes and API handlers | Next.js pages router + serverless API routes. |
components/ |
Reusable UI surfaces | Cards, headers, telemetry views, layout shells. |
lib/ |
Core logic + helpers | Markdown pipeline, caching, telemetry stores. |
data/ |
Typed content lists | Navigation, tools, projects, hobbies. |
docs/ |
Documentation source | Rendered at /docs. |
posts/ |
Blog content | Markdown + frontmatter for posts. |
scripts/ |
Automation helpers | Metrics refresh, syndication, adapters. |
schemas/ |
JSON schemas | Validation for syndication config and state. |
styles/ |
Global styling | Shared CSS variables and utilities. |
utils/ |
Build helpers | Feed generation and MDX utilities. |
public/ |
Static assets | Icons, images, and generated feeds. |
tests/ + __tests__/ |
Automated checks | Playwright E2E + Jest unit/component tests. |
Core runtime layers
Rendering
Pages + layout
Routing lives in pages/ with shared layout in components/layout.tsx.
Content
Markdown pipeline
Parsing and rendering lives in lib/markdown* and lib/docs.ts.
Telemetry
API + cache
Server cache lives in lib/cacheStore.ts and telemetry APIs under pages/api.
State
Metrics store
Metrics history uses lib/metricsStore.ts with file or DB adapters.
Configuration + schemas
package.jsonholds scripts, dependencies, and automation entry points.next.config.jsconfigures build-time behavior and runtime settings.vercel.jsondeclares Vercel cron schedules..releaserc.jsondefines semantic-release rules..syndication.config.jsonconfigures publishing filters and platform settings.schemas/stores JSON schemas for syndication config/state.
Generated and stateful files
State and generated artifacts
data/githubMetricsHistory.jsonstores historical GitHub metrics snapshots.data/nuget-packages.jsonstores auto-detected NuGet package mappings.data/projects.generated.tsstores generated repo entries from GitHub..syndication-state.jsontracks external publication URLs.public/rss.xml,public/atom.xml,public/rss.jsonare generated feeds.
Where to add new work
-
Add a new page
-
Add content
-
Add data
-
Add an API
-
Add automation