diff --git a/.agents/docs/FUNCTIONS.md b/.agents/docs/FUNCTIONS.md new file mode 100644 index 0000000..967b1b1 --- /dev/null +++ b/.agents/docs/FUNCTIONS.md @@ -0,0 +1,7 @@ +- **Config template filling** — renders configuration files from templates by substituting environment variable values, typically as a container start-up step. + - **Template discovery** — scans a directory recursively for template files with a given extension, or processes a single template file. + - **Value substitution** — replaces placeholders with environment variable values, either via lookup functions or direct variable references. + - **Array expansion** — splits a comma-separated environment variable into a list and renders one entry per item. + - **Required values** — fails rendering when a variable marked as required, or any referenced variable in strict mode, is missing. + - **Output handling** — writes the filled file next to the template without its template extension, or overwrites the template in place; optionally deletes the template afterwards. + - **Custom delimiters** — accepts alternative placeholder delimiters so templates can coexist with other templating syntaxes. diff --git a/.agents/docs/INTERACTIONS.yml b/.agents/docs/INTERACTIONS.yml new file mode 100644 index 0000000..66bc725 --- /dev/null +++ b/.agents/docs/INTERACTIONS.yml @@ -0,0 +1,5 @@ +--- +internal_calls: {} +external_calls: {} +listens: {} +publishes: [] diff --git a/.agents/docs/service-card.yaml b/.agents/docs/service-card.yaml new file mode 100644 index 0000000..13266c2 --- /dev/null +++ b/.agents/docs/service-card.yaml @@ -0,0 +1,6 @@ +--- +name: filler +kind: platform +domain: developer-tooling +description: | + Filler is a small command-line utility that renders **configuration files from templates** by substituting **environment variable** values, typically run as a **container start-up step** before an application boots. It can process whole directories or single files, expand comma-separated variables into lists, and fail fast when **required variables** are missing.