This commit addresses several gaps identified in a comprehensive documentation audit. - Adds `AUDIT-DOCUMENTATION.md` with the full audit report. - Adds a `CONTRIBUTING.md` to guide new contributors. - Adds a `CHANGELOG.md` to track version history. - Adds `docs/faq.md` and `docs/troubleshooting.md` to improve user support. - Updates `mkdocs.yml` to include the new documentation pages. Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Frequently Asked Questions (FAQ)
|
|
|
|
This page answers some of the most common questions about Enchantrix.
|
|
|
|
## General
|
|
|
|
### What is the purpose of the .trix container format?
|
|
|
|
The .trix format is a generic binary container designed to hold a payload and associated metadata. It is protocol-agnostic, meaning it can be used to store any type of data. Its primary purpose is to provide a flexible and extensible format for data that may need to be transformed or encrypted.
|
|
|
|
### What are Sigils?
|
|
|
|
Sigils are the core concept of the Enchantrix transformation framework. Each Sigil represents a single, reversible data transformation, such as encoding, compression, or hashing. They can be chained together to create powerful and flexible transformation pipelines.
|
|
|
|
## Development
|
|
|
|
### How do I add a new Sigil?
|
|
|
|
To add a new Sigil, you need to create a new struct that implements the `enchantrix.Sigil` interface. This involves implementing the `In()` and `Out()` methods. Once your Sigil is implemented, you can add it to the `enchantrix.NewSigil()` factory function.
|
|
|
|
### Can I use my own magic number for the .trix format?
|
|
|
|
Yes, the `trix.Encode()` and `trix.Decode()` functions accept a custom 4-byte magic number string. This allows you to create your own application-specific file formats based on the .trix container.
|