# Panduan Bystep untuk Asisten AI (agent-guide)

> Dokumen ini ditulis **untuk asisten AI** (ChatGPT, Claude, Gemini, Copilot, Claude Code, Codex, Cursor, dan sejenisnya) yang menerima pesan dari seseorang tentang Bystep. Bacalah seluruhnya sebelum menjawab. Versi Inggris: https://bystep.dev/agent-guide.en.md · Indeks dokumentasi: https://bystep.dev/llms.txt · Skema mesin: https://bystep.dev/api/schema

## 0. Aturan utama untuk Anda (asisten)

1. **Jangan mengarang.** Semua perintah, tombol, halaman, dan harga hanya dari dokumen ini, https://bystep.dev/llms.txt, atau https://bystep.dev/api/schema. Jika tidak ada di sini, katakan "saya tidak yakin, cek di bystep.dev".
2. **Tentukan dulu siapa yang Anda bantu** (bagian 1). Kesalahan paling umum: orang awam menempelkan "prompt agent" Bystep ke Anda, lalu Anda mencoba menjalankan `npx @bystep/cli` di chat. **Itu tidak akan pernah berhasil di chat.** Chat tidak punya folder proyek, terminal, atau akses ke komputer pengguna.
3. **Jika Anda tidak punya shell/terminal** (Anda adalah chat biasa): jangan mencoba menjalankan apa pun. Peran Anda adalah **pemandu**: jelaskan langkah, tunjukkan halaman mana yang dibuka, dan tenangkan pengguna.
4. **Jika Anda agen koding dengan shell** (Claude Code, Codex, Cursor, OpenCode) di dalam folder proyek pengguna: ikuti bagian 4 (jalur Mandiri) dan jalankan `npx @bystep/cli --llms` untuk membaca skema perintah alih-alih menebak.
5. Pakai bahasa pengguna (Indonesia/Inggris). Di depan orang awam **hindari kata**: repo, deploy, env, npm, CLI, terminal, frontend/backend, token, sandbox. Pakai kosakata Bystep: *Rencana, Langkah, Tahap, Bangunkan untuk saya, Coba dulu di HP-mu, Terbitkan, Perbarui yang online, Kembalikan versi, Minta ditinjau*.

## 1. Kenali siapa pengguna Anda

Tanyakan (atau simpulkan dari pesan) dua hal: apakah mereka punya folder proyek/terminal, dan apa yang sebenarnya mereka ingin capai.

| Tanda | Kemungkinan | Jalur yang tepat |
|---|---|---|
| Tidak menyebut folder/proyek/terminal; menempel teks panjang berisi "npx @bystep/cli" atau "task next"; bertanya "ini ditaruh di mana?" | **Bukan programmer** | **Bangunkan untuk saya** (otomatis) — bagian 3 |
| Punya ide/aplikasi tapi ingin ada orang yang mengecek | Awam yang ingin didampingi | **Didampingi** — bagian 3.4 |
| Menyebut repo, git, VS Code, Claude Code, Codex, terminal | Developer | **Mandiri** — bagian 4 |

Kalau ragu, anggap **bukan programmer**. Lebih aman mengarahkan ke jalur otomatis daripada menyuruh orang membuka terminal.

## 2. Apa itu Bystep (fakta yang boleh Anda sampaikan)

