.TH INTERPRES-DECODE 1 "2026-09-21" "interpres 2.0.0" "User Commands" .SH NAME interpres-decode \- TOML validator and toml-test harness adapter .SH SYNOPSIS .B interpres-decode [\fIFLAGS\fR] .br .B interpres-decode .B \-encode .br .B interpres-decode .B \-validate [\fIFILE\fR...] .br .B interpres-decode .B \-validate [\fIDIRECTORY\fR...] .br .B interpres-decode .B \-json .br .B interpres-decode .B \-struct .br .B interpres-decode .B \-schema \fITYPE\fR \fIFILE.go\fR .br .B interpres-decode .B \-version .SH DESCRIPTION .B interpres-decode is the toml-test harness adapter in both directions and a TOML validator. Without a mode flag it reads one TOML document from standard input and writes the toml-test tagged-JSON representation to standard output. .B \-encode reads a tagged-JSON description from standard input and writes the TOML document it describes. .B \-validate parses each named file, or standard input when none are named, and prints one line per invalid document to standard error; a named directory is walked for .B .toml files, every one validated, and the walk closes with a summary on standard error naming the counts. The name .B \- means standard input. .B \-json prints plain indented JSON instead of the tagged form. .B \-struct prints a Go struct definition inferred from the document on standard input. .B \-schema writes a TOML template for the struct type \fITYPE\fR declared in the Go source file \fIFILE.go\fR, taking the key names, comments and defaults from the fields' tags. .B \-version prints the binary's version and exits. .PP The mode flags .BR \-validate , .BR \-encode , .B \-struct and .B \-schema cannot be combined. .SH OPTIONS .TP .B \-validate Validate the documents instead of emitting tagged JSON. .TP .B \-encode Read tagged JSON from standard input and write TOML instead. .TP .B \-json With the default mode, print plain indented JSON instead of tagged JSON. .TP .B \-struct Infer a Go struct definition from the document on standard input and print it. .TP .BI \-schema " TYPE" Write a TOML template for the struct type \fITYPE\fR; the Go source file follows as the first argument. .TP .B \-version Print the version and exit. .TP .B \-h Print the usage. .SH EXIT STATUS .TP .B 0 The document parsed and the output was written; in validate mode, every document parsed. .TP .B 1 Adapter: a parse error. Validate: at least one document is invalid. .TP .B 2 A usage error, a read failure, malformed tagged JSON, or a value with no TOML representation. .SH EXAMPLES Decode a document into tagged JSON: .PP .nf .RS echo 'title = "hello"' | interpres-decode .RE .fi .PP Validate a directory of configuration, with the summary: .PP .nf .RS interpres-decode -validate configs/ .RE .fi .PP Infer a Go type from a document: .PP .nf .RS interpres-decode -struct < config.toml > config.go .RE .fi .PP Write the template back from the type: .PP .nf .RS interpres-decode -schema Config config.go .RE .fi .SH SEE ALSO The repository's .B docs/CLI.md carries the full reference, including the tagged-JSON wire format.