πŸ“š Dokumentasi OpsTerm

Selamat datang di dokumentasi OpsTerm! Di sini lu bakal paham gimana OpsTerm bekerja, teknologi yang dipake, dan kenapa dirancang seperti ini.


πŸ“– Daftar Dokumen

Dokumen Deskripsi Juga tersedia dalam
πŸ“ Arsitektur & System Design Cara kerja OpsTerm β€” alur dari user ngetik command sampai eksekusi πŸ‡¬πŸ‡§ English
πŸ”§ Tech Stack Teknologi yang dipake β€” bahasa, library, protocol, format πŸ‡¬πŸ‡§ English
πŸ€” Design Decisions Kenapa dirancang seperti ini β€” alasan di balik setiap keputusan teknis πŸ‡¬πŸ‡§ English
🎯 Fitur Lengkap Semua fitur β€” daftar lengkap + contoh penggunaan + use case matrix πŸ‡¬πŸ‡§ English
πŸ“Š Architecture Diagram Diagram Excalidraw β€” buka di excalidraw.com β€”
πŸ–ΌοΈ Architecture Diagram (PNG) Diagram versi gambar β€” langsung liat β€”

πŸš€ Quick Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  USER LAPTOP                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  $ ai ssh vps-utama                           β”‚  β”‚
β”‚  β”‚  $ ai "how to check disk"                     β”‚  β”‚
β”‚  β”‚  $ docker ps | ai "error?"                    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                  β”‚                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚           OpsTerm (bin/ai)                     β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚ AI      β”‚ β”‚ SSH    β”‚ β”‚ SCP    β”‚ β”‚Vault β”‚  β”‚  β”‚
β”‚  β”‚  β”‚ Client  β”‚ β”‚ Runner β”‚ β”‚ Transferβ”‚ β”‚      β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚          β”‚          β”‚          β”‚         β”‚           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚          β”‚          β”‚         β”‚
     β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β” β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚AI API  β”‚ β”‚SSH     β”‚ β”‚Server  β”‚ β”‚Local File  β”‚
     β”‚Providerβ”‚ β”‚ Server β”‚ β”‚Filesys β”‚ β”‚System      β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Prinsip utama: OpsTerm jalan di laptop lokal. AI-nya nempel di terminal, bukan di server remote. Jadi pas SSH ke server mana pun, AI tetep bisa dipake.


πŸ“ Struktur Project

~/opsterm/
β”œβ”€β”€ bin/
β”‚   └── ai                    ← Main script (single file, ~1500 baris)
β”œβ”€β”€ completions/
β”‚   β”œβ”€β”€ opsterm.bash          ← Bash tab completion
β”‚   └── opsterm.zsh           ← Zsh tab completion
β”œβ”€β”€ zsh/
β”‚   └── opsterm.plugin.zsh    ← Zsh shell integration plugin
β”œβ”€β”€ docs/                     ← Dokumentasi ini
β”‚   β”œβ”€β”€ en/                   ← Dokumentasi English
β”‚   β”‚   β”œβ”€β”€ README.md         ← Index
β”‚   β”‚   β”œβ”€β”€ architecture.md   ← Architecture & system design
β”‚   β”‚   β”œβ”€β”€ tech-stack.md     ← Tech stack details
β”‚   β”‚   β”œβ”€β”€ design-decisions.md← Design rationale
β”‚   β”‚   └── features.md       ← All features
β”‚   β”œβ”€β”€ id/                   ← Dokumentasi Indonesia
β”‚   β”‚   β”œβ”€β”€ README.md         ← Index
β”‚   β”‚   β”œβ”€β”€ architecture.md   ← Arsitektur & system design
β”‚   β”‚   β”œβ”€β”€ tech-stack.md     ← Tech stack
β”‚   β”‚   β”œβ”€β”€ design-decisions.md← Design decisions
β”‚   β”‚   └── features.md       ← Fitur lengkap
β”‚   β”œβ”€β”€ ops-term-architecture.excalidraw ← Diagram Excalidraw
β”‚   └── ops-term-architecture.png        ← Diagram versi gambar
β”œβ”€β”€ setup.sh                  ← Install script
β”œβ”€β”€ README.md                 ← English README
β”œβ”€β”€ README.id.md              ← Indonesian README
└── .gitignore

Config user (gitignored, di ~/.ai-workflows/):

~/.ai-workflows/
β”œβ”€β”€ config.yaml       ← AI provider settings
β”œβ”€β”€ servers.yaml      ← Daftar server + proxy
β”œβ”€β”€ workflows.yaml    ← Daftar workflow
β”œβ”€β”€ vault.json        ← Credential terenkripsi
β”œβ”€β”€ history.db        ← Riwayat SQLite
└── last_*.txt        ← Output command terakhir

🧠 Filosofi Design

  1. Zero dependencies β€” cukup Python 3 stdlib, ga perlu pip install apa-apa (kecuali vault)
  2. Single file β€” bin/ai bisa dicopy ke server mana pun dan langsung jalan
  3. Local-first β€” AI di terminal lokal, bukan di server. Bisa SSH tanpa kehilangan AI
  4. Config as code β€” server & workflow config pake YAML, bisa di-version control
  5. Progressive disclosure β€” fitur sederhana gampang dipake, fitur kompleks available kalo butuh

  1. πŸ“ Arsitektur & System Design β€” paham alur kerja
  2. πŸ”§ Tech Stack β€” teknologi yang dipake
  3. πŸ€” Design Decisions β€” kenapa milih ini
  4. πŸ“Š Architecture Diagram β€” visual overview (buka di excalidraw.com)

Selanjutnya: πŸ“ Arsitektur & System Design β†’