Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
22
Purpose
Sign in to like and favorite skills
Purpose
Quick facts
app/ for routes and layouts. Server and client components are used.config/portfolio.ts which is the single source of truth for content.tailwind.config.js) + app/globals.css for CSS variables and dark/light themes.Image + next.config.js image settings (AVIF/WebP, remotePatterns). Prefer public/images/ for local assets.Where to look first (high-value files)
app/layout.tsx — root layout, theme provider, metadata wiring (reads config/portfolio.ts).app/page.tsx — home page server component; calls lib/fetch helpers like lib/github.ts to load projects.config/portfolio.ts — primary content/config. Edit this to change personal info, skills, projects, SEO, etc.lib/github.ts — GitHub fetch helpers; used by app/page.tsx and scripts. See scripts/fetch-github-projects.ts for offline fetch workflow.components/ — UI components and well-scoped subfolders (sections, ui, navigation). Follow existing component patterns (props, skeletons, small focused components).app/api/resume/route.ts — server route that returns the resume (used by config.portfolio.personal.social.resumeLink).docs/ — implementation notes (image & performance best-practices). Check before changing images or animations.Developer workflows & commands
npm installnpm run dev (runs next dev) — use this to validate UI/hot-reload changes.npm run build then npm start for production verification.npm run lint (Next lint integration).npm run fetch-projects runs scripts/fetch-github-projects.ts via ts-node to populate or test GitHub project fetching.Project-specific conventions (do not assume defaults)
config/portfolio.ts for any change to personal info, projects, skills, SEO, images paths, etc. Many components import this file directly.app/page.tsx are async server components and call lib functions (e.g., fetchGitHubProjects). Preserve server/component boundaries when moving code.Image and local assets in public/images/. If you add external sources, update next.config.js remotePatterns accordingly.app/loading.tsx and components like home-with-loading.tsx); when adding async UI, provide fallbacks.ThemeProvider is used in app/layout.tsx (see components/theme-provider.tsx); theme changes should preserve CSS variable usage in globals.css.@/ path alias (check tsconfig.json); prefer these imports to relative path climbing.Integration points & environment
NEXT_PUBLIC_SITE_URL, NEXT_PUBLIC_GOOGLE_ANALYTICS — used in next.config.js and app/layout.tsx.@octokit/graphql) for dynamic projects; check lib/github.ts and script in scripts/.@next/third-parties/google in app/layout.tsx.Examples (copy-paste friendly)
config/portfolio.ts -> personal and seo sections. app/layout.tsx will pick up changes automatically on reload.config/portfolio.ts projects array. Include id, title, description, image (in public/images/projects/ or full HTTPS URL), technologies.remotePattern in next.config.js.npm run dev and confirm it appears on /.npm run fetch-projects — used to test the GitHub fetch logic outside the runtime.Checks and cautions for automated changes
width/height (or layout appropriate props) are set on Image, and confirm next.config.js supports the domain.docs/PERFORMANCE_OPTIMIZATIONS.md) and aim to keep performance budgets.app/layout.tsx metadata without updating config/portfolio.ts — metadata is generated from the config file.app/api/) or server components.What I (AI) should do automatically
config/portfolio.ts when user asks to update name, bio, skills, or projects.components/ following existing naming and styling patterns. Use ui/ primitives when available.public/images/ and update config/portfolio.ts; update next.config.js if external domains are required.If you're unsure where to edit
config/portfolio.ts for content changes.app/layout.tsx and components/sections/*.lib/* and app/page.tsx.If anything above is unclear, tell me which part you'd like expanded (build scripts, data flow, or component patterns) and I'll iterate.