Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Terox

[![Release](https://img.shields.io/github/v/release/weburz/terox?style=flat-square&color=fdd32a&labelColor=2c3c4e)](https://github.com/weburz/terox/releases/latest)
[![License](https://img.shields.io/github/license/weburz/terox?style=flat-square&color=fdd32a&labelColor=2c3c4e)](./LICENSE)
[![Go Version](https://img.shields.io/github/go-mod/go-version/weburz/terox?style=flat-square&logo=go&logoColor=white&color=fdd32a&labelColor=2c3c4e)](./go.mod)
[![QA Checks](https://img.shields.io/github/actions/workflow/status/weburz/terox/qa-checks.yml?branch=main&style=flat-square&label=QA&labelColor=2c3c4e)](https://github.com/weburz/terox/actions/workflows/qa-checks.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/weburz/terox?style=flat-square)](https://goreportcard.com/report/github.com/weburz/terox)

![Terox mascot: a Go gopher in a hard hat building wooden scaffolding around template files with {{.variable}} tokens floating in the scene](./assets/goterox.png)

Terox is a small, cross-platform CLI for scaffolding new projects from
templates. Point it at a GitHub repository or a local directory, answer a few
prompts, and Terox renders a ready-to-edit project into the output folder of
Expand Down
Binary file added assets/goterox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 1 addition & 8 deletions docs/app/components/AppLogo.vue
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
<template>
<svg
viewBox="0 0 32 32"
fill="none"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
>
<rect width="32" height="32" rx="6" class="fill-primary-500" />
<path
d="M8 11h16M16 11v13"
stroke="currentColor"
stroke-width="2.5"
stroke-linecap="round"
class="text-neutral-900"
/>
<path d="M6 7H26V13H19V26H13V13H6Z" class="fill-neutral-900" />
</svg>
</template>
15 changes: 15 additions & 0 deletions docs/app/plugins/umami.client.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
export default defineNuxtPlugin(() => {
const { umamiWebsiteId } = useRuntimeConfig().public;

if (!umamiWebsiteId) return;

useHead({
script: [
{
defer: true,
src: "https://umami.weburz.com/script.js",
"data-website-id": umamiWebsiteId,
},
],
});
});
2 changes: 2 additions & 0 deletions docs/content/1.getting-started/1.introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ title: Introduction
description: What Terox is, what it does, and when to reach for it.
---

![Terox mascot: a Go gopher in a hard hat building wooden scaffolding around template files with {{.variable}} tokens floating in the scene](/goterox.png)

Terox is a small command-line tool for scaffolding new projects from
templates. You point it at a template — either a folder on your machine or a
public GitHub repository — answer a few prompts, and Terox renders a
Expand Down
104 changes: 76 additions & 28 deletions docs/content/1.getting-started/2.installation.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,66 @@
---
title: Installation
description: Install Terox via Go, or by building from source. Prebuilt binaries are on the way.
description: Install Terox with Homebrew, Scoop, a direct binary download, or via Go.
---

Terox is a single static binary. The install path that works today requires a
Go toolchain; prebuilt binaries for every platform are next on the roadmap.
Terox is a single static binary that ships for Linux, macOS, and Windows on
both `amd64` and `arm64`. Pick whichever install method matches your
platform — they all give you the same binary.

## With Go (works today)
## With Homebrew (macOS and Linux)

If you have Go 1.23 or newer installed:
The fastest install on macOS and Linux is through the
[`weburz/tap`](https://github.com/weburz/homebrew-tap) Homebrew tap:

```bash
brew install weburz/tap/terox
```

That installs `terox` into the standard Homebrew prefix and adds it to
your `PATH` automatically.

## With Scoop (Windows)

On Windows, install through the
[`weburz/scoop-bucket`](https://github.com/weburz/scoop-bucket) Scoop
bucket:

```powershell
scoop bucket add weburz https://github.com/weburz/scoop-bucket
scoop install weburz/terox
```

If you do not have Scoop yet, follow the one-line install at
[scoop.sh](https://scoop.sh) first.

## Direct binary download

Every release attaches a prebuilt archive for each supported platform to
the [GitHub releases page](https://github.com/weburz/terox/releases/latest).
A `checksums.txt` next to the archives lets you verify the download.

Pick the archive that matches your OS and architecture, for example:

```bash
# Linux on amd64
curl -L -o terox.tar.gz \
https://github.com/weburz/terox/releases/latest/download/terox_0.1.2_linux_amd64.tar.gz
tar -xzf terox.tar.gz
sudo mv terox /usr/local/bin/
```

On Windows the archive is a `.zip` containing `terox.exe`; extract it and
move the executable somewhere on your `PATH`.

::callout{icon="i-lucide-info"}
Replace `0.1.2` in the URL with the version you want, or use
`/releases/latest/download/` to always grab the newest stable build.
::

## With Go (`go install`)

If you already have Go 1.23 or newer installed, you can install Terox
directly from source:

```bash
go install github.com/weburz/terox@latest
Expand All @@ -33,23 +85,6 @@ echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.zshrc
source ~/.zshrc
```

Verify the install:

```bash
which terox
terox version
```

## Prebuilt binaries

::callout{icon="i-lucide-info"}
**Not yet shipping.** Prebuilt binaries for Linux, macOS and Windows are the
top item on the distribution roadmap. The plan is GoReleaser-driven releases
that attach platform-specific archives to every tagged version on the
[GitHub releases page](https://github.com/weburz/terox/releases). Until then,
use the Go-based install above or build from source.
::

## Building from source

Clone the repository and build with the included Taskfile:
Expand All @@ -66,11 +101,24 @@ example `sudo mv ./bin/terox /usr/local/bin/`) or invoke it directly.
If you do not have [Task](https://taskfile.dev) installed, `go build .`
produces the same binary without the embedded version metadata.

## Updating
## Verify the install

Whichever method you used, confirm it worked:

```bash
which terox
terox version
```

`go install github.com/weburz/terox@latest` re-runs the install and
overwrites the existing binary in place.
`terox version` should print the version number, commit hash, and build
date for the binary you just installed.

## Updating

When prebuilt binaries ship, the corresponding update commands (`brew
upgrade weburz/tap/terox`, package-manager-specific equivalents, or
re-downloading the latest release) will be documented here.
| Install method | Update command |
| --------------------- | --------------------------------------------- |
| Homebrew | `brew upgrade weburz/tap/terox` |
| Scoop | `scoop update weburz/terox` |
| Direct download | Re-download the latest archive and replace the binary |
| `go install` | `go install github.com/weburz/terox@latest` |
| Built from source | `git pull && task build` |
12 changes: 12 additions & 0 deletions docs/nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ export default defineNuxtConfig({
},
},

runtimeConfig: {
public: {
umamiWebsiteId: "",
},
},

compatibilityDate: "2026-05-23",

nitro: {
Expand All @@ -52,4 +58,10 @@ export default defineNuxtConfig({
icon: {
provider: "iconify",
},

app: {
head: {
link: [{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" }],
},
},
});
4 changes: 4 additions & 0 deletions docs/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/goterox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading