This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Docusaurus-based documentation site for QuestDB. Key commands:
yarn start- Start development server on port 3001yarn build- Build production versionyarn serve- Serve built site locally
- Node.js and Yarn package manager
- Java (for railroad diagram generation)
- Python (for railroad diagram scripts)
- Source: Content lives in
/documentation/directory - Static Assets: Images, diagrams, and files in
/static/ - Components: React components for documentation in
/src/components/ - Themes: Custom Docusaurus theme overrides in
/src/theme/
documentation/- Main documentation content (markdown/MDX files)documentation/reference/- API and SQL reference documentationdocumentation/guides/- User guides and tutorialsdocumentation/concept/- Conceptual documentationstatic/images/- Documentation images and diagramssrc/components/- Custom React components for docsplugins/- Custom Docusaurus plugins
- Documentation uses hierarchical structure with sidebars defined in
documentation/sidebars.js - Supports both
.mdand.mdxfiles - Partial files (
.partial.mdx) are excluded from routing but can be imported - Math expressions supported via KaTeX
- Mermaid diagrams supported
- QuestDB SQL: Use
questdb-sqllanguage identifier for syntax highlighting - Railroad Diagrams: SQL syntax diagrams generated via
scripts/railroad.py - Math: LaTeX-style math between
$(inline) or$$(block) - Admonitions:
:::note,:::tip,:::info,:::warning,:::danger
<RemoteRepoExample />- Include code from other QuestDB repositories<TabItem />and<Tabs />- Tabbed content sections- Various custom theme components in
src/theme/
- Lint-staged hook optimizes images automatically
- WebP conversion supported via
scripts/webp-converter.sh - Size checking via
scripts/check-size-hook.sh
- Use Railroad online editor to design
- Save syntax to
static/images/docs/diagrams/.railroad - Run
python3 scripts/railroad.py [name]to generate SVG - Include generated markdown in documentation
- Follow existing file naming conventions
- Use proper admonitions for important information
- Include code examples with appropriate language identifiers
- Optimize images before committing (handled automatically by hooks)
- ESLint and Prettier configured for code quality
- JavaScript Standard Style rules enforced
- Format on save recommended in editor
- Webpack handles linting during development
docusaurus.config.js- Main Docusaurus configurationdocumentation/sidebars.js- Documentation navigation structurepackage.json- Dependencies and scriptstailwind.config.js- Tailwind CSS configuration
ALGOLIA_APP_IDandALGOLIA_API_KEY- Search functionalityNETLIFYandCONTEXT- Build environment detection
- Production builds minify CSS and disable update notifiers
- Preview builds use relaxed error handling
- Algolia search integration for documentation search
- PWA support configured with custom manifest