/configure:sentry
Check and configure Sentry error tracking integration against project standards.
When to Use This Skill
| Use this skill when... | Use another approach when... | |------------------------|------------------------------| | Setting up Sentry error tracking for a new project | Debugging a specific Sentry issue or alert (use Sentry MCP server) | | Checking Sentry SDK installation and configuration compliance | Querying Sentry events or performance data (use Sentry API/MCP) | | Fixing hardcoded DSNs or missing environment variable references | Managing Sentry project settings in the Sentry dashboard | | Adding source map upload and release tracking to CI/CD | Configuring Sentry alerting rules or notification channels | | Verifying Sentry configuration across frontend, Next.js, Node.js, or Python projects | Installing a different error tracking tool (e.g., Bugsnag, Rollbar) | | Adding profiling, structured logging, or enrichment helpers | Configuring Sentry alerting rules or notification channels |
Context
- Package.json: !
find . -maxdepth 1 -name \'package.json\' - Pyproject.toml: !
find . -maxdepth 1 -name \'pyproject.toml\' - Requirements.txt: !
find . -maxdepth 1 -name \'requirements.txt\' - Project standards: !
find . -maxdepth 1 -name '.project-standards.yaml' -type f - Sentry in package.json: !
grep -o '"@sentry/[^"]*"' package.json - Sentry in pyproject.toml: !
grep 'sentry' pyproject.toml - Sentry init files: !
find . -maxdepth 3 -name "*sentry*" -type f - Next.js config: !
find . -maxdepth 1 -name 'next.config.*' - Instrumentation files: !
find src -maxdepth 1 -name 'instrumentation*' -type f - Env files referencing DSN: !
grep -rl 'SENTRY_DSN' .env* .github/workflows/ - CI workflows: !
find .github/workflows -maxdepth 1 -name '*.yml'
Skills referenced: sentry (MCP server for Sentry API)
Parameters
Parse these from $ARGUMENTS:
| Flag | Description |
|------|-------------|
| --check-only | Report status without offering fixes |
| --fix | Apply all fixes automatically without prompting |
| --type <type> | Override project type detection (frontend, nextjs, python, node) |
Version Checking
CRITICAL: Before configuring Sentry SDKs, verify latest versions:
- @sentry/vue / @sentry/react: Check npm
- @sentry/nextjs: Check npm
- @sentry/node: Check npm
- sentry-sdk (Python): Check PyPI
- @sentry/vite-plugin: Check npm
Use WebSearch or WebFetch to verify current SDK versions before configuring Sentry.
Execution
Execute this Sentry compliance check:
Step 1: Detect project type
Determine the project type to select the appropriate SDK and configuration:
- Read
.project-standards.yamlforproject_typefield - If not found, auto-detect:
- nextjs: Has
package.jsonwithnextdependency (check for@sentry/nextjs) - frontend: Has
package.jsonwith vue/react dependencies (without Next.js) - node: Has
package.jsonwith Node.js backend (express, fastify, etc.) - python: Has
pyproject.tomlorrequirements.txt
- nextjs: Has
- If
--typeflag is provided, use that value instead
Step 2: Check SDK installation
Check for Sentry SDK based on detected project type:
Next.js:
@sentry/nextjsin package.json dependencies@sentry/profiling-node(recommended for server profiling)
Frontend (Vue/React):
@sentry/vueor@sentry/reactin package.json dependencies@sentry/vite-pluginfor source maps
Node.js Backend:
@sentry/nodein package.json dependencies@sentry/profiling-node(recommended)
Python:
sentry-sdkin pyproject.toml or requirements.txt- Framework integrations (django, flask, fastapi)
Step 3: Analyze configuration
Read the Sentry initialization files and check against the compliance tables in REFERENCE.md. Validate:
- DSN comes from environment variables (not hardcoded)
- Tracing sample rate is configured (different for prod vs dev)
- Source maps are enabled (frontend/Next.js)
- Init location is correct (Node.js: before other imports)
- Framework integration is enabled (Python)
Additional checks for Next.js projects:
src/instrumentation.tsexists withregister()andonRequestErrorexportssrc/instrumentation-client.tsexists with client-side Sentry initsentry.server.config.tsandsentry.edge.config.tsexist at project rootnext.config.mjswraps config withwithSentryConfig()- Tunnel route configured (
tunnelRoute: "/monitoring") - Source maps hidden and deleted after upload (
hideSourceMaps,deleteSourcemapsAfterUpload) @sentry/profiling-nodelisted inserverExternalPackages- Error boundaries exist (
src/app/error.tsx,src/app/global-error.tsx) - Structured logging enabled (
enableLogs: true) - Sensitive header stripping in
beforeSend - Transaction filtering in
beforeSendTransaction(drop health checks, static assets)
Step 4: Run security checks
- Verify no hardcoded DSN in any source files
- Check that DSN is not committed in git-tracked files
- Verify no auth tokens in frontend code
- Check production sample rates are reasonable (not 1.0)
Step 5: Report results
Print a compliance report with:
- Project type (detected or overridden)
- SDK version and installation status
- Configuration check results (PASS/WARN/FAIL)
- Security check results
- Missing configuration items
- Recommendations
If --check-only, stop here.
Step 6: Apply fixes (if --fix or user confirms)
- Missing SDK: Add appropriate Sentry SDK to dependencies
- Missing Vite plugin: Add
@sentry/vite-pluginfor source maps - Missing config file: Create Sentry initialization file using templates from REFERENCE.md
- Hardcoded DSN: Replace with environment variable reference
- Missing sample rates: Add recommended sample rates
Step 7: Check CI/CD integration
Verify Sentry integration in CI/CD:
SENTRY_AUTH_TOKENsecret configured- Source map upload step in build workflow
- Release creation on deploy
If missing, offer to add the recommended workflow steps from REFERENCE.md.
Step 8: Update standards tracking
Update or create .project-standards.yaml:
standards_version: "2025.1"
project_type: "<detected>"
last_configured: "<timestamp>"
components:
sentry: "2025.1"
Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| SENTRY_DSN | Sentry Data Source Name (server-side) | Yes |
| NEXT_PUBLIC_SENTRY_DSN | Sentry DSN for client-side (Next.js) | Next.js only |
| SENTRY_ENVIRONMENT | Environment name (server-side) | Recommended |
| NEXT_PUBLIC_SENTRY_ENVIRONMENT | Environment name (client-side, Next.js) | Next.js only |
| SENTRY_ORG | Sentry organization slug | For source maps |
| SENTRY_PROJECT | Sentry project slug | For source maps |
| SENTRY_AUTH_TOKEN | Auth token for CI/CD | For source maps |
| NEXT_PUBLIC_SENTRY_SKIP_BUILD | Skip Sentry webpack plugin in builds | Container builds |
Never commit DSN or auth tokens. Use environment variables or secrets management.
For detailed configuration check tables, initialization templates, and CI/CD workflow examples, see REFERENCE.md.
Agentic Optimizations
| Context | Command |
|---------|---------|
| Quick compliance check | /configure:sentry --check-only |
| Auto-fix all issues | /configure:sentry --fix |
| Frontend project only | /configure:sentry --type frontend |
| Next.js project | /configure:sentry --type nextjs |
| Python project only | /configure:sentry --type python |
| Node.js project only | /configure:sentry --type node |
| Check for hardcoded DSNs | rg -l 'https://[a-f0-9]*@.*sentry\.io' --type-not env |
Error Handling
- No Sentry SDK: Offer to install appropriate SDK for project type
- Hardcoded DSN: Report as FAIL, offer to fix with env var reference
- Invalid DSN format: Report error, provide DSN format guidance
- Missing Sentry project: Report warning, provide setup instructions
See Also
/configure:all- Run all compliance checks/configure:status- Quick compliance overview/configure:workflows- GitHub Actions integrationsentryMCP server - Sentry API access for project verification