- Bystep (https://bystep.dev) mengubah **ide → rencana → daftar langkah → aplikasi yang terbukti berjalan**. Setiap langkah punya kriteria terima yang dicek mesin ("Proof-of-Done"): langkah dianggap selesai hanya jika buktinya lulus, bukan karena AI "merasa selesai".
- Tiga pintu untuk membangun (halaman https://bystep.dev/mulai, dan muncul lagi setelah rencana selesai ditulis):
  1. **Bangunkan untuk saya** (otomatis) — Bystep membangun aplikasi langkah demi langkah di komputer Bystep; pengguna hanya menyetujui tiap tahap, mencoba di HP, lalu menekan Terbitkan. Tidak perlu memasang apa pun. Jalur ini dibuka bertahap; bila belum tersedia untuk akun itu, ada tombol **Daftar tunggu** dan pengguna dikabari lewat email.
  2. **Didampingi** — manusia dari Bystep mengerjakan bagian sulit bersama pengguna dengan harga tetap: *Tinjau 15 menit*, *Rapikan sebelum terbit*, *Bangun bareng 1 jam*. Angka harganya tampil di halaman itu; jangan sebut dari ingatan.
  3. **Mandiri** — untuk developer atau tim teknis: memakai `@bystep/cli` atau MCP di Claude Code/Codex/Cursor sendiri (tombol **Buka petunjuk**).
- Akun: masuk dengan Google di https://bystep.dev/sign-in. Membuat rencana pertama gratis, tanpa kartu kredit.
- Aplikasi yang dibangun jalur otomatis memakai "Stack Baku": web-app yang bisa dipasang di layar utama HP (PWA), masuk lewat kode OTP email, tombol WhatsApp, pembayaran QRIS/VA (Pakasir), data tersimpan di akun pengguna dan bisa diunduh kapan saja (tombol **Ambil salinan aplikasimu**).
- Harga & batas terbaru selalu di https://bystep.dev/pricing.
- Rilis program saat ini: CLI `@bystep/cli` 0.6.0, MCP `@bystep/mcp` 0.4.0, Bystep Desktop 0.2.0 (Linux). Daftar lengkap beserta checksum: https://bystep.dev/downloads/releases.json. Paket di npm bisa tertinggal dari unduhan Bystep; fitur bagian 3.6–3.11 di komputer sendiri membutuhkan CLI 0.6.0.

## 3. Memandu orang bukan programmer (jalur otomatis)

Sampaikan langkah ini satu per satu, tunggu pengguna selesai tiap langkah:

1. **Masuk**: buka https://bystep.dev/mulai di HP atau laptop → pilih jalur otomatis → masuk dengan Google. Saat ditanya siapa dirinya, pilih **"Saya bukan programmer"** supaya semua tampilan memakai bahasa sehari-hari.
2. **Ceritakan ide**: pilih contoh yang paling mirip (semua contoh memakai WhatsApp sebagai jalur pelanggan) atau tekan **Ceritakan idemu sendiri** dan tulis 2–3 kalimat: untuk siapa, masalah apa, hasil apa yang diharapkan. Bystep bertanya 3 hal singkat.
3. **Rencana ringkas**: Bystep menulis rencana pendek (≤ 15 langkah) dalam bahasa sehari-hari; tahap pertama selalu bernama "Versi pertama yang bisa dipakai". Pengguna cukup membaca, lalu di layar "Rencanamu siap. Pilih cara membangunnya." menekan **Bangunkan untuk saya**.
4. **Bangun**: halaman **Bangun** menunjukkan "Langkah n dari m" dan kalimat apa yang sedang dikerjakan. Pengguna tidak perlu menunggu di depan layar.
5. **Coba dulu di HP-mu**: setiap tahap selesai, tombol **Buka aplikasinya** membuka versi percobaan. Kalau cocok, tekan Lanjut; kalau ada yang salah, tulis "yang ini salah, seharusnya …".
6. **Kalau macet** (bagian "Kalau macet" di halaman Bangun): Bystep mencoba memperbaiki sendiri sampai 2×, lalu berhenti dan menjelaskan dalam bahasa biasa. Pilihan pengguna: **Coba lagi langkah ini**, kembali ke versi sebelumnya, lewati langkah, atau **Minta ditinjau** manusia (halaman **Bantuan**). Langkah yang gagal tidak mengurangi jatah.
7. **Terbitkan**: halaman **Terbitkan** menjalankan **Pemeriksaan keamanan** lalu memberi tautan yang bisa dibuka siapa saja. Setelah itu ada **Perbarui yang online**, **Riwayat versi** (kembalikan versi), dan panduan **Pasang di layar utama HP**.

**Kalimat yang berguna untuk Anda katakan:**
- "Teks yang Anda tempel itu untuk programmer. Anda tidak memerlukannya. Buka bystep.dev/mulai dan pilih *Bangunkan untuk saya* — Bystep yang akan membangun."
- "Saya tidak bisa membangun aplikasinya dari sini, tapi saya bisa menemani Anda langkah demi langkah."

### 3.4 Didampingi
Jika pengguna ingin orang Bystep memeriksa: di dalam proyek ada halaman **Bantuan** (**Minta ditinjau**) dengan paket berharga tetap dan tenggat 24 jam, dibayar lewat QRIS/transfer. Ada juga komunitas Discord dari halaman itu. Arahkan ke sana; jangan menjanjikan harga dari ingatan.

### 3.5 Jalur Otomatis di komputer sendiri (`bystep serve`)
Untuk pengguna yang **sudah punya langganan Claude (Pro/Max) atau ChatGPT** dan tidak ingin memakai jatah langkah Bystep. Komputer pengguna yang mengerjakan; Bystep tetap memegang rencana, bukti, dan tombol. Panduan awam: https://bystep.dev/serve. Tiga langkah, sekali saja:
1. Pasang Node.js (LTS) dari https://nodejs.org/en/download.
2. Buka aplikasi Terminal (Mac) atau PowerShell (Windows), jalankan `npm install -g @anthropic-ai/claude-code` lalu `claude` dan masuk dengan akun Claude (untuk ChatGPT: `npm install -g @openai/codex` lalu `codex`).
3. Jalankan `npx @bystep/cli serve` di jendela yang sama, buka tautan masuk yang muncul, biarkan jendelanya terbuka. (Cara tanpa tautan masuk: kode pairing, bagian 3.6.)
Lalu di Bystep: halaman **Bangun** → "Bangun dengan" → **Komputer saya**. Tombol **Bangunkan untuk saya** kini mengirim langkah ke komputer itu. "Coba dulu di HP-mu" tetap bekerja selama komputer menyala dan tersambung. Pemeriksaan kesiapan: `npx @bystep/cli serve --doctor` (keluarannya bahasa sehari-hari).
Kalimat yang berguna: "Langganan Claude/ChatGPT-mu tidak bisa dipakai di server Bystep (aturan penyedia), tetapi bisa dipakai di komputermu sendiri — Bystep hanya memberi langkah dan memeriksa hasilnya."

### 3.6 Menyambungkan komputer dengan kode, berjalan di latar, dan pembaruan (E5)
Semua ini tambahan; `bystep login` + `bystep serve` tetap bekerja seperti biasa.
- **Pasang CLI terbaru** (bila `npx @bystep/cli --version` di bawah 0.6.0): `npm install -g https://bystep.dev/downloads/bystep-cli-0.7.1.tgz`, lalu pakai perintah `bystep`.
- **Kode pairing**: di https://bystep.dev/serve (sudah masuk) tekan **Tampilkan kode pairing**. Muncul kode 8 karakter, kode QR, dan perintahnya. Kode hanya berlaku **sekali** dan **10 menit**. Di komputer: `bystep serve --pair <kode>`. Komputer menerima kunci miliknya sendiri (hanya untuk komputer itu, berlaku 90 hari, diperbarui otomatis bila tinggal kurang dari 7 hari) — tidak perlu `bystep login`. Halaman /serve menampilkan "Menunggu komputer terhubung…" sampai komputer benar-benar menyala. Kode salah, kedaluwarsa, atau sudah terpakai → minta pengguna menampilkan kode baru.
- **Berjalan di latar**: `bystep service install` memasang `bystep serve` sebagai layanan yang menyala lagi sendiri bila berhenti (Linux: systemd; macOS: launchd; Windows: Task Scheduler). `bystep service status` menunjukkan keadaannya, `bystep service uninstall` menghapus persis yang dipasang. Masuk atau pairing dulu sebelum memasang layanan.
- **Pembaruan**: `bystep update` hanya memeriksa; `bystep update --apply` mengunduh, mencocokkan ukuran + sha256, lalu memasang. Setelah itu mulai ulang `bystep serve` atau layanannya. Kanal `--channel preview` untuk versi uji.
- **Bystep Desktop 0.2.0** (opsional, Linux x64, belum ditandatangani) membundel CLI 0.6.0. Web tetap produk utamanya.
- Jujur: layanan latar dan penyimpanan kunci di **macOS dan Windows belum diverifikasi** di mesin nyata; Linux sudah. Jangan menjanjikan lebih dari itu.

### 3.7 Agent apa saja yang bisa dipakai di komputer sendiri
Daftar resminya satu: `https://bystep.dev/api/agents` (perlu login) — saat ini `claude` (Claude Code), `codex`, `cursor`, `gemini`, `opencode`, ditambah `custom` (skrip buatan sendiri). `copilot` terdaftar tapi belum diaktifkan; `openclaw` dan `hermes` hanya di cloud. Jangan menyebut agent lain dari ingatan; baca daftar itu. Agent hanya bisa dipakai kalau programnya memang terpasang dan sudah login sendiri di komputer pengguna — Bystep tidak pernah menyalin login agent.

**Skrip sendiri:** taruh berkas bisa-jalan di `.bystep/agents/<nama>.sh` (Windows: `.ps1`) lalu pilih `--agent custom:<nama>`. Bystep mengisi `BYSTEP_PROMPT` (atau `BYSTEP_PROMPT_FILE`), `BYSTEP_RUN_ID`, `BYSTEP_TASK_REF`, `BYSTEP_API_URL`, `BYSTEP_TOKEN` (hanya untuk langkah itu), dan menerima hasil berupa JSON di stdout atau berkas `.bystep/out/<runId>.md`.

**Pemeriksaan kesiapan v2:** `npx @bystep/cli serve --doctor` (tambah `--json` untuk mesin) menyebut versi tiap agent, dari mana kredensialnya kelihatannya berasal (langganan / kunci API / tidak ada / tidak diketahui), versi protokol, dan berapa langkah paralel yang disanggupi komputer itu. Tegaskan ke pengguna: keterangan asal kredensial itu **dugaan** dari berkas dan variabel yang ada, bukan bukti identitas akun.

**Garis waktu langkah:** selama agent bekerja, komputer pengguna mengirim ringkasan peristiwa (pesan, pemakaian alat, perubahan berkas, perintah, token/biaya) ke Bystep supaya halaman Bangun bisa menampilkannya. Isi berkas rahasia tidak ikut; potongan teks dipotong, dan pengiriman ulang tidak menggandakan garis waktu. Server lama tanpa fitur ini tetap jalan, hanya tanpa garis waktu.

**Token langganan ditolak:** login langganan Claude/ChatGPT tidak boleh diunggah ke Bystep. Menyimpan rahasia atau Kunci AI yang isinya mirip token langganan ditolak (`subscription_token_rejected`); pakai kunci API dari konsol penyedia, atau jalankan agent di komputer sendiri.

### 3.8 Tim agent: beberapa langkah sekaligus (E1)
- Di **Bangun**, **Mulai tim agent** menjalankan beberapa langkah mandiri bersamaan. Sakelar **Kerjakan beberapa sekaligus** muncul bila paket mengizinkan lebih dari satu; **Pengaturan lanjutan** memuat jumlahnya serta batas token / USD / menit.
- Tiap langkah bekerja di folder sendiri; langkah yang menyentuh berkas yang sama dikerjakan bergiliran. Langkah baru selesai bila bukti **gabungan** lulus; gerbang tahap tetap menunggu persetujuan pengguna.
- Batas paket tidak dipotong diam-diam: permintaan melebihi paket ditolak dengan pesan "Paket kamu mengizinkan {n} agent bersamaan". Arahkan ke https://bystep.dev/pricing; jangan menyebut angka dari ingatan.
- **Bentrok saat digabung**: tim berhenti, Bystep membuat task "Bentrok gabung: <ref>" dan item Inbox "Bentrok — perlu kamu". Task Perbaiki selalu didahulukan. Tim yang berhenti karena batas tampil "Dihentikan karena batas …" di Inbox dan di halaman Biaya.
- Di komputer sendiri: `bystep serve --parallel <n>` (1–8) membatasi jumlah bagian tim yang dikerjakan sekaligus; tanpa opsi itu komputer mengikuti tim (sampai 4). Langkah tunggal selalu satu per satu.
- Pesan ke tim (`bystep workflow message`) dibaca pada tugas berikutnya; tidak memotong agen yang sedang jalan. Berhenti (`bystep workflow stop`) baru tuntas setelah semua proses terbukti berhenti.
- Agen dengan shell: `bystep workflow list`, `bystep workflow start`, `bystep workflow show`, `bystep workflow stop`, `bystep workflow resume`, `bystep workflow message` (atau alat MCP `workflow_*`). Mulai, hentikan, atau lanjutkan tim hanya atas perintah pengguna.

### 3.9 Pemeriksa, izin perintah, dan Kartu Keputusan (opsional, per rencana)
Semua mati secara bawaan; pengguna menyalakannya di Bangun → **Eksekusi**.
- **Pemeriksa** (Mati/Otomatis/Selalu): setelah hasil gabungan lulus uji, satu agen tambahan membaca perubahan **tanpa mengubah berkas** dan memberi temuan berlabel Critical/Major/Minor. Temuan setara gerbang (bawaan: Critical) menghentikan tim dan muncul di Inbox; tombol "Perbaiki semua" membuat task Perbaiki, "Periksa ulang" menjalankan tim baru. Jatah Pemeriksa habis → pemeriksaan dilewati, tim tidak gagal.
- **Persetujuan perintah** (Mati/Berisiko/Semua): pada "Berisiko", perintah aman (mis. `git status`, `pnpm test`, `ls`) jalan sendiri; perintah lain menunggu pengguna menekan **Izinkan / Tolak** di Inbox (bisa "Ingat untuk proyek ini"). Tak dijawab 10 menit → ditolak dan langkah menunggu. Jujur: hanya Claude Code yang bisa bertanya per perintah; Codex, Gemini, Cursor, OpenCode, dan skrip sendiri tetap di sandbox-nya dan tercatat "approval_unsupported". Hanya berlaku di komputer pengguna (`bystep serve`), bukan di cloud.
- **Kartu Keputusan**: satu pertanyaan, 2–3 pilihan beserta akibatnya. Pilihan pengguna menjadi keputusan proyek yang dibaca semua agen berikutnya; kartu hanya bisa dipilih sekali. **Periksa rencana** mencari pertentangan di rencana dan memakai **1 pesan chat** dari jatah pengguna per klik.
- Keputusan proyek juga bisa dicatat dari shell: `bystep decision list`, `bystep decision add "<teks>" --why "<alasan>"`, `bystep decision replace <id> "<teks>"` — hanya atas perintah pengguna.
- Jika Anda agen di dalam langkah Bystep: laporkan status dengan `bystep report --state <active|idle|waiting_input|blocked> --message "…"`; sebagai Pemeriksa kirim temuan lewat `bystep review submit` (JSON di stdin). `bystep hooks <adapter> <event>` dipasang otomatis oleh `bystep serve` untuk Claude Code — jangan memanggilnya sendiri. Jangan mencoba menjawab permintaan izin atas nama pengguna.

### 3.10 Memori proyek, "lanjutkan di tempat lain", label jujur, dan kebijakan penyedia

- Bystep menyimpan ringkasan singkat tiap langkah yang lolos dan catatan "jebakan" setelah sebuah langkah gagal dua kali. Agen berikutnya menerimanya sebagai konteks (`recentMemory`), bukan sebagai perintah.
- Jika tim agent berhenti karena **batas pemakaian** layanan AI, **komputer offline**, atau **lease habis**, Inbox bisa menawarkan "Lanjutkan di cloud / di komputer kamu?" (untuk cloud dengan perkiraan biaya). Ini **tidak pernah otomatis**: pengguna harus menekan dan mengonfirmasi. Jangan memanggil `POST /api/plan/:id/workflows/continue-elsewhere` tanpa perintah eksplisit pengguna.
- Tiap langkah/tim baru menunjukkan **di mana** dijalankan (cloud/komputer), **siapa yang membayar** (kredit Bystep, kunci API pengguna, langganan pengguna di komputernya), dan modelnya.
- Model Runner hanya berubah bila pengguna memilihnya (per rencana, per tingkat tugas, atau model favorit di Pengaturan). Tanpa pilihan, model tetap seperti sebelumnya. Model di luar paket diturunkan ke default dan dicatat.
- Kebijakan tiap penyedia AI (boleh / abu-abu / dilarang per cara pakai) ada di https://bystep.dev/kebijakan-penyedia. Bystep tidak pernah menyimpan atau meneruskan token langganan.
- `bystep serve --runs-per-hour N` adalah rem opsional untuk komputer sendiri; tanpa opsi itu tidak ada batas.

### 3.11 Jejak kerja, terminal, "Mengapa status ini?", Batalkan giliran, dan impor issue (E4)

- **Jejak kerja** di halaman Bangun (dan di tiap kartu sesi tim) menampilkan apa yang dikerjakan agen dalam bahasa sehari-hari: pesan, "Membaca/Mengubah/Menjalankan …", berkas yang berubah, perintah beserta keluarannya (dipotong 4 KB; tombol **Unduh keluaran penuh** mengambil yang disimpan server, maksimal 16 KB per peristiwa). **Log teknis** adalah tampilan terminal **baca-saja**: tidak bisa mengetik perintah ke agen dari sana.
- **Mengapa status ini?** menunjukkan status efektif, aturan yang memutuskannya, dan sinyal terakhir. Agen tanpa sinyal (openclaw, hermes, skrip sendiri tanpa `bystep report`) tampil "tidak ada sinyal dari agen ini" — jangan menyimpulkan agen sedang bekerja.
- Lensa Kanban **Giliran** (AI sedang jalan / Perlu kamu / Siap / Selesai) hanya mengelompokkan ulang; status task tidak berubah.
- **Batalkan giliran**: `bystep serve` menyimpan titik simpan tiap giliran agen. Setelah langkah berhenti, pemilik bisa membatalkan satu giliran; berkas dikembalikan seperti sebelum giliran itu (berkas yang sudah berubah lagi sesudahnya tidak ditimpa). Batasan jujur: hanya berkas di disk (status task, bukti, dan versi tersimpan tidak berubah — minta pengguna memverifikasi ulang); komputer dan folder proyek yang sama harus menyala; berkas > 5 MB, symlink, dan submodule tidak bisa dikembalikan; di cloud hanya selama folder kerjanya belum dibersihkan; **sesi tim di komputer pengguna belum didukung** — sarankan **Kembalikan versi**. Jangan memanggil undo tanpa perintah eksplisit pengguna.
- **Impor issue GitHub** (mati secara bawaan): pemilik menyalakannya di pengaturan workspace dan menyimpan token sebagai rahasia proyek `GITHUB_TOKEN`. Issue terbuka (bukan pull request) menjadi task `todo` di fitur **Backlog** dengan kriteria terima **kosong** — task itu harus dilengkapi dulu sebelum Runner boleh mengambilnya. Maksimal 50 per permintaan, satu permintaan per 5 menit per workspace, tiap issue hanya diimpor sekali; perubahan di GitHub setelahnya tidak ikut.
- Notifikasi dibedakan "perlu perhatian" (terhambat, izin, bentrok, gerbang Pemeriksa) dan "selesai". Pesan yang tidak terkirim dicatat alasannya (kanal belum diatur, dimatikan, terlalu sering) di pengaturan notifikasi.

## 4. Jalur Mandiri (Anda adalah agen koding dengan shell)

Prasyarat yang **wajib** Anda periksa dulu: berada di folder proyek Git pengguna, punya akses jaringan, Node ≥ 18. Jika salah satu tidak terpenuhi → berhenti dan beri tahu pengguna (jangan berputar mencoba). `npx @bystep/cli --version` di bawah 0.6.0 berarti perintah bagian 3.6–3.11 belum ada; pasang `https://bystep.dev/downloads/bystep-cli-0.7.1.tgz` bila pengguna setuju.

```
npx @bystep/cli --llms                # manifest JSON semua perintah (baca ini, jangan menebak)
npx @bystep/cli task --llms           # manifest satu grup perintah
npx @bystep/cli login                 # device flow; pengguna mengonfirmasi di browser (atau --token bs_…)
npx @bystep/cli connect --plan <id>   # hubungkan folder ini ke rencana Bystep
npx @bystep/cli init                  # pasang skill + hook ke Claude Code/Cursor/Codex/AGENTS.md
npx @bystep/cli task next --json      # server memilih SATU langkah berikutnya (Task Packet)
npx @bystep/cli task start <ref>
npx @bystep/cli task verify <ref>     # menjalankan kriteria terima → bukti
npx @bystep/cli task complete <ref>   # ditolak bila bukti belum lulus
npx @bystep/cli task fail <ref> "alasan"
npx @bystep/cli task approve <phase>  # setujui gerbang tahap (hanya atas perintah pengguna)
npx @bystep/cli sync --plan           # kirim ringkasan struktur kode (tanpa isi file rahasia)
npx @bystep/cli doctor --repo         # skor kesiapan proyek untuk agen, offline
```

Kode keluar: `0` sukses · `1` gagal/verify merah · `2` input salah · `3` gerbang tahap menunggu persetujuan manusia.

**Semua perintah** (sumbernya `npx @bystep/cli --llms` dan https://bystep.dev/api/schema):

| Kelompok | Perintah |
|---|---|
| Akun & folder | `bystep login`, `bystep connect`, `bystep init`, `bystep doctor`, `bystep status`, `bystep whoami`, `bystep workspace list` |
| Rencana | `bystep plan list`, `bystep plan get`, `bystep plan exec`, `bystep import <path> --from speckit\|openspec\|backlog\|taskmaster` |
| Langkah | `bystep task next`, `bystep task list`, `bystep task start`, `bystep task verify`, `bystep task complete`, `bystep task fail`, `bystep task packet`, `bystep task guard` (hook Stop Claude Code), `bystep task approve`, `bystep wave next` |
| Kode | `bystep sync` |
| Tim agent (3.8) | `bystep workflow list`, `bystep workflow start`, `bystep workflow show`, `bystep workflow stop`, `bystep workflow resume`, `bystep workflow message` |
| Keputusan (3.9) | `bystep decision list`, `bystep decision add`, `bystep decision replace` |
| Komputer sendiri (3.5–3.6) | `bystep serve` (`--doctor`, `--pair <kode>`, `--parallel <n>`, `--listen`/`--no-listen`, `--runs-per-hour <n>`), `bystep service install`, `bystep service status`, `bystep service uninstall`, `bystep update` |
| Di dalam langkah Bystep (3.9) | `bystep report`, `bystep review submit`, `bystep hooks <adapter> <event>` (dipasang otomatis) |

Aturan loop: kerjakan satu task; jangan sentuh file di luar `ownedFiles`; patuhi `doNotTouch`, `conventions`, dan blok aturan proyek di packet; `complete` hanya setelah `verify` hijau; jika gagal 2× → `fail` dengan alasan, jangan memaksa `--override`.

**Alternatif MCP.** `@bystep/mcp` 0.4.0 (stdio; memakai login CLI): `plan_get`, `plan_list`, `task_next`, `task_packet`, `task_start`, `task_verify`, `task_complete`, `task_fail`, `task_evidence_get`, `phase_approve`, `wave_next`, `sync_status`, tim agent `workflow_list`, `workflow_get`, `workflow_start`, `workflow_stop`, `workflow_resume`, `workflow_message`, dan `review_submit`, `approval_list`, `approval_answer`, `decision_card_list`, `decision_card_choose`, `decision_list`, `decision_add`, `rules_list`, `state_get`. MCP hosted `https://bystep.dev/api/mcp` (kunci `bs_…` sebagai `Authorization: Bearer`): `list_plans`, `plan_status`, `run_next`, `run_status`, `preview_url`, `approve_stage`, `escalate`, alat `workflow_*` yang sama, `review_submit` (hanya menjelaskan bahwa temuan dikirim sesi Pemeriksa), `approval_list`, `approval_answer`, `decision_card_list`, `decision_card_choose`, `decision_list`, `decision_add`, `rules_list`, `state_get`, dan `task_packet`. `approval_answer`, `decision_card_choose`, `phase_approve`/`approve_stage`, `workflow_start`/`workflow_stop` hanya atas perintah eksplisit pengguna.

## 5. Batasan yang jujur

| Hal | Status |
|---|---|
| Membangun dari dalam chat (tanpa Bystep) | Tidak bisa |
| Aplikasi native App Store/Play | Tidak; hasilnya web-app yang bisa dipasang di HP (PWA) |
| Domain sendiri untuk aplikasi terbit | Sedang disiapkan; saat ini alamat di bawah bystep.dev |
| Jalur otomatis memakai langganan Claude/ChatGPT pengguna | Tidak di server Bystep; **bisa di komputer pengguna sendiri** lewat `bystep serve` (bagian 3.5). Di server: jatah Bystep atau **Kunci AI** milik pengguna (Pengaturan → "Pakai langganan AI-mu sendiri", hanya kunci API, bukan login akun) |
| Langkah gagal mengurangi jatah | Tidak |
| Izin per perintah selain Claude Code | Tidak; Codex, Gemini, Cursor, OpenCode, dan skrip sendiri tidak bisa bertanya per perintah — tetap di sandbox ruang kerja |
| Pemeriksa = bukti selesai | Tidak; Pemeriksa memberi temuan, bukti tetap dari kriteria terima |
| "Periksa rencana" gratis | Tidak; memakai 1 pesan chat per klik |
| Tim agent melebihi batas paket | Tidak; ditolak dengan pesan yang jelas, bukan dipotong diam-diam |
| Membeli tambahan agent bersamaan | Belum dijual (butuh gelombang tim yang lebih lebar / perubahan protokol) |
| Bentrok saat digabung diselesaikan otomatis | Tidak; menjadi task "Bentrok gabung" yang harus dikerjakan atau diputuskan |
| Jalur otomatis tersedia untuk semua akun | Dibuka bertahap; ada daftar tunggu |
| Pindah otomatis ke cloud saat batas langganan habis | Tidak; hanya tawaran di Inbox yang harus dikonfirmasi pengguna |
| Model premium dipakai tanpa dipilih | Tidak; model Runner hanya berubah atas pilihan eksplisit |
| `bystep task packet` berubah karena memori | Tidak; hanya Runner/brief/tim yang menerima `recentMemory` |
| Terminal di Log teknis bisa dipakai mengetik perintah | Tidak; baca-saja |
| Batalkan giliran untuk sesi tim di komputer pengguna | Belum; pakai Kembalikan versi |
| Batalkan giliran mengubah status task/bukti | Tidak; hanya berkas di disk — verifikasi ulang |
| Issue GitHub yang diimpor langsung dikerjakan Runner | Tidak; kriteria terima kosong, harus dilengkapi dulu |
| Layanan latar & penyimpanan kunci di macOS/Windows | Belum diverifikasi di mesin nyata; Linux sudah |
| Manifest pembaruan ditandatangani | Tidak; `bystep update --apply` mencocokkan ukuran + sha256 dari manifest yang diambil lewat HTTPS |
| Bystep Desktop di macOS/Windows | Belum; paket Linux x64 tanpa tanda tangan, eksekusi di Windows dimatikan |
| Paket npm selalu sama dengan unduhan Bystep | Tidak selalu; npm bisa tertinggal — cek `npx @bystep/cli --version` |

## 6. Tautan yang boleh Anda berikan

https://bystep.dev/tutorial · https://bystep.dev/mulai · https://bystep.dev/otomatis · https://bystep.dev/serve · https://bystep.dev/kebijakan-penyedia · https://bystep.dev/sign-in · https://bystep.dev/pricing · https://bystep.dev/docs · https://bystep.dev/support · https://bystep.dev/llms.txt · https://bystep.dev/api/schema · https://bystep.dev/downloads/releases.json

Versi dokumen: 2026-09-11.


## 7. Build bersama tim kecil

Setiap tugas mempunyai penanggung jawab manusia dan reviewer terpisah. Developer dapat menggunakan akun AI masing-masing di komputernya. Keanggotaan workspace tidak memberikan akses ke komputer, secret, atau billing orang lain. Buka halaman Tim untuk Tugas saya, review, milestone, perencanaan PRD/brief/codebase yang ditinjau, PR/CI GitHub, dan impor issue GitLab opsional.

Alur pribadi: `bystep team tasks` → `bystep team claim REF` → `bystep team context REF` → pengerjaan dengan alat Anda → `bystep task verify REF` → `bystep team report REF --file report.json`. Ambil konteks setelah klaim dan setelah sumber terkait berubah. `bystep team heartbeat REF` memperpanjang sesi. `bystep team assign`, `bystep team review`, `bystep team handoff`, `bystep team release`, dan `bystep team relinquish` menerima ref tugas dan berkas JSON yang sudah ditinjau. Gunakan `--key` untuk retry mutasi identik. Klaim tidak menjalankan AI; pencatatan rilis tidak melakukan deployment.

Tool MCP setara: `team_tasks`, `team_context`, `team_claim`, `team_heartbeat`, `team_assign`, `team_report`, `team_review`, `team_handoff`, `team_release`, `team_relinquish`. Tool menggunakan login Bystep dan state klaim lokal developer sendiri. Jangan memindahkan token langganan AI. Baca [panduan tim](https://bystep.dev/downloads/bystep-team-guide.md).

### Pemulihan Jurnal Keputusan / Decision Journal

Semua keputusan aktif (maksimal 60) masuk Task Packet. Ringkasan aktivitas perubahan task tidak memakai slot keputusan. Buka **Workspace → Pengaturan → Jurnal Keputusan (Decision Journal)**; tautannya juga ada di halaman Bangun dan keluaran `bystep decision list`.

- `bystep decision list --history --json` menampilkan ID lengkap, keputusan aktif, keputusan terganti, dan arsip.
- `bystep decision replace <id> "<teks>"` menerima UUID lengkap atau awalan unik minimal delapan karakter heksadesimal, termasuk ketika kuota penuh. Gunakan hanya saat keputusan yang sama berubah; jangan mengganti ruling lain demi membuka slot.
- `bystep decision archive <id>` mengarsipkan keputusan usang tanpa menghapus riwayat dan membuka satu slot.
- `bystep decision restore <id>` mengaktifkan arsip. Untuk keputusan terganti, teks dipulihkan sebagai salinan aktif terpisah tanpa mengganti penerusnya. Pemanggilan ulang tidak menggandakan teks.
- MCP menyediakan `decision_replace`, `decision_archive`, dan `decision_restore`, bersama `decision_list` dan `decision_add`, pada stdio dan hosted MCP.
- Kuota penuh mengembalikan `decisions_limit` (409) dengan petunjuk pemulihan. ID ambigu atau yang sudah diganti mendapat konflik yang jelas. ID tidak valid mendapat 400. Jangan mengulang permintaan yang sama terus-menerus atau mengarang keputusan pemilik.

Pasang CLI rilis ini: `npm install -g https://bystep.dev/downloads/bystep-cli-0.7.1.tgz`; MCP: `npm install -g https://bystep.dev/downloads/bystep-mcp-0.5.1.tgz`. Registry npm dapat tertinggal dari rilis langsung. CLI 0.6.0 langsung mendapat perbaikan ID pendek dari server; perintah arsip/pulihkan memerlukan CLI baru.
