plugin-hints.md +0 −172 deleted
File Deleted View Diff
1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Rekomendasikan plugin Anda dari CLI Anda
6
7> Keluarkan penanda satu baris dari CLI Anda sehingga Claude Code meminta pengguna untuk memasang plugin resmi Anda.
8
9Jika Anda memelihara CLI atau SDK dan memiliki plugin di marketplace resmi Anthropic, alat Anda dapat meminta pengguna Claude Code untuk memasang plugin tersebut. CLI Anda menulis penanda satu baris ke stderr ketika mendeteksi bahwa itu berjalan di dalam Claude Code. Claude Code membaca penanda, menghapusnya dari output, dan menampilkan prompt pemasangan satu kali kepada pengguna.
10
11Protokol tidak memerlukan perintah tambahan dan tidak mengubah apa yang CLI Anda cetak untuk pengguna di luar Claude Code.
12
13Halaman ini adalah untuk pengelola CLI dan SDK. Jika Anda mencari untuk memasang plugin, lihat [Temukan dan pasang plugin](/docs/id/discover-plugins).
14
15<h2 id="how-it-works">
16 Cara kerjanya
17</h2>
18
19Claude Code menetapkan variabel lingkungan [`CLAUDECODE`](/docs/id/env-vars) ke `1` untuk setiap perintah yang dijalankan melalui alat Bash dan PowerShell, dan untuk perintah [hook](/docs/id/hooks). Dari v2.1.172 juga menetapkan [`CLAUDE_CODE_CHILD_SESSION`](/docs/id/env-vars) ke `1` dalam subproses yang sama. Ketika CLI Anda melihat salah satu variabel ini, itu menulis tag `<claude-code-hint />` yang menutup sendiri ke stderr. Dalam perintah hook, tag petunjuk dilepas dan diabaikan. Hanya output alat Bash dan PowerShell yang memicu prompt pemasangan.
20
21Ketika Claude Code menerima output perintah, itu:
22
231. Memindai baris petunjuk dan menghapusnya sebelum output mencapai model
242. Memeriksa bahwa petunjuk menargetkan plugin di marketplace Anthropic resmi
253. Memeriksa bahwa plugin belum dipasang dan belum diminta sebelumnya
264. Menampilkan prompt pemasangan kepada pengguna yang menyebutkan perintah yang mengeluarkan petunjuk
27
28Claude Code tidak pernah memasang plugin secara otomatis. Pengguna selalu mengonfirmasi.
29
30<h2 id="emit-the-hint">
31 Keluarkan petunjuk
32</h2>
33
34Petunjuk hint hanya aktif untuk plugin yang terdaftar di marketplace resmi Anthropic. Lihat [Dapatkan plugin Anda ke marketplace resmi](#get-your-plugin-into-the-official-marketplace) sebelum Anda meluncurkan integrasi.
35
36Gerbang emisi pada variabel lingkungan sehingga penanda tidak mungkin muncul ketika manusia menjalankan CLI Anda secara langsung, kemudian tulis tag ke stderr pada barisnya sendiri. Pilih variabel mana yang akan diperiksa:
37
38* `CLAUDECODE`: diatur pada setiap versi Claude Code, sehingga mencapai sebagian besar sesi. Ini juga diatur dalam sesi tmux dan subprocess server MCP stdio yang Claude Code mulai. Ekstensi IDE juga mengaturnya di terminal terintegrasi mereka, di mana manusia dapat menjalankan CLI Anda secara langsung.
39* `CLAUDE_CODE_CHILD_SESSION`: diatur hanya dalam subprocess yang Claude Code sendiri spawn, seperti pemanggilan alat, perintah hook, dan perintah [status line](/docs/id/statusline), sehingga tag biasanya tidak mencapai terminal manusia. Proses yang berumur panjang yang dimulai di dalam sesi, seperti server tmux, menangkap variabel, sehingga shell yang diluncurkan kemudian dari proses itu masih menampilkan tag mentah.
40
41Contoh berikut gerbang pada `CLAUDECODE` untuk jangkauan maksimal dan mengeluarkan petunjuk untuk plugin bernama `example-cli` di marketplace resmi:
42
43<CodeGroup>
44 ```javascript Node.js theme={null}
45 if (process.env.CLAUDECODE) {
46 process.stderr.write(
47 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />\n',
48 )
49 }
50 ```
51
52 ```python Python theme={null}
53 import os, sys
54
55 if os.environ.get("CLAUDECODE"):
56 print(
57 '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />',
58 file=sys.stderr,
59 )
60 ```
61
62 ```go Go theme={null}
63 if os.Getenv("CLAUDECODE") != "" {
64 fmt.Fprintln(os.Stderr,
65 `<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />`)
66 }
67 ```
68
69 ```shell Shell theme={null}
70 if [ -n "$CLAUDECODE" ]; then
71 printf '%s\n' '<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />' >&2
72 fi
73 ```
74</CodeGroup>
75
76Ganti `example-cli` dengan nama plugin Anda di marketplace resmi.
77
78<h2 id="choose-where-to-emit">
79 Pilih tempat untuk mengeluarkan
80</h2>
81
82Anda mengontrol jalur kode mana yang mengeluarkan petunjuk. Claude Code menghilangkan duplikat berdasarkan plugin, jadi mengeluarkan pada setiap invokasi tidak memiliki kelemahan. Titik sentuh yang bekerja dengan baik meliputi:
83
84| Penempatan | Mengapa itu bekerja |
85| :--------------------------------------- | :--------------------------------------------------------------------- |
86| Output `--help` | Claude sering menjalankan help saat menjelajahi CLI yang tidak dikenal |
87| Kesalahan subperintah yang tidak dikenal | Mencapai momen ketika Claude bingung tentang antarmuka Anda |
88| Keberhasilan login atau autentikasi | Pengguna sudah dalam pola pikir pengaturan |
89| Pesan sambutan first-run | Momen onboarding yang alami |
90
91<h2 id="what-the-user-sees">
92 Apa yang dilihat pengguna
93</h2>
94
95Ketika petunjuk melewati semua pemeriksaan, Claude Code menampilkan prompt seperti berikut:
96
97```text theme={null}
98─────────────────────────────────────────────────────────────
99 Plugin recommendation
100
101 The example-cli command suggests installing a plugin.
102
103 Plugin: example-cli
104 Marketplace: claude-plugins-official
105 Official integration for example-cli deployments
106
107 Would you like to install it?
108 ❯ 1. Yes, install example-cli
109 2. No
110 3. No, and don't show plugin installation hints again
111
112─────────────────────────────────────────────────────────────
113```
114
115Prompt menyebutkan perintah yang menghasilkan petunjuk sehingga pengguna dapat mendeteksi ketidaksesuaian antara alat dan plugin yang direkomendasikannya. Jika pengguna tidak merespons dalam 30 detik, Claude Code menolak prompt sebagai **No**.
116
117Frekuensi prompt dibatasi, dan beberapa sesi tidak pernah menampilkan prompt:
118
119* **Sekali per plugin**: setelah prompt ditampilkan, Claude Code mencatat plugin dan tidak pernah memintanya lagi, terlepas dari jawaban pengguna.
120* **Sekali per sesi**: di semua CLI di mesin, paling banyak satu prompt petunjuk muncul per sesi Claude Code.
121* **Hanya sesi interaktif utama**: Claude Code menampilkan prompt hanya dalam sesi terminal tempat pengguna mengetik. Claude Code tidak pernah menampilkan prompt untuk perintah yang dijalankan oleh [subagent](/docs/id/sub-agents), dan tidak pernah menampilkan prompt ketika pengguna menjalankan Claude Code dalam [mode non-interaktif](/docs/id/headless) dengan flag `-p` atau melalui [Agent SDK](/docs/id/agent-sdk/overview). Claude Code masih menghapus baris petunjuk dari output perintah dalam semua kasus ini.
122* **Opt-out telemetri**: sesi tempat analitik dinonaktifkan tidak pernah menampilkan prompt petunjuk. Ini termasuk sesi dengan `DISABLE_TELEMETRY` atau `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` yang diatur, dan sesi di penyedia pihak ketiga seperti Amazon Bedrock atau Agent Platform Google Cloud tempat [opt-out telemetri otomatis](/docs/id/data-usage#default-behaviors-by-api-provider) berlaku.
123
124Memilih **Yes** memasang plugin ke cakupan pengguna. Memilih **No, and don't show plugin installation hints again** menonaktifkan semua prompt petunjuk di masa depan untuk pengguna.
125
126<h2 id="hint-format">
127 Format petunjuk
128</h2>
129
130Petunjuk adalah tag yang menutup sendiri dengan tiga atribut yang diperlukan.
131
132```text theme={null}
133<claude-code-hint v="1" type="plugin" value="example-cli@claude-plugins-official" />
134```
135
136| Atribut | Diperlukan | Deskripsi |
137| :------ | :--------- | :--------------------------------------------------------------- |
138| `v` | Ya | Versi protokol. `1` adalah satu-satunya nilai yang didukung |
139| `type` | Ya | Jenis petunjuk. `plugin` adalah satu-satunya nilai yang didukung |
140| `value` | Ya | Pengenal plugin dalam bentuk `name@marketplace` |
141
142Nilai atribut dapat dikutip dengan tanda kutip ganda atau dibiarkan tanpa tanda kutip. Nilai tanpa tanda kutip tidak dapat berisi spasi. Urutan escape tidak didukung.
143
144<h2 id="requirements">
145 Persyaratan
146</h2>
147
148Claude Code memberlakukan dua kondisi sebelum bertindak atas petunjuk. Petunjuk yang gagal salah satu pemeriksaan dijatuhkan:
149
150* **Baris sendiri**: tag harus menempati barisnya sendiri. Tag yang tertanam di tengah baris, misalnya di dalam pernyataan log, diabaikan. Spasi di awal dan akhir baris diizinkan.
151* **Marketplace resmi**: `value` harus mereferensikan plugin di marketplace yang dikendalikan Anthropic seperti `claude-plugins-official`. Petunjuk yang menunjuk ke marketplace lain secara diam-diam dijatuhkan.
152
153Baris petunjuk selalu dihapus dari output sebelum mencapai model, bahkan ketika versi atau jenis tidak dikenali, sehingga penanda tidak pernah dihitung terhadap penggunaan token.
154
155Panduan yang tersisa direkomendasikan tetapi tidak diberlakukan. Claude Code tidak dapat mengamati apakah CLI Anda mengikutinya:
156
157* **Tulis ke stderr**: stderr menjaga tag keluar dari pipa shell seperti `example-cli deploy | jq`. Claude Code memindai kedua aliran, jadi stdout juga berfungsi.
158* **Gerbang pada variabel lingkungan**: hanya keluarkan ketika `CLAUDECODE` atau `CLAUDE_CODE_CHILD_SESSION` diatur. Lihat [Emit the hint](#emit-the-hint) untuk mengetahui bagaimana kedua variabel berbeda.
159
160<h2 id="get-your-plugin-into-the-official-marketplace">
161 Dapatkan plugin Anda ke marketplace resmi
162</h2>
163
164Protokol petunjuk hanya berlaku untuk plugin yang terdaftar di marketplace Anthropic resmi, `claude-plugins-official`. Anthropic mengkurasi marketplace tersebut atas kebijakannya sendiri, dan formulir pengajuan dalam aplikasi menambahkan plugin ke [marketplace komunitas](/docs/id/plugins#submit-your-plugin-to-the-community-marketplace) sebagai gantinya, yang protokol petunjuk tidak periksa. Jika Anda bekerja dengan kontak mitra Anthropic, hubungi mereka untuk mengoordinasikan daftar marketplace resmi.
165
166<h2 id="see-also">
167 Lihat juga
168</h2>
169
170* [Buat plugin](/docs/id/plugins): bangun plugin yang direkomendasikan CLI Anda
171* [Buat dan distribusikan marketplace plugin](/docs/id/plugin-marketplaces): host plugin di luar marketplace resmi
172* [Variabel lingkungan](/docs/id/env-vars): referensi lengkap untuk `CLAUDECODE` dan variabel terkait