-
-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathindex.html
More file actions
195 lines (186 loc) · 54.2 KB
/
Copy pathindex.html
File metadata and controls
195 lines (186 loc) · 54.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-pdyrgfef"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Agentic Usage | Sentry CLI</title><link rel="canonical" href="https://cli.sentry.dev/agentic-usage/"/><link rel="sitemap" href="/sitemap-index.xml"/><link rel="icon" href="/favicon.png" type="image/png" sizes="256x256"/><script>
(function() {
let overscrollEl;
let pullDistance = 0;
let touchStartY = 0;
let isAtBottom = false;
function isLandingPage() {
const path = window.location.pathname;
// Works with both / (prod) and /pr-preview/pr-XX (preview)
return path === '/' ||
/^\/\_preview\/pr-(\d+|main)\/?$/.test(path);
}
function checkAtBottom() {
const scrollTop = window.scrollY || document.documentElement.scrollTop;
const scrollHeight = document.documentElement.scrollHeight;
const clientHeight = document.documentElement.clientHeight;
return scrollTop + clientHeight >= scrollHeight - 5;
}
function createOverscrollMessage() {
if (!isLandingPage()) return;
var command = 'curl https://cli.sentry.dev/install -fsS | bash';
overscrollEl = document.createElement('div');
overscrollEl.className = 'overscroll-message';
overscrollEl.innerHTML = '<span>You made it to the end. Might as well give it a try → <code class="overscroll-copy-cmd" title="Click to copy">' + command + '</code></span>';
document.body.appendChild(overscrollEl);
var codeEl = overscrollEl.querySelector('.overscroll-copy-cmd');
codeEl.addEventListener('click', function() {
if (!navigator.clipboard) return;
navigator.clipboard.writeText(command).then(function() {
codeEl.textContent = 'copied!';
setTimeout(function() { codeEl.textContent = command; }, 1500);
}).catch(function() {});
});
}
function updateOverscroll(distance) {
if (!overscrollEl) return;
const clampedDistance = Math.min(Math.max(distance, 0), 50);
const opacity = Math.min(clampedDistance / 15, 1);
const translateY = Math.min(clampedDistance * 2.5, 120);
overscrollEl.style.opacity = opacity;
overscrollEl.style.transform = 'translateX(-50%) translateY(-' + translateY + 'px)';
}
function handleTouchStart(e) {
if (!isLandingPage()) return;
touchStartY = e.touches[0].clientY;
isAtBottom = checkAtBottom();
}
function handleTouchMove(e) {
if (!isLandingPage() || !isAtBottom) return;
const touchY = e.touches[0].clientY;
pullDistance = touchStartY - touchY;
if (pullDistance > 0 && checkAtBottom()) {
updateOverscroll(pullDistance);
}
}
function handleTouchEnd() {
pullDistance = 0;
updateOverscroll(0);
}
function handleWheel(e) {
if (!isLandingPage()) return;
if (checkAtBottom() && e.deltaY > 0) {
pullDistance = Math.min(pullDistance + e.deltaY * 0.8, 50);
updateOverscroll(pullDistance);
clearTimeout(window.overscrollTimeout);
window.overscrollTimeout = setTimeout(function() {
pullDistance = 0;
updateOverscroll(0);
}, 5000);
} else if (e.deltaY < 0) {
clearTimeout(window.overscrollTimeout);
pullDistance = 0;
updateOverscroll(0);
}
}
document.addEventListener('DOMContentLoaded', function() {
createOverscrollMessage();
document.addEventListener('touchstart', handleTouchStart, { passive: true });
document.addEventListener('touchmove', handleTouchMove, { passive: true });
document.addEventListener('touchend', handleTouchEnd, { passive: true });
document.addEventListener('wheel', handleWheel, { passive: true });
});
})();
</script><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="true"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap"/><script defer data-domain="cli.sentry.dev" src="https://plausible.io/js/script.js"></script><style>html{background:#0a0a0f}</style><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v6.4.6"/><meta name="generator" content="Starlight v0.39.3"/><meta property="og:title" content="Agentic Usage"/><meta property="og:type" content="article"/><meta property="og:url" content="https://cli.sentry.dev/agentic-usage/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Enable AI coding agents to use the Sentry CLI"/><meta property="og:site_name" content="Sentry CLI"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Enable AI coding agents to use the Sentry CLI"/><meta property="og:image" content="https://cli.sentry.dev/og-image.png"/><meta name="twitter:image" content="https://cli.sentry.dev/og-image-twitter.png"/><meta name="color-scheme" content="dark"/><script>
window.StarlightThemeProvider = (() => {
const storedTheme =
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
const theme =
storedTheme ||
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
return {
updatePickers(theme = storedTheme || 'auto') {
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
const select = picker.querySelector('select');
if (select) select.value = theme;
/** @type {HTMLTemplateElement | null} */
const tmpl = document.querySelector(`#theme-icons`);
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
if (newIcon) {
const oldIcon = picker.querySelector('svg.label-icon');
if (oldIcon) {
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
}
}
});
},
};
})();
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/_astro/print.DNXP8c50.css" media="print"><link rel="stylesheet" href="/_astro/common.CNoBe8IV.css">
<link rel="stylesheet" href="/_astro/_astro_assets.lhRLVtS2.css"><script type="module" src="/_astro/page.DvD-49NE.js"></script></head> <body class="astro-pdyrgfef"> <a href="#_top" class="astro-omdumggt">Skip to content</a> <div class="page sl-flex astro-ylkcvuol"> <header class="header astro-ylkcvuol"><div class="header sl-flex astro-3ef6ksr2"> <div class="sl-flex header-left astro-3ef6ksr2"> <a href="/" class="site-title sl-flex astro-26v5pzbq"> <img class="astro-26v5pzbq" alt src="/_astro/logo.DPuxaczD.svg" width="1135" height="195"> <span class="sr-only astro-26v5pzbq" translate="no"> Sentry CLI </span> </a> </div> <div class="sl-flex header-right astro-3ef6ksr2"> <site-search class="astro-3ef6ksr2 astro-7m3t7hmb" data-translations="{"placeholder":"Search"}"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-7m3t7hmb"> <svg aria-hidden="true" class="astro-7m3t7hmb astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-7m3t7hmb" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-7m3t7hmb" style="display: none;"> <kbd class="astro-7m3t7hmb">Ctrl</kbd><kbd class="astro-7m3t7hmb">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-7m3t7hmb"> <div class="dialog-frame sl-flex astro-7m3t7hmb"> <button data-close-modal class="sl-flex md:sl-hidden astro-7m3t7hmb"> Cancel </button> <div class="search-container astro-7m3t7hmb"> <div id="starlight__search" class="astro-7m3t7hmb"></div> </div> </div> </dialog> </site-search> <script>
(() => {
const openBtn = document.querySelector('button[data-open-modal]');
const shortcut = openBtn?.querySelector('kbd');
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
const platformKey = shortcut.querySelector('kbd');
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
platformKey.textContent = '⌘';
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
}
shortcut.style.display = '';
})();
</script> <script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.lq3t8uE2.js"></script> <span class="header-nav-link header-nav-active astro-3ef6ksr2">Docs</span> <a href="https://github.com/getsentry/cli" rel="me" class="sl-flex astro-ooqq2ph4"><span class="sr-only astro-ooqq2ph4">GitHub</span><svg aria-hidden="true" class="astro-ooqq2ph4 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a> </div> </div></header> <nav class="sidebar print:hidden astro-ylkcvuol" aria-label="Main"> <starlight-menu-button class="print:hidden astro-wyhhqgo6"> <button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-wyhhqgo6"> <svg aria-hidden="true" class="open-menu astro-wyhhqgo6 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg> <svg aria-hidden="true" class="close-menu astro-wyhhqgo6 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg> </button> </starlight-menu-button> <script type="module">class s extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const t=this.closest("nav");t&&t.addEventListener("keyup",e=>this.closeOnEscape(e))}setExpanded(t){this.setAttribute("aria-expanded",String(t)),document.body.toggleAttribute("data-mobile-menu-expanded",t)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(t){t.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",s);</script> <div id="starlight__sidebar" class="sidebar-pane astro-ylkcvuol"> <div class="sidebar-content sl-flex astro-ylkcvuol"> <sl-sidebar-state-persist data-hash="0gh7iiz" class="astro-vehkaqib"> <script aria-hidden="true">
(() => {
try {
if (!matchMedia('(min-width: 50em)').matches) return;
/** @type {HTMLElement | null} */
const target = document.querySelector('sl-sidebar-state-persist');
const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
if (!target || !state || target.dataset.hash !== state.hash) return;
window._starlightScrollRestore = state.scroll;
customElements.define(
'sl-sidebar-restore',
class SidebarRestore extends HTMLElement {
connectedCallback() {
try {
const idx = parseInt(this.dataset.index || '');
const details = this.closest('details');
if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
} catch {}
}
}
);
} catch {}
})();
</script> <ul class="top-level astro-orhffnn4"> <li class="astro-orhffnn4"> <details open class="astro-orhffnn4"> <summary class="astro-orhffnn4"> <span class="group-label astro-orhffnn4"> <span class="large astro-orhffnn4">Getting Started</span> </span> <svg aria-hidden="true" class="caret astro-orhffnn4 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="0"></sl-sidebar-restore> <ul class="astro-orhffnn4"> <li class="astro-orhffnn4"> <a href="/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Introduction</span> </a> </li><li class="astro-orhffnn4"> <a href="/getting-started/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Installation</span> </a> </li><li class="astro-orhffnn4"> <a href="/migrating-from-v3/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Migrating from v3</span> </a> </li><li class="astro-orhffnn4"> <a href="/self-hosted/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Self-Hosted</span> </a> </li><li class="astro-orhffnn4"> <a href="/configuration/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Configuration</span> </a> </li><li class="astro-orhffnn4"> <a href="/library-usage/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Library Usage</span> </a> </li> </ul> </details> </li><li class="astro-orhffnn4"> <details open class="astro-orhffnn4"> <summary class="astro-orhffnn4"> <span class="group-label astro-orhffnn4"> <span class="large astro-orhffnn4">Commands</span> </span> <svg aria-hidden="true" class="caret astro-orhffnn4 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="1"></sl-sidebar-restore> <ul class="astro-orhffnn4"> <li class="astro-orhffnn4"> <a href="/commands/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Commands</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/alert/" class="astro-orhffnn4"> <span class="astro-orhffnn4">alert</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/api/" class="astro-orhffnn4"> <span class="astro-orhffnn4">api</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/auth/" class="astro-orhffnn4"> <span class="astro-orhffnn4">auth</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/build/" class="astro-orhffnn4"> <span class="astro-orhffnn4">build</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/cli/" class="astro-orhffnn4"> <span class="astro-orhffnn4">cli</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/code-mappings/" class="astro-orhffnn4"> <span class="astro-orhffnn4">code-mappings</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/dart-symbol-map/" class="astro-orhffnn4"> <span class="astro-orhffnn4">dart-symbol-map</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/dashboard/" class="astro-orhffnn4"> <span class="astro-orhffnn4">dashboard</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/debug-files/" class="astro-orhffnn4"> <span class="astro-orhffnn4">debug-files</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/event/" class="astro-orhffnn4"> <span class="astro-orhffnn4">event</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/explore/" class="astro-orhffnn4"> <span class="astro-orhffnn4">explore</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/feedback/" class="astro-orhffnn4"> <span class="astro-orhffnn4">feedback</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/info/" class="astro-orhffnn4"> <span class="astro-orhffnn4">info</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/init/" class="astro-orhffnn4"> <span class="astro-orhffnn4">init</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/issue/" class="astro-orhffnn4"> <span class="astro-orhffnn4">issue</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/local/" class="astro-orhffnn4"> <span class="astro-orhffnn4">local</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/log/" class="astro-orhffnn4"> <span class="astro-orhffnn4">log</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/monitor/" class="astro-orhffnn4"> <span class="astro-orhffnn4">monitor</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/org/" class="astro-orhffnn4"> <span class="astro-orhffnn4">org</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/proguard/" class="astro-orhffnn4"> <span class="astro-orhffnn4">proguard</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/project/" class="astro-orhffnn4"> <span class="astro-orhffnn4">project</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/react-native/" class="astro-orhffnn4"> <span class="astro-orhffnn4">react-native</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/release/" class="astro-orhffnn4"> <span class="astro-orhffnn4">release</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/replay/" class="astro-orhffnn4"> <span class="astro-orhffnn4">replay</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/repo/" class="astro-orhffnn4"> <span class="astro-orhffnn4">repo</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/schema/" class="astro-orhffnn4"> <span class="astro-orhffnn4">schema</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/snapshots/" class="astro-orhffnn4"> <span class="astro-orhffnn4">snapshots</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/sourcemap/" class="astro-orhffnn4"> <span class="astro-orhffnn4">sourcemap</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/span/" class="astro-orhffnn4"> <span class="astro-orhffnn4">span</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/team/" class="astro-orhffnn4"> <span class="astro-orhffnn4">team</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/trace/" class="astro-orhffnn4"> <span class="astro-orhffnn4">trace</span> </a> </li><li class="astro-orhffnn4"> <a href="/commands/trial/" class="astro-orhffnn4"> <span class="astro-orhffnn4">trial</span> </a> </li> </ul> </details> </li><li class="astro-orhffnn4"> <details open class="astro-orhffnn4"> <summary class="astro-orhffnn4"> <span class="group-label astro-orhffnn4"> <span class="large astro-orhffnn4">Resources</span> </span> <svg aria-hidden="true" class="caret astro-orhffnn4 astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <sl-sidebar-restore data-index="2"></sl-sidebar-restore> <ul class="astro-orhffnn4"> <li class="astro-orhffnn4"> <a href="/agentic-usage/" aria-current="page" class="astro-orhffnn4"> <span class="astro-orhffnn4">Agentic Usage</span> </a> </li><li class="astro-orhffnn4"> <a href="/contributing/" class="astro-orhffnn4"> <span class="astro-orhffnn4">Contributing</span> </a> </li> </ul> </details> </li> </ul> <script aria-hidden="true">
(() => {
const scroller = document.getElementById('starlight__sidebar');
if (!window._starlightScrollRestore || !scroller) return;
scroller.scrollTop = window._starlightScrollRestore;
delete window._starlightScrollRestore;
})();
</script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex"> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </div> </div> </nav> <div class="main-frame astro-ylkcvuol"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-tkgx3vob"> <aside class="right-sidebar-container print:hidden astro-tkgx3vob"> <div class="right-sidebar astro-tkgx3vob"> <div class="lg:sl-hidden astro-l5wbyfw3"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-m3zlhqyp"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-m3zlhqyp"><details id="starlight__mobile-toc" class="astro-m3zlhqyp"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-m3zlhqyp"><span class="toggle sl-flex astro-m3zlhqyp">On this page<svg aria-hidden="true" class="caret astro-m3zlhqyp astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-m3zlhqyp"></span></summary><div class="dropdown astro-m3zlhqyp"><ul class="isMobile astro-6f3uql37" style="--depth: 0;"> <li class="astro-6f3uql37" style="--depth: 0;"> <a href="#_top" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Overview</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#automatic-installation" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Automatic Installation</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#manual-installation" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Manual Installation</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#capabilities" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Capabilities</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#how-it-works" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">How It Works</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#requirements" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Requirements</span> </a> </li> </ul></div></details></nav></mobile-starlight-toc><script type="module" src="/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-l5wbyfw3"><div class="sl-container astro-l5wbyfw3"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-6f3uql37" style="--depth: 0;"> <li class="astro-6f3uql37" style="--depth: 0;"> <a href="#_top" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Overview</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#automatic-installation" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Automatic Installation</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#manual-installation" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Manual Installation</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#capabilities" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Capabilities</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#how-it-works" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">How It Works</span> </a> </li><li class="astro-6f3uql37" style="--depth: 0;"> <a href="#requirements" class="astro-6f3uql37" style="--depth: 0;"> <span class="astro-6f3uql37" style="--depth: 0;">Requirements</span> </a> </li> </ul></nav></starlight-toc><script type="module" src="/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js"></script> <div class="sentry-markdown-actions" aria-label="Markdown page actions"> <button class="sentry-markdown-action" type="button" aria-label="Copy as Markdown" title="Copy as Markdown" data-sentry-copy-markdown data-markdown-url="/agentic-usage.md"> <span class="sentry-markdown-action-icon" aria-hidden="true"></span> <span data-sentry-copy-markdown-label>Markdown</span> </button> <span class="sentry-markdown-status" data-sentry-copy-markdown-status aria-live="polite"></span> </div> <script type="module">const r=new WeakSet;function s(){const i=document.querySelectorAll("[data-sentry-copy-markdown]");for(const t of i)r.has(t)||(r.add(t),t.addEventListener("click",async()=>{const a=t.dataset.markdownUrl,d=t.closest(".sentry-markdown-actions"),n=t.querySelector("[data-sentry-copy-markdown-label]"),e=d?.querySelector("[data-sentry-copy-markdown-status]");if(!a)return;const c=n?.textContent??"Markdown";t.disabled=!0,e&&(e.textContent="");try{const o=await fetch(a);if(!o.ok)throw new Error(`Markdown request failed with ${o.status}`);await navigator.clipboard.writeText(await o.text()),n&&(n.textContent="Copied"),e&&(e.textContent="Copied")}catch{n&&(n.textContent="Failed"),e&&(e.textContent="Copy failed")}finally{window.setTimeout(()=>{t.disabled=!1,n&&(n.textContent=c),e&&(e.textContent="")},1800)}}))}document.addEventListener("astro:page-load",s);s();</script></div></div> </div> </aside> <div class="main-pane astro-tkgx3vob"> <main data-pagefind-body class="astro-pdyrgfef" lang="en" dir="ltr"> <div class="content-panel astro-pswstjac"> <div class="sl-container astro-pswstjac"> <div class="page-title-wrapper astro-guvttfii"> <span class="section-label astro-guvttfii">Resources</span> <h1 id="_top" class="astro-guvttfii">Agentic Usage</h1> </div> </div> </div> <div class="content-panel astro-pswstjac"> <div class="sl-container astro-pswstjac"> <div class="sl-markdown-content"> <p>AI coding agents like Claude Code — and any agent that reads skills from <code dir="auto">~/.agents</code> (such as Cursor) — can use the Sentry CLI through the skill system. This allows agents to interact with Sentry directly from your development environment.</p>
<div class="sl-heading-wrapper level-h2"><h2 id="automatic-installation">Automatic Installation</h2><a class="sl-anchor-link" href="#automatic-installation"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Automatic Installation”</span></a></div>
<p>When you install the CLI (via <code dir="auto">curl</code>, Homebrew, or a package manager), <code dir="auto">sentry cli setup</code> automatically installs agent skills into any detected agent root directories (<code dir="auto">~/.claude</code>, <code dir="auto">~/.agents</code>). Skills are also refreshed on <code dir="auto">sentry cli upgrade</code>. No network fetch is needed — skill files are embedded in the binary.</p>
<p>To skip automatic skill installation, pass <code dir="auto">--no-agent-skills</code> to <code dir="auto">sentry cli setup</code>.</p>
<div class="sl-heading-wrapper level-h2"><h2 id="manual-installation">Manual Installation</h2><a class="sl-anchor-link" href="#manual-installation"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Manual Installation”</span></a></div>
<p>Add the Sentry CLI skill to your agent manually:</p>
<div class="expressive-code"><style>@layer starlight.components{.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(:is(svg, svg *)){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:var(--ec-frm-trmIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-trmIcon);mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2)}@media (scripting: none){.expressive-code .copy{display:none}}.expressive-code .copy{direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:var(--ec-frm-copyIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-copyIcon);mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}}@layer starlight.components{:root,:root:not([data-theme='sentry-monochrome']) .expressive-code[data-theme='sentry-monochrome']{--ec-brdRad:8px;--ec-brdWd:0px;--ec-brdCol:transparent;--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:1.65;--ec-codePadBlk:0.9rem;--ec-codePadInl:1rem;--ec-codeBg:#111111;--ec-codeFg:#f5f5f5;--ec-codeSelBg:#303030;--ec-gtrBrdCol:var(--ve-line);--ec-gtrBrdWd:1.5px;--ec-gtrFg:var(--ve-text-tertiary);--ec-gtrHlFg:var(--ve-text);--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.82rem;--ec-uiFontWg:400;--ec-uiLineHt:1.4;--ec-uiPadBlk:0.35rem;--ec-uiPadInl:0.75rem;--ec-uiSelBg:#222222;--ec-uiSelFg:#ffffff;--ec-focusBrd:#ffffff;--ec-sbThumbCol:#3a3a3a;--ec-sbThumbHoverCol:#626262;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#174a9099;--ec-tm-markBrdCol:#4d70bcd0;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#0000005b;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:#000000;--ec-frm-edActTabFg:#fafafa;--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:0px;--ec-frm-edActTabIndTopCol:transparent;--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:8px;--ec-frm-edTabBarBg:#000000;--ec-frm-edTabBarBrdCol:transparent;--ec-frm-edTabBarBrdBtmCol:transparent;--ec-frm-edBg:#111111;--ec-frm-trmTtbFg:#fafafa;--ec-frm-trmTtbDotsFg:#fafafa;--ec-frm-trmTtbDotsOpa:0.15;--ec-frm-trmTtbBg:#111111;--ec-frm-trmTtbBrdBtmCol:transparent;--ec-frm-trmBg:#111111;--ec-frm-inlBtnBg:transparent;--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnFg:var(--ve-text-secondary);--ec-frm-inlBtnBrd:transparent;--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#098656;--ec-frm-tooltipSuccessFg:white;--ec-frm-copyIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.75'%3E%3Cpath%20d%3D'M3%2019a2%202%200%200%201-1-2V2a2%202%200%200%201%201-1h13a2%202%200%200%201%202%201'%2F%3E%3Crect%20x%3D'6'%20y%3D'5'%20width%3D'16'%20height%3D'18'%20rx%3D'1.5'%20ry%3D'1.5'%2F%3E%3C%2Fsvg%3E");--ec-frm-trmIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2060%2016'%20preserveAspectRatio%3D'xMidYMid%20meet'%3E%3Ccircle%20cx%3D'8'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'30'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'52'%20cy%3D'8'%20r%3D'8'%2F%3E%3C%2Fsvg%3E")}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='sentry-monochrome']) .expressive-code[data-theme='sentry-monochrome'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);background-color:var(--0bg, transparent);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}}</style><script type="module" src="/_astro/ec.0vx5m.js"></script><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash"><code><div class="ec-line"><div class="code"><span style="--0:#9AE6B4">npx</span><span style="--0:#F5F5F5"> </span><span style="--0:#FFD166">skills</span><span style="--0:#F5F5F5"> </span><span style="--0:#FFD166">add</span><span style="--0:#F5F5F5"> </span><span style="--0:#FFD166">https://cli.sentry.dev</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="npx skills add https://cli.sentry.dev"><div></div></button></div></figure></div>
<p>This registers the Sentry CLI as a skill that your agent can invoke when needed.</p>
<div class="sl-heading-wrapper level-h2"><h2 id="capabilities">Capabilities</h2><a class="sl-anchor-link" href="#capabilities"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Capabilities”</span></a></div>
<p>With this skill, agents can:</p>
<ul>
<li><strong>View issues</strong> - List and inspect Sentry issues from your projects</li>
<li><strong>Inspect events</strong> - Look at specific error events and their details</li>
<li><strong>AI analysis</strong> - Get root cause analysis and fix plans via Seer AI</li>
<li><strong>Browse projects</strong> - List projects and organizations you have access to</li>
<li><strong>Explore the API</strong> - Browse API endpoints with <code dir="auto">sentry schema</code> and make arbitrary requests with <code dir="auto">sentry api</code></li>
<li><strong>Make API calls</strong> - Execute arbitrary Sentry API requests</li>
<li><strong>Authenticate</strong> - Help you set up CLI authentication</li>
</ul>
<div class="sl-heading-wrapper level-h2"><h2 id="how-it-works">How It Works</h2><a class="sl-anchor-link" href="#how-it-works"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “How It Works”</span></a></div>
<p>When you ask your agent about Sentry errors or want to investigate an issue, the agent uses CLI commands to fetch real data from your Sentry account. For example:</p>
<ul>
<li>"Show me the latest issues in my project" → <code dir="auto">sentry issue list</code></li>
<li>"What's the stack trace for ISSUE-123?" → <code dir="auto">sentry issue view ISSUE-123</code></li>
<li>"List all projects in my organization" → <code dir="auto">sentry project list my-org</code></li>
<li>"What API endpoints exist for releases?" → <code dir="auto">sentry schema releases</code></li>
</ul>
<p>The CLI has dedicated commands for most Sentry tasks, so agents should prefer <code dir="auto">sentry</code> commands over constructing raw API calls. The <code dir="auto">sentry schema</code> command provides built-in API exploration, and <code dir="auto">sentry api</code> handles authenticated requests for anything not covered by a dedicated command.</p>
<p>The skill uses your existing CLI authentication, so you'll need to run <code dir="auto">sentry auth login</code> first if you haven't already.</p>
<div class="sl-heading-wrapper level-h2"><h2 id="requirements">Requirements</h2><a class="sl-anchor-link" href="#requirements"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24"><path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Requirements”</span></a></div>
<ul>
<li>An authenticated Sentry CLI installation (<code dir="auto">sentry auth login</code>)</li>
<li>An AI coding agent that supports the skills system (e.g., Claude Code, or any agent that reads from <code dir="auto">~/.agents</code> such as Cursor)</li>
</ul> </div> <footer> <table role="presentation" width="100%" height="32" cellspacing="0" cellpadding="0"> <tbody> <tr> <td></td> </tr> </tbody> </table> <div class="pagination-links sentry-pagination-links print:hidden" dir="ltr"> <a href="/commands/trial/" rel="prev"> <svg aria-hidden="true" class=" astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg> <span> Previous <br> <span class="link-title">trial</span> </span> </a> <a href="/contributing/" rel="next"> <svg aria-hidden="true" class=" astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg> <span> Next <br> <span class="link-title">Contributing</span> </span> </a> </div> <table role="presentation" width="100%" height="72" cellspacing="0" cellpadding="0"> <tbody> <tr> <td align="center" valign="bottom"> <nav aria-label="Project links"> <a href="https://github.com/getsentry/cli" rel="me" aria-label="GitHub" title="GitHub"> <font color="#888888"> <svg aria-hidden="true" class=" astro-sdw2zlvw" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </font> </a> </nav> </td> </tr> </tbody> </table> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html>