# tia — Terminal Is A My Way > "Satu binary untuk semua kebutuhan Docker kamu." · Tagline: **Just Work** TUI modern (Go + Charm v2) + CLI pendamping untuk manajemen Docker: stack & container, konverter `docker run` → compose, multi-host, mouse-first, audio feedback, animasi ASCII. Status: **Phase 0 — fondasi** (lihat roadmap di `docs/PRD.md` §8). ## Build & jalankan ```bash make build # menghasilkan ./tia-love ./tia-love # buka TUI ./tia-love doctor # periksa kesehatan sistem (docker/audio/stack) ./tia-love version # versi & build info make test # unit test + e2e ``` Nama binary final: **`tia-love`** (nama produk tetap **tia**). ## Test ```bash go test ./... # unit test + e2e go test ./e2e/ -v # E2E saja (verbose) ``` E2E (`e2e/`) membangun binary asli, menjalankannya di dalam pty 120×40, dan memverifikasi **isi layar** lewat emulator terminal mini (`e2e/screen_test.go`): boot TUI → keluar bersih (exit 0), toast (`t`), reduced-motion (`a`), klik mouse + navigasi (`j`/`k`), dan exit code error (2) untuk perintah asing. Asersi berbasis layar (bukan byte mentah) agar tahan terhadap diff-renderer. ## Instalasi Setelah rilis pertama tersedia: ```bash curl -fsSL https://gitea.oxpoe.qzz.io/oxpoe/tia-love/raw/branch/main/install.sh | sh ``` Skrip mendeteksi OS/arch (Linux/macOS · amd64/arm64), memverifikasi SHA256, dan memasang ke `~/.local/bin/tia-love` tanpa sudo. Alternatif: unduh manual dari halaman Releases di Gitea (https://gitea.oxpoe.qzz.io/oxpoe/tia-love). Rilis dibangun oleh GoReleaser — dry run lokal: `goreleaser release --snapshot --clean`. ## Struktur repo ``` cmd/tia-love/ entry point — router TUI default vs CLI companion internal/app/ root Bubble Tea model internal/ (menyusul) docker, stack, config, ui, i18n, host, cli, audio docs/PRD.md product requirements docs/rea/ laporan analisis proyek referensi (playbook + modul) reference/ repo referensi untuk REA — git-ignored, jangan di-commit ``` ## Prinsip - **Satu binary** (`CGO_ENABLED=0`), tanpa dependency runtime selain Docker. - **Core tanpa UI**: logika dibagi TUI & CLI → hasil identik (F-028). - **Mouse & keyboard setara** sejak hari pertama (F-022). - **i18n dari awal** — Indonesia default, English fallback (F-023). ## Lisensi MIT — lihat `LICENSE`. Atribusi pihak ketiga: `THIRD_PARTY_NOTICES.md`, register aset: `docs/ASSETS.md`.