Skip to main content

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What this repository is​

User documentation for the Exif Editor macOS app, written as Markdown content for a Docusaurus site. It is a git submodule (exifeditor2.docs.git) of the parent ExifEditor repository (one level up), which holds the app source; see ../CLAUDE.md for the app itself. The sibling submodule ../Docs Audio Tags Editor is the equivalent for Audio Tag Editor.

There is no build, lint, or test tooling here — the Docusaurus site config lives elsewhere, so pages cannot be previewed from this repo. Changes are plain Markdown/JSON edits.

Structure and Docusaurus conventions​

  • Each top-level section is a directory. Ordering and labels come from either an index.md with front matter (sidebar_label, sidebar_position, table_of_contents, optional description) or a _category_.json (label, position, link.type: generated-index). Keep sidebar_position values consistent with siblings when adding pages.
  • Images sit in an images/ folder next to the pages that use them (e.g. presets/images/).
  • Links between pages are relative paths, usually to the .md file.
  • index.md (root) is the landing page and keeps a hand-maintained list of tag pages under "Tags by standard"; update it when maker-note pages are added or removed.

Generated tag reference pages​

The tag tables under tags/ (tags/exif/index.md, tags/exif/gps.md, tags/exif/maker-notes/<maker>.md, tags/iptc.md, tags/xmp.md) are generated by the parent repo's Preprocessor (../Preprocessor/src/docs_pipeline.py, from Airtable data and ExifKit/Sources/ExifKit/en.lproj/Tags.json). They have no front matter and consist of | Title | Description | tables. Prefer fixing tag names/descriptions at the source; hand edits to these files are overwritten on regeneration. Note that the pipeline's write_md_file writes to Docs/docs/tags relative to the Preprocessor, not directly into this repo.

Hand-written pages under tags/ (e.g. tags/exif/maker-notes/index.md, tags/index.md, tags/file-types.md) are not generated.

Just a note about tag pages - do not write what is and what is not visible in the UI. It's a tag reference.

Writing guidelines​

  • Documentation must describe the app's actual behavior. When documenting a feature, verify it against the Swift source in the parent repo (../Exif Editor, ../ExifKit/Sources/...) rather than guessing — e.g. supported file types in file-types.md and the manufacturer/Make/file-type table in tags/exif/maker-notes/index.md reflect what the code actually supports.
  • Refer to UI elements by their exact in-app labels in bold (e.g. Change file create time on save to:) and keyboard shortcuts in backticks (e.g. Cmd+1).
  • Edits to tags in the app are in-memory until files are saved; pages should be clear about when changes reach disk.