Skip to main content

Installing Ziva

Requirements

  • Go 1.23.0+ (toolchain 1.24.5 recommended)
  • Terminal with UTF-8 support for proper pseudographics display
  • Terminal color support (optional)

Installation

Via go get

go get github.com/qzeleza/ziva

Via go mod

Add to your go.mod:
require github.com/qzeleza/ziva latest
Then run:
go mod tidy

Installation Verification

Create a simple main.go file for verification:
package main

import (
    "fmt"
    "log"
    "github.com/qzeleza/ziva"
)

func main() {
    // Create a simple task
    task := ziva.NewYesNoTask("Test", "Is Ziva installed correctly?")

    // Create queue and add task
    queue := ziva.NewQueue("Ziva Installation Check")
    queue.AddTasks(task)

    // Run
    if err := queue.Run(); err != nil {
        log.Fatal(err)
    }

    // Check result
    if task.IsYes() {
        fmt.Println("✅ Great! Ziva is ready to work.")
    } else {
        fmt.Println("❌ Installation needs to be checked.")
    }
}
Run it:
go run main.go

Environment Setup

Locale Configuration (for non-English languages)

For correct display of non-English text, configure locales: Ubuntu/Debian:
sudo locale-gen en_US.UTF-8 ru_RU.UTF-8
sudo update-locale LANG=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Entware/BusyBox:
opkg install locale-full glibc-binary-locales
export LANG=en_US.UTF-8

Font Configuration

For embedded systems, font configuration may be required:
setterm -reset
setterm -store
setterm -font ter-116n  # for international characters

Environment Variables

Ziva supports configuration via environment variables:
# Interface language
export ZIVA_LANG=en
export ZIVA_DEFAULT_LANG=en

# For embedded systems
export ZIVA_MEMORY_PRESSURE_THRESHOLD=50M
export ZIVA_MAX_COMPLETED_TASKS=10

# Terminal colors
export COLORTERM=truecolor
export TERM=xterm-256color

Project Structure

Recommended Go project structure with Ziva:
myapp/
├── go.mod
├── go.sum
├── main.go
├── cmd/
│   └── myapp/
│       └── main.go
├── internal/
│   ├── tasks/
│   ├── config/
│   └── ui/
└── pkg/
    └── validation/

Dependencies

Ziva uses the following main dependencies:
  • Bubble Tea - foundation for TUI
  • Lip Gloss - styling and colors
  • Cobra - CLI (optional)
All dependencies are installed automatically with go get.

Next Step

Create your first TUI application
I