This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the documentation site for Genezio, an AI Visibility platform. It's a zero-dependency static site generator that converts Markdown content into styled HTML pages. No framework — just a single build.js Node.js script.
- Build:
npm run build(runsnode build.js, outputs todist/) - Clean:
npm run clean(removesdist/) - No test suite or linter is configured.
The entire site is generated by build.js, which:
- Reads Markdown files from
content/directory - Converts them to HTML using a custom inline Markdown parser (no external libraries)
- Applies an HTML shell template with navigation sidebar
- Writes output to
dist/
Key data structures in build.js:
sectionsarray: Defines all doc sections, their slugs, and ordered page lists. This is the single source of truth for site navigation.standaloneDocsarray: Top-level pages outside section hierarchy (e.g., Getting Started).PAGE_OVERRIDESobject: Per-page metadata overrides (summary, goals, workflow, metrics) keyed as"section-slug::Page Title".PARTIAL_SECTIONSset: Sections where only some pages have Markdown content files; missing pages get auto-generated placeholder content.
content/docs/{section-slug}/— Markdown source files per section- Page filenames are slugified from the title in the
sectionsarray (e.g., "How LLM Search Works" →how-llm-search-works.md) content/docs/{section-slug}/index.md— Section landing pages (currently empty/unused; the build generates index pages from section metadata)
- Add the page title to the appropriate section in the
sectionsarray inbuild.js - Create the corresponding
.mdfile incontent/docs/{section-slug}/ - Optionally add entry to
PAGE_OVERRIDESfor custom metadata - Run
npm run build
- Add a new object to
sectionsinbuild.jswithslug,title,description, andpagesarray - Create
content/docs/{new-slug}/directory with Markdown files - Run
npm run build
- Vercel: Configured via
vercel.json(build command:npm run build, output:dist/) - GitHub Pages: Deployed via
.github/workflows/deploy-pages.ymlon push tomain - The
dist/directory is checked into git (deploy artifacts are committed)
- The Markdown parser is custom and limited — it supports headings, paragraphs, inline code, bold, italic, links, lists, blockquotes, code blocks, and tables. No MDX or advanced Markdown features.
- Links in Markdown use
.mdextensions; the build rewrites them to.html. - All styling is inline CSS generated within
build.js(no external CSS files).