# ScoreScript syntax wiki

Reference for writing, reading, and embedding ScoreScript 0.3. Each page gives
the syntax, its meaning, and examples. Read any section independently; typing
the examples is optional. The notation beside each example is its generated
output, not an exercise to solve.

## Core syntax

1. [File syntax](first-score.md): a complete file and its components.
2. [Notes and pitch](pitch.md): octaves, accidentals, chords, and solfège.
3. [Rhythm and silence](rhythm.md): note values, dots, tuplets, grace notes, and rests.
4. [Parts, voices, and measures](structure.md): organize a solo or an ensemble.

## Musical detail

- [Articulations, dynamics, and text](marks.md)
- [Slurs, ties, and lines](connectors.md)
- [Meter, key, tempo, and clef](context.md)
- [Repeats, endings, and navigation](repeats.md)
- [Lyrics and chord symbols](lyrics.md)
- [Chord spellings and implementation status](chords.md)
- [Percussion and sticking](percussion.md)

## Larger works

- [Page and system layout](layout.md)
- [Named exercises, shared passages, and transposition](reuse.md)
- [Consolidation and normalization](normalization.md)
- [Source arrangements and output views](representations.md)
- [Movements, exercises, and books](collections.md)
- [Checking, formatting, and fixing mistakes](checking.md)

## Installation and integration

- [Install and use in other tools](integration.md): CLI, Node, editors, and agents.
- [Embed on a website](embedding.md): static notation or a browser engine.
- [Self-host this wiki](self-hosting.md): build and publish the documentation.

## Reading the examples

An example beginning with `scorescript 0.3` explicitly declares its version
and score context. Bare musical rows are also valid ScoreScript source: they
can compile on their own with default context, or go inside a musical body.
Header settings and structural blocks belong in their stated scope; do not
paste every source form inside a part.
Unless specified, bare music uses 4/4, quarter-note durations, absolute pitch
spelling, and an initial unnumbered pitch in octave 4. Set the instrument and
tempo explicitly when they matter. Non-ScoreScript code blocks are host code,
commands, or labeled syntax excerpts; they are not standalone score files.

Examples use the current label-before-brace arrangements. Older accepted
spellings appear only in compatibility notes. Acceptance by the parser does
not make a spelling the recommended form for new source.

Pitch examples anchor the opening register, then use relative contour and
apostrophe or comma octave shifts. Repeating absolute octave digits at every
bar is not the recommended style. See [notes and pitch](pitch.md).

The reference describes the current native engine. Provisional features and
unsupported notation are identified where you encounter them. A successful
syntax check does not by itself prove every mark will print or play; inspect
the rendered result as well.
