116 lines
2.3 KiB
Markdown
116 lines
2.3 KiB
Markdown
# CLI Reference
|
|
|
|
The `trix` command-line tool allows you to work with `.trix` files, apply sigils, and perform hashing operations directly from the terminal.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
trix [command]
|
|
```
|
|
|
|
## Global Flags
|
|
|
|
* `--help`: Show help for command.
|
|
|
|
## Commands
|
|
|
|
### `encode`
|
|
|
|
Encodes data into the `.trix` file format.
|
|
|
|
```bash
|
|
trix encode [flags] [sigils...]
|
|
```
|
|
|
|
**Flags:**
|
|
|
|
* `-i, --input string`: Input file path. If not specified, reads from stdin.
|
|
* `-o, --output string`: Output file path. If not specified, writes to stdout.
|
|
* `-m, --magic string`: Custom 4-byte magic number (e.g., `TRIX`).
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Encode a file, apply gzip and base64 sigils, and save to output.trix
|
|
trix encode -i data.json -o output.trix -m TRIX gzip base64
|
|
```
|
|
|
|
### `decode`
|
|
|
|
Decodes a `.trix` file.
|
|
|
|
```bash
|
|
trix decode [flags] [sigils...]
|
|
```
|
|
|
|
**Flags:**
|
|
|
|
* `-i, --input string`: Input file path. If not specified, reads from stdin.
|
|
* `-o, --output string`: Output file path. If not specified, writes to stdout.
|
|
* `-m, --magic string`: Custom 4-byte magic number.
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Decode a file, reversing the base64 and gzip sigils implicitly if stored in header,
|
|
# or explicit sigils can be passed if needed for unpacking steps not in header (though unlikely for standard use).
|
|
# Typically:
|
|
trix decode -i output.trix -o restored.json -m TRIX
|
|
```
|
|
|
|
### `hash`
|
|
|
|
Hashes input data using a specified algorithm.
|
|
|
|
```bash
|
|
trix hash [algorithm] [flags]
|
|
```
|
|
|
|
**Arguments:**
|
|
|
|
* `algorithm`: The hash algorithm to use (e.g., `sha256`, `md5`, `lthn`).
|
|
|
|
**Flags:**
|
|
|
|
* `-i, --input string`: Input file path. If not specified, reads from stdin.
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
echo "hello" | trix hash sha256
|
|
```
|
|
|
|
### Sigil Commands
|
|
|
|
You can apply individual sigils directly to data.
|
|
|
|
```bash
|
|
trix [sigil_name] [flags]
|
|
```
|
|
|
|
**Available Sigils:**
|
|
|
|
* `reverse`
|
|
* `hex`
|
|
* `base64`
|
|
* `gzip`
|
|
* `json`, `json-indent`
|
|
* `md4`, `md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`
|
|
* `ripemd160`
|
|
* `sha3-224`, `sha3-256`, `sha3-384`, `sha3-512`
|
|
* `sha512-224`, `sha512-256`
|
|
* `blake2s-256`, `blake2b-256`, `blake2b-384`, `blake2b-512`
|
|
|
|
**Flags:**
|
|
|
|
* `-i, --input string`: Input file or string. Use `-` for stdin.
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Base64 encode a string
|
|
trix base64 -i "hello world"
|
|
|
|
# Gzip a file
|
|
trix gzip -i myfile.txt > myfile.txt.gz
|
|
```
|