11---
22name : germanic
33description : >
4- Compile JSON to validated zero-copy binary (.grm).
5- Use when producing structured data for AI systems,
6- validating schemas, or working with .grm files.
7- Catches missing fields, wrong types, empty strings.
8- Accepts JSON Schema Draft 7 and GERMANIC native format.
9- Security: binary output prevents structural injection —
10- data cannot be reinterpreted as instructions.
4+ Validate JSON data against schemas and compile to binary .grm files.
5+ Schema-enforced data contracts for AI agents. Catches missing fields,
6+ wrong types, empty strings in one pass. Supports JSON Schema Draft 7.
7+ Use for structured data validation, data extraction, form processing.
8+ Binary output prevents structural injection.
119version : 0.2.2
12- metadata : { "openclaw": { "emoji": "🤝", "requires": { "bins": ["germanic"] }, "install": [{ "id": "cargo-install", "kind": "shell", "command": "cargo install germanic", "bins": ["germanic"], "label": "Install GERMANIC CLI (cargo)" }] } }
10+ homepage : https://github.com/germanicdev/germanic
11+ metadata : {"openclaw":{"emoji":"🔒","requires":{"bins":["germanic"]},"install":[{"id":"brew-install","kind":"brew","formula":"germanicdev/germanic/germanic","bins":["germanic"],"label":"Install GERMANIC CLI (Homebrew)"}]}}
1312---
1413
1514# GERMANIC
@@ -19,11 +18,13 @@ Compile JSON to validated binary. Schema contract enforced at build time.
1918## Install
2019
2120``` bash
22- cargo install germanic
21+ brew tap germanicdev/germanic && brew install germanic
2322```
2423
2524Verify: ` germanic --version ` should print ` 0.2.2 ` .
2625
26+ Alternative (from source): ` cargo install germanic `
27+
2728## Workspace
2829
2930GERMANIC operates relative to the current working directory.
@@ -100,8 +101,8 @@ germanic validate output.grm
100101
101102## Error Handling
102103
103- GERMANIC collects all errors and reports them at once — missing fields,
104- type mismatches, size violations, all in a single pass. Example output:
104+ GERMANIC validates data and reports errors with field paths and descriptions.
105+ Dynamic schemas collect multiple errors in a single pass. Example output:
105106
106107``` text
107108Error: Required fields missing:
@@ -150,6 +151,18 @@ Note: Binary format prevents *structural* injection. Content inside valid
150151string fields is stored as-is. The consumer must treat typed fields as data,
151152not instructions.
152153
154+ ## Trust & Safety
155+
156+ GERMANIC is fully offline. Zero network calls, zero environment variables,
157+ zero external dependencies at runtime. The binary reads JSON from stdin or
158+ file, writes .grm to disk. Nothing else.
159+
160+ Verified by security audit (v0.2.1):
161+ - No hand-written unsafe code (all unsafe blocks are auto-generated FlatBuffer bindings)
162+ - Input size limits enforced (5MB max input, 1MB max string, 10k max array)
163+ - Exit code 1 on all error paths
164+ - No data collection, no telemetry, no phone-home
165+
153166## MCP Server (Universal — not OpenClaw-specific)
154167
155168For integration with MCP-native clients (Claude Desktop, Cursor, Windsurf, etc.):
0 commit comments