Conventions

Commit style

One convention across the whole Nexigrid repo: a scoped, lowercase title — and a body that explains what and why when the change isn't obvious.

Titles are written in English or Italian as the repo history flows; bodies are written in Italian by convention. What matters is the structure:

Format

git
<scope>: <short lowercase description>

<optional body: explains WHAT and WHY>

Scopes

PlaygroundChanges inside assets/playground/.
Playground <component>A specific playground snippet or module.
ng_<component>Patch to a single component (e.g. ng_observer: ...).
NG <ver> freeze [Fase <N>]Structured release work (e.g. NG 1.0 freeze [Fase D.1]: ...).
CleanupRemoving old snapshots, dead code, unused files.
FixTargeted bugfix.
SCSSGeneral styling updates.
UpdatesMixed changes to components / partials / tests in one go.

Real titles from the history

git log --oneline
ng_observer: skip unmount per nodi spostati (non realmente rimossi)
Playground page-loader: fix classi corrette + UI dimostrativa
Playground: aggiunti 8 snippet mancanti (aux, count, formatter, header, ...)
NG 1.0 freeze [Fase E static]: snackbar listener + docs overlay riclassificato
NG 1.0 freeze [Fase D.1]: 6 componenti core 100% conformi al contratto
Cleanup: rimossi vecchi snapshot di ng_table (v1..v2.37) e app_master-old

Commit body

When the change needs explaining (bugfix, non-obvious refactor): blank line after the title, then cause and fix choice; link related commits, list the main files when there are many.

git show
ng_observer: skip unmount per nodi spostati (non realmente rimossi)

Bug: _flushRemoved() chiamava ng.unmount() su qualsiasi nodo rimosso
dal MutationObserver, inclusi quelli soltanto SPOSTATI da un parent
all'altro. Tipico caso: popover.open() porta il root in document.body
via appendChild — l'observer vede 'removed from original parent' e
smonta l'istanza, cancellando TUTTI i listener.

Fix: in _flushRemoved(), prima di chiamare ng.unmount(removed), check
if (document.contains(removed)) → skip. Un nodo ancora nel document
non è stato realmente rimosso, è stato spostato.

Co-author & tags

Commits made with AI assistance append a co-author trailer:

git
Co-Authored-By: Claude <noreply@anthropic.com>

Notable versions get an annotated tag, named <scope>-v<MAJOR.MINOR>[-stable]:

shell
git tag -a playground-v0.4-stable -m "version description"