Konfigurasi
Semua dapat dikonfigurasi melalui panel Settings — buka dengan Vibes to Bucks: Cost Tracking & Billing Setup di palet perintah Cursor. Tidak perlu mengedit YAML.
1. Hubungkan perangkat lunak penagihan Anda (Pro)
Di bawah Billing software, pilih Moneybird atau Harvest.
Masukkan API Token Anda dan klik Test Connection. Setelah terhubung, dropdown Administration dan User akan terisi otomatis dari akun Anda. Pilih administrasi dan pengguna yang tepat — entri waktu akan dibuat di bawah pengguna ini.
Token Anda disimpan dengan aman di SecretStorage VS Code. Tidak pernah ditulis ke file konfigurasi atau disk.
Mendapatkan API token Moneybird Anda
- Di Moneybird, buka Settings (ikon roda gigi, pojok kiri bawah)
- Klik External and AI connections
- Di bawah External applications, klik Create API token
- Beri nama token (misalnya Vibes to Bucks), konfirmasi, dan salin token tersebut
- Tempelkan ke dalam bidang API Token di panel Settings Vibes to Bucks
Mendapatkan token Harvest Anda
- Di Harvest, buka Developers → Personal Access Tokens
- Klik Create new personal access token, beri nama, dan salin token tersebut
- Anda juga memerlukan Account ID — ditampilkan di halaman yang sama di samping nama akun Anda
- Tempelkan keduanya ke panel Settings Vibes to Bucks
2. Tambahkan aturan penagihan
Aturan penagihan memberi tahu ekstensi klien dan proyek mana yang harus dialokasikan untuk biaya AI. Buka panel Settings dan gulir ke Add Billing Rule.
Apa yang ingin Anda lacak?
- Repository — cocok berdasarkan git remote. Gunakan ini untuk sebagian besar proyek. Ekstensi mendeteksi remote secara otomatis ketika Anda membuka workspace.
- Folder — cocok berdasarkan jalur folder. Gunakan ini untuk proyek tanpa git remote, atau untuk menghubungkan folder lokal ke cabang tertentu dari repo multiklien.
Bidang aturan
| Bidang | Fungsinya |
|---|---|
| Contact | Klien di Moneybird atau Harvest yang ditagih oleh aturan ini. Mulai mengetik untuk mencari. |
| Project | Proyek di bawah klien tersebut. Mulai mengetik untuk mencari. |
| Hourly Rate (EUR) | Tarif Anda untuk klien ini. Digunakan untuk mengonversi biaya AI menjadi jam yang dapat ditagih. |
| How to calculate billable time | Multiply AI cost — menerapkan pengganda keuntungan Anda sebelum mengonversi ke jam. Pass through at face value — meneruskan biaya mentah ke klien. |
| Cost to Profit Multiplier | Hanya ditampilkan saat mode multiply dipilih. Default adalah 5 (setiap €1 biaya AI = €5 ditagih). |
| Weekly budget cap | Centang untuk menetapkan batas biaya AI maksimum per minggu untuk aturan ini. Ekstensi akan memberi tahu Anda pada 25%, 50%, 75%, 85%, 95% dan ketika Anda melebihi batas. |
| Billable | Dicentang secara default. Hapus centang untuk melacak biaya untuk aturan ini tanpa menghasilkan entri waktu — berguna untuk proyek internal atau overhead yang diserap. |
Klik Save Rule setelah selesai.
Beberapa klien dalam satu repo
Jika cabang berbeda dari repo yang sama milik klien yang berbeda, centang Multiple clients on this repo dan simpan. Aturan kemudian menunjukkan ikon cabang di tabel Billing Rules — klik untuk membuka Branch Rules.
Setiap aturan cabang menambahkan pattern (nama cabang tepat seperti main, wildcard tunggal seperti client-a/*, atau rekursif seperti feature/**) dan kontak, proyek, tarif, mode penagihan, serta pengaturan anggarannya sendiri.
Aturan dicocokkan dari atas ke bawah — kecocokan pertama yang menang.
3. Biaya yang tidak ditetapkan
Bagian Unassigned Costs (juga dapat diakses melalui Vibes to Bucks: Show Unassigned Costs) mencantumkan repo dengan biaya AI yang dilacak yang belum cocok dengan aturan penagihan mana pun. Klik Assign di samping repo untuk membuka formulir Add Billing Rule dengan repository yang sudah diisi sebelumnya.
4. Settings
| Setting | Fungsinya |
|---|---|
| Language | Bahasa UI untuk ekstensi. Tersedia 15 bahasa. |
| Check for new costs every (minutes) | Seberapa sering ekstensi memeriksa Cursor untuk penggunaan baru. Default: 5. |
| Sync to billing software | Daily — sinkronisasi otomatis di akhir hari. Manual — jalankan Vibes to Bucks: Sync Now dari palet perintah saat Anda ingin menyinkronkan. |
| Fallback exchange rate (USD → EUR) | Digunakan ketika kurs ECB langsung tidak tersedia. Panel menunjukkan kurs langsung saat ini dan memungkinkan Anda mengambil yang terbaru dengan satu klik. |
| Display Currency | EUR atau USD. Mempengaruhi bagaimana biaya ditampilkan di dashboard dan status bar. |
Klik Save Settings setelah melakukan perubahan.
5. AI Summarization (Pro)
Saat menyinkronkan, ekstensi dapat menghasilkan deskripsi entri waktu yang bermakna dari commit git terbaru Anda menggunakan model AI.
| Bidang | Fungsinya |
|---|---|
| AI provider | Anthropic atau OpenAI. |
| Model | Pilih dari preset (misalnya Claude Haiku 4.5) atau masukkan ID model kustom. |
| API key | Masukkan kunci Anda dan klik Save Key. Disimpan dengan aman di SecretStorage — tidak pernah ditulis ke file konfigurasi. |
Prasyarat
- Git harus diinstal secara lokal. Ekstensi menjalankan
git loguntuk mengambil pesan commit untuk AI summarization. - SSH remote workspaces: Diperlukan otentikasi berbasis kunci SSH (tanpa kata sandi). Git harus diinstal di mesin remote. Ekstensi secara otomatis menjalankan
ssh <host> "git log ..."ketika mendeteksi workspace SSH.
Lanjutan: Referensi YAML
Panel Settings menulis ke ~/.vibes-to-bucks/config.yaml. Anda dapat mengedit file ini secara langsung sebagai alternatif — panel dan YAML sepenuhnya dapat dipertukarkan.
Contoh lengkap
destination: moneybird
moneybird:
administration_id: "123456789"
user_id: "987654321"
polling:
interval_minutes: 5
sync_schedule: daily
fx:
source: ecb
fallback_rate: 0.92
mappings:
# Single-client repo
- repo: github.com/acme/website
contact_id: "100"
billing:
mode: multiplier
project_id: "200"
hourly_rate: 120
multiplier: 5
budget:
max_ai_cost_per_week: 50
# Multi-client repo — different branches → different clients
- repo: github.com/org/platform
multiclient: true
branches:
- pattern: "client-a/*"
contact_id: "300"
billing:
mode: multiplier
project_id: "400"
hourly_rate: 100
multiplier: 5
- pattern: dev
contact_id: "600"
billing:
mode: passthrough
project_id: "700"
hourly_rate: 0
# Folder fallback
- folder: /home/user/experiments
contact_id: "800"
billing:
mode: passthrough
project_id: "900"
hourly_rate: 100
Normalisasi remote
Git remotes dinormalisasi sebelum pencocokan. Semua ini diubah menjadi github.com/acme/website:
[email protected]:acme/website.githttps://github.com/acme/website.gitssh://[email protected]/acme/website.git
Tuliskan nilai repo sebagai host/org/repo — tanpa protokol, tanpa .git.
Menemukan ID Moneybird
- Administration ID: terlihat di URL —
moneybird.com/{id}/... - Contact ID: buka kontak, ID ada di URL
- Project ID: Settings → Projects → klik proyek → ID di URL
- User ID: Settings → Users → pengguna Anda → ID di URL