Skip to content

Development Documentation

Development Documentation

How to build, test, contribute to, and extend Guitar Prometheus.

Contents

  • Building: Local environment setup, dependencies, common CMake targets, the GP_ENABLE_SCORE_VIEWER flag, and the docs-site preview script.
  • Building on Windows: MSVC + CMake instructions and the portable-mode ZIP layout.
  • Releases: scripts/build-release.*, CPack generators, smoke procedure, slim DMG layout.
  • Testing: Test architecture, running the suite, fixture conventions.
  • Coding Rules: Style guide, doc-comment policy, commit-message format, and pointers to the ~/.claude/rules global rules.
  • Code-Review Standards: Cross-cutting standards codified in Phases 19 / 20.
  • Techniques: The base set of Technique enum values and the per-enum-value cadence for adding new ones.
  • Multi-Document Investigation: Phase 10 F10.4 spike findings; why juce::TabbedComponent for multi-Project is deferred and what picking it up later would look like.
  • Wishlist: Deferred / future features pulled from feature triage. Living document; entries graduate to a phase plan when they get picked up.

Docs Site

The customer-facing docs at guitar-prometheus.nullfragment.dev are built from this tree by the fragmented-infra/public-sites Docker image. The pipeline:

documentation/{customer,architecture,development}
└── + Doxygen → doxybook2 → api-reference/
├── inject-frontmatter.sh (Starlight title:)
├── rewrite-md-links.mjs (slug rewriting)
└── pnpm build (Astro Starlight)
└── nginx → cdn.

Local mirror: scripts/preview-docs-site.sh — see Building.