{"id":21908621,"url":"https://github.com/cchexcode/complate","last_synced_at":"2025-04-16T01:54:27.256Z","repository":{"id":38334747,"uuid":"236548805","full_name":"cchexcode/complate","owner":"cchexcode","description":"A powerful text templating tool.","archived":false,"fork":false,"pushed_at":"2024-11-26T23:20:49.000Z","size":3386,"stargazers_count":43,"open_issues_count":4,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T09:08:59.754Z","etag":null,"topics":["cli","commit","git","handlebars","rust","rust-lang","standard","template"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/complate","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cchexcode.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"replicadse","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-01-27T17:25:45.000Z","updated_at":"2025-02-18T01:20:32.000Z","dependencies_parsed_at":"2023-12-13T20:27:31.486Z","dependency_job_id":"078096e5-f1f7-488a-acf9-144259b2a26f","html_url":"https://github.com/cchexcode/complate","commit_stats":{"total_commits":213,"total_committers":9,"mean_commits":"23.666666666666668","dds":"0.47887323943661975","last_synced_commit":"33259dd531b9bf866e606456afcca64b670a687f"},"previous_names":["cchexcode/complate"],"tags_count":105,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cchexcode%2Fcomplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cchexcode%2Fcomplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cchexcode%2Fcomplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cchexcode%2Fcomplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cchexcode","download_url":"https://codeload.github.com/cchexcode/complate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837280,"owners_count":21169374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","commit","git","handlebars","rust","rust-lang","standard","template"],"created_at":"2024-11-28T17:12:59.944Z","updated_at":"2025-04-16T01:54:27.226Z","avatar_url":"https://github.com/cchexcode.png","language":"Rust","funding_links":["https://patreon.com/replicadse"],"categories":["Applications","Recently Updated"],"sub_categories":["Text processing","[Nov 28, 2024](/content/2024/11/28/README.md)"],"readme":"# complate\n\n`complate` is a general purpose text templating CLI program that supports interactive mode, prompting the user for values via TUI behaviour and headless mode for use in automation such as CI pipelines.\n\n![](complate.png)\n\n## Installation\n\n* The rusty way:\\\n`cargo install complate`\n* The manual way:\\\nDownload and install from the GitHub releases.\n\n## Config example\n\n```\nversion: 0.15\ntemplates:\n  zero:\n    content:\n      inline: |-\n        {{ a.alpha }}\n        {{ b.bravo }}\n    variables:\n      a.alpha:\n        static: alpha\n      b.bravo: arg\n\n  one:\n    content:\n      file: ./.complate/templates/arbitraty-template-file.tpl\n    variables:\n      a.pwd:\n        env: \"PWD\"\n  two:\n    content:\n      inline: |-\n        {{ a.alpha }}\n        {{ b.bravo }}\n        {{ c.charlie }}\n        {{ d.delta }}\n        {{ e.echo }}\n    variables:\n      a.alpha:\n        prompt: \"alpha\"\n      b.bravo:\n        shell: \"printf bravo\"\n      c.charlie:\n        static: \"charlie\"\n      d.delta:\n        select:\n          text: Select the version level that shall be incremented\n          options:\n            alpha:\n              display: alpha\n              value:\n                static: alpha\n            bravo:\n              display: bravo\n              value:\n                shell: printf bravo\n      e.echo:\n        check:\n          text: Select the components that are affected\n          separator: \", \"\n          options:\n            alpha:\n              display: alpha\n              value:\n                static: alpha\n            bravo:\n              display: bravo\n              value:\n                shell: printf bravo\n      f.foxtrot:\n        env: \"FOXTROT\"\n  three:\n    content:\n      inline: |-\n        {{ test }}\n        {{ _decode \"dGVzdA==\" }}\n    helpers:\n      \"_decode\": printf \"$(printf $VALUE | base64 -D)\"\n    variables:\n      test:\n        static: \"test\"\n\n```\n\n| Key    | Behaviour                                                            | Input                                                                                                                  |\n| ------ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| arg    | Expects input as argument via command line input                     | None                                                                                                                   |\n| env    | Retrieves value from the specified env var                           | None                                                                                                                   |\n| static | Simply replaces the variable with a static value                     | None                                                                                                                   |\n| prompt | Asks the user for text input (can be empty)                          | The prompt                                                                                                             |\n| shell  | Invokes a shell command to resolve the variable (read from `STDOUT`) | None                                                                                                                   |\n| select | Asks the user to select one item from a list                         | `text`: string (context), `options`: list (available options to select from)                                           |\n| check  | Asks the user to select `0..n` item(s) from a list (multiselect)     | `text`: string (context), `options`: list of options {display: str, value: str} (the available options to select from) |\n\nSince the `shell` value provider is able to run arbitrary shell commands, it is only allowed if and only if the `SHELL_TRUST` argument is explicitly set. See the `render` command reference for possible values for this setting. If *not* set, the provider will throw an unrecoverable error and the program will abort.\n\n## Command reference\n\n### Disclaimer\n\nAll features that are marked as `experimental` are _not_ considered a public API and therefore eplicitly not covered by the backwards-compatibility policy inside a major version (see https://semver.org[semver v2]). Use these features on your own risk!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcchexcode%2Fcomplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcchexcode%2Fcomplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcchexcode%2Fcomplate/lists"}