Files
git-tools/public
2026-09-01 13:05:57 +02:00
..
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00
2026-09-01 13:05:57 +02:00

Git Tools

Inspect and author Git interchange formats locally in the browser.

Git Tools is a standalone local-first application in the add·ideas Toolbox. Inputs are processed in the browser and are not uploaded.

Version 0.1 scope

  • Unified and git diff patch parsing with file status, modes, renames, hunk counts, line numbers, statistics, binary markers, and diagnostics
  • Unified patch authoring from before/after text with bounded LCS, context selection, path safety, and missing-final-newline markers
  • Root .gitignore matching for comments, escapes, globstars, character classes, directory rules, negation, ordered explanations, and ignored-parent diagnostics
  • Strict SemVer 2.0 precedence plus common exact, comparator, partial, wildcard, hyphen, tilde, caret, AND, and OR ranges
  • Conventional Commit builder and structural lint with breaking-change/footer diagnostics
  • Keep-a-Changelog heading/section normalization, stable ordering, and duplicate-entry removal

Patch and before/after inputs are capped at 4 MiB with additional file, line, hunk, and diff-matrix bounds. .gitignore evaluates one repository-root file only; it does not read nested ignore files, global excludes, index state, or submodules. No workspace or .git directory is accessed. See docs/ARCHITECTURE.md and docs/PRIVACY-SECURITY.md.

Development

Requires Node.js 22 and npm 11.

npm ci
npm run check
npm run test:browser

Release

npm run release:artifact creates a deterministic release/git-tools-0.1.0.zip and checksum sidecar.

Licence

GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.