init: detect and migrate from competitor SDKs

Open
#993 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Domain
cli, tooling

Research direction

Start with the sentry-cli init implementation and the migration patterns in the linked sentry-for-ai Ruby migration skill. Define the initial competitor and ecosystem coverage, then trace how detection, confirmation, dependency/config removal, and Sentry setup should fit together. Done means init can safely report detected integrations and perform an agreed migration for the selected scope.

Written by the indexing model from the issue text.

Description

sentry-cli init currently instruments Sentry into a project. It should also detect existing competitor error-monitoring SDKs and optionally migrate the project to Sentry by replacing/removing the competitor integration.

Current behavior

sentry-cli init sets up Sentry SDK integration from scratch. It does not inspect the project for existing error-monitoring tools.

Gap

Projects already using a competitor (e.g. Bugsnag, Rollbar, Airbrake, Honeybadger, AppSignal, Datadog) need manual migration. Automating detection and migration would lower the switching cost and make sentry-cli init a one-stop onboarding path.

Suggested scope

  • Detect: scan project files (dependency manifests, config, imports) for known competitor SDKs
  • Report: surface what was found and confirm with the user before making changes
  • Migrate: remove competitor dependencies/config and replace with equivalent Sentry setup
  • Per-ecosystem coverage: start with the highest-value ecosystems (e.g. JavaScript, Python, Ruby) and expand

Prior art

The sentry-for-ai Ruby migration skill already covers detection patterns and migration mappings for AppSignal, Honeybadger, Bugsnag, Rollbar, and Airbrake. This could serve as a reference for the CLI implementation.

Raised by David Cramer.

Action taken on behalf of Miguel Betegon.

Dominant language
TypeScript
Stars
121
Forks
14
Avg merge
22h 3m
Merged PRs (30d)
94

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsentry/cli

All issues in getsentry/cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.