CLAUDE.md¶
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview¶
This is a Sphinx-based documentation project for wafer.space end user documentation. The documentation uses:
Sphinx as the documentation generator
Furo theme for styling
MyST Parser for Markdown support
Cogapp for code generation
Common Commands¶
Build Documentation¶
# Build HTML documentation
make html
# Clean build directory and rebuild
make clean html
# Build other formats
make latexpdf # PDF via LaTeX
make epub # EPUB format
Development Server¶
# Live reload server for development
make livehtml
# OR
sphinx-autobuild -b html . _build
Install Dependencies¶
# Setup virtual environment and install dependencies
make setup
# Or just install dependencies in current environment
make install
# Clean virtual environment
make clean-venv
Architecture Notes¶
Documentation Structure¶
Main entry point:
index.md- Contains the master table of contentsConfiguration:
conf.py- Sphinx configuration with project metadata and extension settingsBuild output:
_build/directory (gitignored)Templates:
_templates/base.htmlfor custom HTML modifications
Key Configuration Details¶
Uses MyST parser with colon_fence extension enabled for enhanced Markdown features
Git-based versioning automatically extracted from tags
Source files use
.rstsuffix by default but.mdfiles are supported via MySTTheme: Furo (modern, responsive documentation theme)
Adding New Pages¶
Create new
.mdfiles in the root directoryAdd the filename (without extension) to the toctree in
index.mdThe documentation will automatically include the new page in the build
Important Build Behavior¶
The build process uses
git describe --tags --alwaysto determine version numbersAll Markdown files support MyST syntax including directives and roles
The project name “wafer.space End User Documentation” is used throughout the build
Git Workflow¶
Branch Management¶
When making changes, start a new git branch and then make sure to commit to the git repository frequently as you work
Once the work has been completed ask the user if you should merge the created branch into the main branch
Don’t delete the branches after merging
When merging the branches to main, make sure to not fast forward