oxpoe e903912029
CI / test (push) Successful in 27s
ui: surface chrome ala tuios — bar workspace + modal + strip hint bertier
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.
2026-10-16 03:57:13 +07:00

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.

S
Description
No description provided
Readme MIT
786 KiB
0 Stars 1 Watchers 0 Forks
Languages
Go 98.4%
Python 0.8%
Shell 0.7%