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
/helpTampilkan perintah yang tersedia
/clearHapus riwayat percakapan
/compactPadatkan konteks untuk menghemat token
/costTampilkan penggunaan token dan biaya
/statusTampilkan info sesi dan model
/newMulai percakapan baru
/configBuka atau lihat konfigurasi
/doctorDiagnosa masalah konfigurasi
/initBuat CLAUDE.md untuk proyek
/loginAutentikasi dengan Anthropic
/logoutHapus autentikasi
Perintah Workflow
/bugLaporkan bug
/reviewMinta code review
/prBuat atau perbarui pull request
/commitCommit perubahan yang di-stage dengan pesan
Shortcut Keyboard
Ctrl+CBatalkan generasi saat ini
Ctrl+DKeluar dari Claude Code (EOF)
EscapeBatalkan input / edit saat ini
TabAutocomplete path file dan perintah
Up/DownNavigasi riwayat input
Flag CLI
Flag Umum
-p, --printMode non-interaktif (headless)
--modelAtur model: opus, sonnet, haiku
--output-formatOutput sebagai text, json, stream-json
--allowedToolsBatasi tool: Edit,Read,Bash
--max-turns NBatasi jumlah giliran percakapan
--debugAktifkan debug logging
-n, --nameBeri 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.mdInstruksi level proyek (masuk repo)
./.claude/settings.jsonPengaturan proyek (izin, hook)
~/.claude/CLAUDE.mdInstruksi global user (semua proyek)
~/.claude/settings.jsonPengaturan global user
~/.claude/projects/*/CLAUDE.mdInstruksi user per proyek (tidak di repo)
Environment Variable
ANTHROPIC_API_KEYAPI key untuk autentikasi langsung
CLAUDE_MODELOverride model default
CLAUDE_CONFIG_DIRPath direktori konfigurasi kustom
Izin
settings.json
{ "permissions": { "allow": ["Read", "Glob", "Grep"], "deny": ["Bash(rm *)"] } }
Mode Izin
defaultTanya sebelum tool berisiko
--dangerously-skip-permissionsIzinkan semua tool (hanya CI/script)
--allowedToolsFlag 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.jsonMCP server level proyek
~/.claude/mcp.jsonMCP server global user
claude mcp add -s userTambah ke scope user
claude mcp add -s projectTambah ke scope proyek
Hook
Event Hook
PreToolUseBerjalan sebelum tool dieksekusi
PostToolUseBerjalan setelah tool selesai
NotificationBerjalan saat Claude mengirim notifikasi
StopBerjalan saat Claude selesai merespons
Contoh settings.json
{ "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "check-command.sh $INPUT" }] }] } }
Perilaku Hook
exit 0Izinkan tool berjalan
exit 2Blokir tool dari berjalan
stdoutFeedback 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
opusClaude Opus — kapabilitas tertinggi
sonnetClaude Sonnet — default, seimbang
haikuClaude Haiku — cepat dan ekonomis
--model full-namemis. 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
/costCek penggunaan token yang berjalan
/compactKompres konteks saat membesar
--max-turnsBatasi giliran dalam otomasi
sonnet / haikuGunakan model lebih murah untuk tugas sederhana
Prompting Efektif
Spesifik"Fix the null check in auth.ts:42" > "fix bug"
Beri konteksReferensikan file, fungsi, pesan error
Gunakan @fileReferensikan file langsung: @src/main.ts
Gunakan gambarDrag & drop screenshot untuk konteks visual
IterasiTindak lanjuti untuk penyempurnaan; gunakan /clear untuk reset