aboutsummaryrefslogtreecommitdiff
path: root/validators/bash/README.md
diff options
context:
space:
mode:
authorAlex Pooley (@zuedev) <zuedev@gmail.com>2026-02-05 16:03:08 +0000
committerAlex Pooley (@zuedev) <zuedev@gmail.com>2026-02-05 16:03:08 +0000
commit4775de64eb752b90267114c0c1c95235820521f3 (patch)
treea24d73dd2ebe337a45bb6347c7be856bf72afad4 /validators/bash/README.md
parent6857b2514ac26a0731208e6f7c312cd70b606544 (diff)
downloadgitinfo-4775de64eb752b90267114c0c1c95235820521f3.tar
gitinfo-4775de64eb752b90267114c0c1c95235820521f3.tar.gz
gitinfo-4775de64eb752b90267114c0c1c95235820521f3.tar.bz2
gitinfo-4775de64eb752b90267114c0c1c95235820521f3.tar.xz
gitinfo-4775de64eb752b90267114c0c1c95235820521f3.zip
add CLI validators in Node.js, PowerShell, and Bash
Move validate.js to validators/nodejs/ and add equivalent validators for PowerShell and Bash. Each includes a README with usage instructions and requirements.
Diffstat (limited to 'validators/bash/README.md')
-rw-r--r--validators/bash/README.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/validators/bash/README.md b/validators/bash/README.md
new file mode 100644
index 0000000..3692a1d
--- /dev/null
+++ b/validators/bash/README.md
@@ -0,0 +1,60 @@
+# Bash Validator
+
+A Bash script for validating `.gitinfo` files.
+
+## Requirements
+
+- Bash 4+
+- [jq](https://jqlang.github.io/jq/) (JSON processor)
+
+Install jq:
+
+```bash
+# Debian/Ubuntu
+apt install jq
+
+# macOS
+brew install jq
+
+# Windows (via Chocolatey)
+choco install jq
+```
+
+## Usage
+
+```bash
+# Make executable (first time only)
+chmod +x validate.sh
+
+# Validate .gitinfo in current directory
+./validate.sh
+
+# Validate a specific file
+./validate.sh path/to/.gitinfo
+```
+
+## Features
+
+- Parses JSONC (strips `//` and `/* */` comments)
+- Validates against the gitinfo JSON Schema
+- Checks types and formats (URI, email)
+- Enforces `additionalProperties: false`
+- Returns exit code 0 on success, 1 on failure
+- Color-coded output (green for success, red for errors)
+
+## Example Output
+
+```
+✓ .gitinfo is valid
+```
+
+```
+Validation failed for .gitinfo:
+ - .root: invalid URI "not-a-url"
+ - root: unknown property "invalid_field"
+```
+
+## Limitations
+
+- Comment stripping is simplified and may not handle edge cases with comments inside strings
+- For complex validation, consider using the Node.js validator