35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
# 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](https://git.add-ideas.de/lotobo/toolbox-portal). 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](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
|
|
|
|
## Development
|
|
|
|
Requires Node.js 22 and npm 11.
|
|
|
|
```sh
|
|
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](THIRD_PARTY_NOTICES.md).
|