Analisa referensi tuios (Charm/BubbleTea): overlay = surface solid + chip judul aksen, bukan border; hint strip dibuang bertier saat sempit; geometri satu sumber untuk render & hit-test. - components.Chip: pill label (latar aksen + teks Base; mode terminal = reverse) — dipakai bar workspace & modal. - Bar workspace jadi surface 3 baris (chip 'workspace', subjudul tautan seksi + tombol kanan, pill Cari inset Base) — pola mock draf-tia. - Modal konverter jadi surface: chip judul, blok inset Base untuk input & output (padding & teks dalam satu gaya agar latar tak bolong oleh reset SGR), strip tombol Base, baris hint terstyling. - Footer jadi dock hint: kunci aksen tebal + label redup, hint dibuang bertier (dekoratif dulu, esensial bertahan) dengan ellipsis, status diagnostik dipangkas ke sisa ruang — teks plain (hit-test) = teks tampil. - Tes: chip (3 mode tema), footer bertier (plain==styled, batas lebar), e2e posisi klik digeser mengikuti bar 3 baris.
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
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
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:
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.