Status & roadmap
What works in Terox today, and what is on the way.
Terox is young. This page is the honest current state.
What works today
- Scaffolding from a local directory.
- Scaffolding from a public GitHub repository (downloaded as a zipball and cached locally).
- Manifest-driven variable prompting via
terox.json. - Interactive prompts (text inputs, single-choice selects, yes/no confirmations).
- Variable substitution in both file paths and file contents using Go
text/template. - Binary-safe copying — files detected as binary are passed through byte-for-byte, never rendered.
- Non-interactive mode for CI (
--set key=valueplus--non-interactive), with a non-zero exit code when a required variable is missing. terox createwrites a real starter template with an example manifest, variables and a{{.project_name}}/directory you can edit.
Known limitations
- Public GitHub repositories only. Private repositories and GitHub Enterprise are not supported yet.
- Files that natively contain
{{ }}syntax (Vue interpolations, GitHub Actions${{ ... }}, Helm charts) must be hand-escaped inside the template. A future release will add a "copy without rendering" path list. - No template updates. Once a project has been scaffolded, it has no ongoing link to its template.
- No pre- or post-generation hooks.
On the roadmap
In rough priority order:
- Authenticated downloads for private GitHub repositories (via
GITHUB_TOKEN). - A
.teroxignore-style mechanism for copying files without rendering them. - Pre- and post-generation hooks.
- Choice validation in non-interactive mode.
- Generic git URL support (GitLab, self-hosted, SSH).
Contributing
Bug reports, feature requests and patches are welcome on GitHub. Small PRs that fix a single clearly-scoped thing tend to land fastest.