plugin-relevance.md +0 −186 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 plugins untuk organisasi Anda
6
7> Tambahkan blok relevance ke entri plugin marketplace sehingga Claude Code menyarankannya ketika pekerjaan pengguna cocok.
8
9Jika Anda mengoperasikan marketplace plugin untuk organisasi Anda, Anda dapat membuat Claude Code menyarankan plugin tertentu kepada pengguna berdasarkan apa yang sedang mereka kerjakan. Tambahkan blok `relevance` ke entri plugin di `marketplace.json`, kemudian daftarkan marketplace di managed settings. Ketika sesi pengguna cocok dengan salah satu sinyal yang dideklarasikan, Claude Code menampilkan saran instalasi untuk plugin tersebut.
10
11Saran yang dideklarasikan marketplace bersifat opt-in per marketplace melalui [managed settings](/docs/id/managed-settings). Tidak ada deklarasi `relevance` marketplace yang menghasilkan saran sampai administrator menambahkannya ke daftar allowlist, termasuk marketplace resmi Anthropic. Claude Code juga menyertakan satu saran bawaan yang independen dari daftar allowlist ini; tip tersebut dan semua tip yang dideklarasikan marketplace dinonaktifkan ketika [`spinnerTipsEnabled`](/docs/id/settings-reference#spinnertipsenabled) diatur ke `false`.
12
13Halaman ini untuk operator marketplace dan administrator enterprise. Jika Anda mencari untuk menginstal plugins, lihat [Temukan dan instal plugins](/docs/id/discover-plugins).
14
15<h2 id="how-it-works">
16 Cara kerjanya
17</h2>
18
19Setiap entri plugin di `marketplace.json` dapat membawa objek `relevance`. Objek ini menamai topik dan satu atau lebih sinyal. Sinyal adalah pola yang Claude Code uji terhadap sesi saat ini, seperti direktori kerja atau file yang telah dibaca Claude.
20
21Pencocokan sinyal terjadi secara lokal di mesin pengguna. Pencocokan tidak menambah lalu lintas jaringan dan tidak melaporkan sinyal mana yang cocok, atau nilainya, ke Anthropic atau ke operator marketplace.
22
23Ketika sinyal cocok dan plugin belum diinstal, Claude Code menampilkan plugin di tiga tempat:
24
25* **Spinner tip**: pesan "Working with *topic*? Install the *plugin* plugin" dengan perintah `/plugin install` muncul di bawah spinner saat Claude merespons.
26* **Session-start suggestion**: jika sinyal `cwd` cocok dengan direktori kerja, notifikasi satu baris `plugin suggestion: <name>@<marketplace> · /plugin` muncul sebelum giliran pertama.
27* **`/plugin` Discover tab**: plugin disematkan ke bagian atas daftar Discover dengan anotasi seperti "suggested for this directory" atau "suggested for stripe commands".
28
29Spinner tip dan notifikasi session-start adalah bagian dari sistem spinner-tips. Claude Code menonaktifkan keduanya ketika `spinnerTipsEnabled` diselesaikan menjadi `false` di seluruh file pengaturan Anda, atau ketika `excludeDefault` diselesaikan menjadi `true` di seluruh kunci [`spinnerTipsOverride`](/docs/id/settings-reference#spinnertipsoverride) di pengaturan pengguna, `--settings`, dan pengaturan terkelola dan kunci-kunci tersebut mengonfigurasi setidaknya satu tip atau `tipsFile`.
30
31Pin tab Discover independen dari pengaturan tip.
32
33Claude Code tidak pernah menginstal plugin secara otomatis. Pengguna selalu mengonfirmasi.
34
35<h2 id="add-relevance-to-a-plugin-entry">
36 Tambahkan relevance ke entri plugin
37</h2>
38
39Tambahkan objek `relevance` ke entri plugin di `marketplace.json` Anda. Contoh berikut mendeklarasikan bahwa plugin `terraform-helpers` relevan ketika Claude membaca file `.tf` atau ketika Claude menjalankan `terraform`:
40
41```json theme={null}
42{
43 "name": "acme-corp-plugins",
44 "owner": { "name": "Acme Platform Team" },
45 "plugins": [
46 {
47 "name": "terraform-helpers",
48 "source": "./plugins/terraform-helpers",
49 "description": "Acme conventions and helpers for Terraform",
50 "relevance": {
51 "topic": "Terraform",
52 "signals": {
53 "cli": ["terraform"],
54 "filesRead": ["**/*.tf"]
55 }
56 }
57 }
58 ]
59}
60```
61
62Plugin dengan blok `relevance` tetapi tanpa sinyal yang cocok berperilaku seperti entri marketplace lainnya. Plugin ini muncul di daftar Discover di posisi normalnya dan tidak pernah muncul sebagai spinner tip.
63
64<h2 id="field-reference">
65 Referensi bidang
66</h2>
67
68<h3 id="relevance">
69 `relevance`
70</h3>
71
72| Bidang | Tipe | Deskripsi |
73| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
74| `topic` | string | Opsional. Frasa yang mengisi "Working with *topic*?" di spinner tip. Sering kali nama produk, misalnya `Stripe`. Gunakan domain seperti `design` ketika nama plugin tidak terbaca secara alami sebagai topik. Default ke nama plugin dengan setiap segmen tanda hubung dikapitalisasi. Notifikasi session-start tidak menggunakan nilai ini. Maksimal 64 karakter. |
75| `signals` | object | Matcher yang menentukan kapan plugin relevan. Setidaknya satu sinyal diperlukan agar plugin dapat disarankan. Lihat tabel di bawah. |
76
77<h3 id="relevance-signals">
78 `relevance.signals`
79</h3>
80
81| Bidang | Tipe | Deskripsi |
82| :------------- | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
83| `cwd` | array of strings | Pola Glob yang dicocokkan dengan direktori kerja sesi. Dicocokkan sebagai jalur absolut dan, ketika berada di dalam repositori git, sebagai jalur relatif terhadap akar repositori. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Setiap pola cocok dengan direktori itu sendiri dan semuanya di bawahnya, jadi `infra`, `infra/`, dan `infra/**` berperilaku identik. Ini adalah satu-satunya sinyal yang dapat cocok pada awal sesi, sebelum giliran pertama. Maksimal 10 pola dengan 256 karakter masing-masing. |
84| `cli` | array of strings | Nama perintah dari perintah shell yang telah dijalankan Claude sesi ini, misalnya `["stripe"]`. Berlaku di setiap platform: perintah yang dijalankan di Windows melalui PowerShell atau Git Bash dicatat dengan cara yang sama. Claude Code mencatat satu nama perintah per invokasi alat shell: token pertama setelah penugasan variabel lingkungan apa pun dan `sudo`. Perintah gabungan hanya berkontribusi pada perintah terdepan mereka, jadi `cd infra && terraform plan` mencatat `cd`, bukan `terraform`. Kecocokan tepat. Maksimal 10 entri dengan 64 karakter masing-masing. |
85| `hosts` | array of strings | Nama host yang terlihat di URL `http://` atau `https://` dalam perintah Bash sesi ini, misalnya `["api.stripe.com"]`. Hanya nama host huruf kecil telanjang: tanpa skema, port, atau jalur. Kecocokan tepat tidak peka huruf besar-kecil. Maksimal 20 entri dengan 128 karakter masing-masing. |
86| `filesRead` | array of strings | Pola Glob yang dicocokkan dengan jalur file yang telah dibaca Claude sesi ini, misalnya `["**/*.tf"]`. Garis miring dinormalisasi dan tidak peka huruf besar-kecil. Maksimal 10 pola dengan 256 karakter masing-masing. |
87| `manifestDeps` | array of objects | Dependensi yang dideklarasikan dalam manifes paket yang telah dibaca Claude sesi ini. Setiap entri adalah `{ "file": "...", "pattern": "..." }`, di mana `file` adalah ekspresi reguler yang dicocokkan dengan jalur file manifes seperti yang dicatat dalam status sesi, biasanya jalur absolut, dan `pattern` adalah ekspresi reguler yang dicocokkan dengan konten file tersebut. Jangkar `file` di akhir, misalnya `[/\\\\]package\\.json$` dalam bentuk JSON-escaped, karena pola yang dimulai dengan jangkar tidak pernah cocok dengan jalur absolut. Jalur tidak dinormalisasi pemisah untuk sinyal ini, jadi jalur Windows menggunakan garis miring terbalik. File manifes yang lebih besar dari 512 KB dilewati. Kedua nilai adalah string sumber JavaScript `RegExp` paling banyak 256 karakter. `file` cocok tidak peka huruf besar-kecil. `pattern` peka huruf besar-kecil. Maksimal 10 entri. |
88
89Sinyal `cli`, `hosts`, `filesRead`, dan `manifestDeps` memerlukan riwayat sesi, jadi mereka hanya dapat cocok pada spinner tip dan tab Discover. Sinyal `filesRead` dan `manifestDeps` menguji status file yang dicatat sesi, yang juga mencakup file yang telah ditulis atau diedit Claude dan file memori `CLAUDE.md` yang dimuat otomatis. Untuk kedua sinyal ini, Claude Code melewati jalur di bawah [direktori konfigurasinya](/docs/id/claude-directory) dan direktori sementaranya.
90
91Contoh berikut menggunakan `manifestDeps` untuk menyarankan plugin Stripe setelah Claude membaca `package.json` yang bergantung pada `stripe`. Pola `file` menggunakan `[/\\\\]` sehingga cocok dengan pemisah jalur garis miring dan garis miring terbalik, dan `\\.` sehingga titik adalah literal. Dalam JSON, setiap garis miring terbalik dalam ekspresi reguler ditulis dua kali.
92
93```json theme={null}
94{
95 "name": "stripe-helpers",
96 "source": "./plugins/stripe-helpers",
97 "relevance": {
98 "topic": "Stripe",
99 "signals": {
100 "manifestDeps": [
101 {
102 "file": "[/\\\\]package\\.json$",
103 "pattern": "\"stripe\"\\s*:"
104 }
105 ]
106 }
107 }
108}
109```
110
111<Note>
112 Claude Code mengabaikan bidang yang tidak dikenal di bawah `relevance` dan `relevance.signals` pada waktu muat, jadi klien yang lebih lama terus memuat marketplace Anda.
113</Note>
114
115<h2 id="enable-suggestions-in-managed-settings">
116 Aktifkan saran di managed settings
117</h2>
118
119Mendeklarasikan `relevance` di `marketplace.json` saja tidak cukup. Administrator harus mendaftarkan marketplace di [managed settings](/docs/id/managed-settings) sebelum sarannya muncul kepada pengguna.
120
121Tambahkan nama marketplace ke `pluginSuggestionMarketplaces`. Untuk marketplace apa pun selain marketplace resmi Anthropic, juga deklarasikan sumber marketplace di managed settings yang sama, baik sebagai entri nama tersebut di `extraKnownMarketplaces` atau sebagai entri di `strictKnownMarketplaces`. Nama yang didaftarkan diabaikan jika marketplace yang terdaftar di mesin berasal dari sumber yang berbeda. Ini mencegah sumber yang tidak terkait mendaftarkan di bawah nama yang didaftarkan untuk memiliki pluginnya disarankan di seluruh organisasi Anda.
122
123`managed-settings.json` berikut mendaftarkan marketplace organisasi dari repositori GitHub dan mengaktifkan sarannya:
124
125```json theme={null}
126{
127 "extraKnownMarketplaces": {
128 "acme-corp-plugins": {
129 "source": {
130 "source": "github",
131 "repo": "acme-corp/claude-plugins"
132 }
133 }
134 },
135 "pluginSuggestionMarketplaces": ["acme-corp-plugins"]
136}
137```
138
139Marketplace resmi dikecualikan dari persyaratan deklarasi sumber karena namanya hanya dapat terdaftar dari sumber Anthropic resmi. Mendaftarkan nama saja sudah cukup:
140
141```json theme={null}
142{
143 "pluginSuggestionMarketplaces": ["claude-plugins-official"]
144}
145```
146
147<h2 id="what-the-user-sees">
148 Apa yang dilihat pengguna
149</h2>
150
151Ketika sinyal cocok selama sesi, spinner tip berbunyi:
152
153```text theme={null}
154Working with Terraform? Install the terraform-helpers plugin:
155/plugin install terraform-helpers@acme-corp-plugins
156```
157
158Pada awal sesi, sinyal `cwd` yang cocok menampilkan notifikasi satu baris:
159
160```text theme={null}
161plugin suggestion: terraform-helpers@acme-corp-plugins · /plugin
162```
163
164Saran plugin tertentu muncul paling banyak sekali setiap tiga sesi di seluruh spinner tip dan notifikasi session-start digabungkan, dan tidak ada yang berulang setelah plugin diinstal. Notifikasi session-start juga berhenti muncul setelah saran telah ditampilkan dua kali.
165
166Di tab `/plugin` Discover, plugin disematkan di atas hasil lainnya dengan anotasi yang menamai sinyal yang cocok, seperti `suggested for this directory` atau `suggested for terraform commands`. Tab Discover menyematkan plugin tertentu sekali; kunjungan kemudian mencantumkannya dalam urutan normal.
167
168<h2 id="validate-your-marketplace">
169 Validasi marketplace Anda
170</h2>
171
172Jalankan `claude plugin validate` terhadap direktori marketplace Anda untuk memeriksa blok `relevance` sebelum menerbitkan:
173
174```
175claude plugin validate ./my-marketplace
176```
177
178Validator melaporkan kunci yang tidak dikenal di bawah `relevance` dan `relevance.signals` sebagai peringatan, menandai nilai `relevance` yang bukan objek, dan menolak entri `signals.hosts` yang menyertakan skema, port, atau jalur.
179
180<h2 id="see-also">
181 Lihat juga
182</h2>
183
184* [Buat dan distribusikan marketplace plugin](/docs/id/plugin-marketplaces): bangun marketplace yang menghosting plugins Anda
185* [Rekomendasikan plugin Anda dari CLI Anda](/docs/id/plugin-hints): minta pengguna dari CLI Anda sendiri alih-alih dari sinyal sesi Claude Code
186* [Semua pengaturan](/docs/id/settings-reference#pluginsuggestionmarketplaces): `pluginSuggestionMarketplaces` dan `extraKnownMarketplaces`