oxpoe 2d07935f83
CI / test (push) Successful in 39s
feat: layar Pengaturan (PRD §5.1.5) + tombol Setting beranda + toggle suara
- Layar Pengaturan (',' atau klik chip Pengaturan beranda): bahasa, mode tema,
  efek suara, volume, animasi, timestamp — semua berlaku langsung & tersimpan
  ke config (config.Save), plus path config + catatan.
- Audio live: Engine.SetEnabled/SetVolume/Enabled/Volume; init idempoten
  (readyOnce/started) sehingga engine yang lahir mati bisa dinyalakan tanpa
  restart — komentar 'shortcut' F-024 lama dihapus.
- Beranda: kolom tengah kini CTA + hint '[m] suara: …' (klik = toggle) +
  chip Pengaturan — draf dashboard lengkap.
- Tombol lama 'T'/'a'/'S' kini lewat applySetting yang sama (DRY + persist).
- TIA_LANG dihapus (tak perlu lagi): e2e memakai XDG_CONFIG_HOME temp
  (config bersih per tes) → tes tidak tergantung config pengguna.
- Toast: klik di luar kotak toast tidak lagi menutupnya (hanya klik pada toast)
  — tombol lain tetap bisa diklik saat notifikasi tampil.
- Tes: unit settings (apply/persist/jepit volume, baris plain==styled tanpa
  ANSI) + e2e TestSettingsScreen (klik chip, toggle, bahasa→Inggris,
  verifikasi config.yaml).
2026-10-16 04:07:33 +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%