What
Create a migration guide: "Sentry → TrapFall in 3 steps" with animated GIF.
Why
BMAD CMO finding: Sentry DSN compatibility is TrapFall's Trojan Horse — it eliminates the #1 switching cost (code changes). A team using Sentry SDK can switch by changing their DSN URL in under 60 seconds.
But nobody will believe "zero code changes" without proof. The 3-step GIF makes it undeniable.
Content
- 3-step guide:
- Step 1: Deploy TrapFall (one Docker command)
- Step 2: Change DSN URL in your Sentry SDK config
- Step 3: Ship — errors now flow to TrapFall
- Animated GIF: Screen recording of all 3 steps, sped up to ~15 seconds
- Code examples: Before (Sentry DSN) and After (TrapFall DSN) for:
- JavaScript:
Sentry.init({ dsn: "..." })
- Python:
sentry_sdk.init(dsn="...")
- Go:
sentry.Init(sentry.ClientOptions{ Dsn: "..." })
- What works the same: exceptions, messages, breadcrumbs, releases, transactions
- What might differ: features not yet implemented (source maps, session replay)
- Rollback: How to switch back to Sentry (just change DSN back)
Location
docs/guide/migration-from-sentry.md in VitePress docs site.
Testing
- Follow the guide as a new user — does it work end-to-end?
- GIF renders in docs and README
What
Create a migration guide: "Sentry → TrapFall in 3 steps" with animated GIF.
Why
BMAD CMO finding: Sentry DSN compatibility is TrapFall's Trojan Horse — it eliminates the #1 switching cost (code changes). A team using Sentry SDK can switch by changing their DSN URL in under 60 seconds.
But nobody will believe "zero code changes" without proof. The 3-step GIF makes it undeniable.
Content
Sentry.init({ dsn: "..." })sentry_sdk.init(dsn="...")sentry.Init(sentry.ClientOptions{ Dsn: "..." })Location
docs/guide/migration-from-sentry.mdin VitePress docs site.Testing