REFERENSI CEPAT CLAUDE CODE
Perintah CLI, workflow, MCP, hook, konfigurasi
Memulai
Install & Mulai
npm install -g @anthropic-ai/claude-code
claude # start interactive session
claude --version # check version
claude update # update to latest
Autentikasi
claude login # browser OAuth
export ANTHROPIC_API_KEY="sk-ant-..."
claude logout # clear session
Slash Command
Perintah Sesi
| /help | Tampilkan perintah yang tersedia |
| /clear | Hapus riwayat percakapan |
| /compact | Padatkan konteks untuk menghemat token |
| /cost | Tampilkan penggunaan token dan biaya |
| /status | Tampilkan info sesi dan model |
| /new | Mulai percakapan baru |
| /config | Buka atau lihat konfigurasi |
| /doctor | Diagnosa masalah konfigurasi |
| /init | Buat CLAUDE.md untuk proyek |
| /login | Autentikasi dengan Anthropic |
| /logout | Hapus autentikasi |
Perintah Workflow
| /bug | Laporkan bug |
| /review | Minta code review |
| /pr | Buat atau perbarui pull request |
| /commit | Commit perubahan yang di-stage dengan pesan |
Shortcut Keyboard
| Ctrl+C | Batalkan generasi saat ini |
| Ctrl+D | Keluar dari Claude Code (EOF) |
| Escape | Batalkan input / edit saat ini |
| Tab | Autocomplete path file dan perintah |
| Up/Down | Navigasi riwayat input |
Flag CLI
Flag Umum
| -p, --print | Mode non-interaktif (headless) |
| --model | Atur model: opus, sonnet, haiku |
| --output-format | Output sebagai text, json, stream-json |
| --allowedTools | Batasi tool: Edit,Read,Bash |
| --max-turns N | Batasi jumlah giliran percakapan |
| --debug | Aktifkan debug logging |
| -n, --name | Beri nama sesi |
Headless / Scripting
claude -p "explain this error" < log.txt
claude -p "list todos" --output-format json
echo "fix typos" | claude -p
File Konfigurasi
Hierarki CLAUDE.md
| ./CLAUDE.md | Instruksi level proyek (masuk repo) |
| ./.claude/settings.json | Pengaturan proyek (izin, hook) |
| ~/.claude/CLAUDE.md | Instruksi global user (semua proyek) |
| ~/.claude/settings.json | Pengaturan global user |
| ~/.claude/projects/*/CLAUDE.md | Instruksi user per proyek (tidak di repo) |
Environment Variable
| ANTHROPIC_API_KEY | API key untuk autentikasi langsung |
| CLAUDE_MODEL | Override model default |
| CLAUDE_CONFIG_DIR | Path direktori konfigurasi kustom |
Izin
settings.json
{
"permissions": {
"allow": ["Read", "Glob", "Grep"],
"deny": ["Bash(rm *)"]
}
}
Mode Izin
| default | Tanya sebelum tool berisiko |
| --dangerously-skip-permissions | Izinkan semua tool (hanya CI/script) |
| --allowedTools | Flag CLI untuk membatasi set tool |
MCP Server
Apa Itu MCP Server?
Server Model Context Protocol memperluas Claude Code dengan tool kustom — database, API, layanan. Dikelola via CLI atau `.mcp.json`.
Manajemen CLI
claude mcp add server-name -- cmd arg1 arg2
claude mcp list
claude mcp remove server-name
Konfigurasi .mcp.json
{
"mcpServers": {
"my-db": {
"command": "python",
"args": ["-m", "mcp_server_db"],
"env": { "DB_URL": "${DATABASE_URL}" }
}
}
}
Scope
| .mcp.json | MCP server level proyek |
| ~/.claude/mcp.json | MCP server global user |
| claude mcp add -s user | Tambah ke scope user |
| claude mcp add -s project | Tambah ke scope proyek |
Hook
Event Hook
| PreToolUse | Berjalan sebelum tool dieksekusi |
| PostToolUse | Berjalan setelah tool selesai |
| Notification | Berjalan saat Claude mengirim notifikasi |
| Stop | Berjalan saat Claude selesai merespons |
Contoh settings.json
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "check-command.sh $INPUT"
}]
}]
}
}
Perilaku Hook
| exit 0 | Izinkan tool berjalan |
| exit 2 | Blokir tool dari berjalan |
| stdout | Feedback JSON ke Claude |
SDK & Otomasi
Scripting Headless
# Single prompt, get JSON output
claude -p "summarize main.py" \
--output-format json
# Pipe input
git diff | claude -p "review this diff"
CI / GitHub Actions
- uses: anthropics/claude-code-action@v1
with:
claude_args: >
--max-turns 5
--model claude-sonnet-4-6
Tips
Gunakan `--max-turns` untuk membatasi biaya dalam otomasi. Gunakan `--output-format json` untuk parsing hasil secara programatik. Kombinasikan dengan `--allowedTools` untuk keamanan.
Model
Pemilihan Model
claude --model opus # most capable
claude --model sonnet # balanced (default)
claude --model haiku # fastest, cheapest
Shortcut Model
| opus | Claude Opus — kapabilitas tertinggi |
| sonnet | Claude Sonnet — default, seimbang |
| haiku | Claude Haiku — cepat dan ekonomis |
| --model full-name | mis. claude-sonnet-4-6 |
Praktik Terbaik
Menulis CLAUDE.md
Masukkan konvensi proyek, tech stack, perintah build, dan instruksi tes ke CLAUDE.md. Buat singkat — Claude membacanya setiap sesi. Gunakan `/init` untuk scaffold.
Manajemen Biaya
| /cost | Cek penggunaan token yang berjalan |
| /compact | Kompres konteks saat membesar |
| --max-turns | Batasi giliran dalam otomasi |
| sonnet / haiku | Gunakan model lebih murah untuk tugas sederhana |
Prompting Efektif
| Spesifik | "Fix the null check in auth.ts:42" > "fix bug" |
| Beri konteks | Referensikan file, fungsi, pesan error |
| Gunakan @file | Referensikan file langsung: @src/main.ts |
| Gunakan gambar | Drag & drop screenshot untuk konteks visual |
| Iterasi | Tindak lanjuti untuk penyempurnaan; gunakan /clear untuk reset |