npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@tencent-rtc/rtc-sdk-migrator

v1.0.0

Published

Installer for the rtc-sdk-migrator skill: scans an iOS/Android project for Amazon IVS or Agora RTC SDK usage and produces a bilingual migration guide to Tencent Cloud TRTC or AtomicXCore. One-command install for Claude Code / Cursor / CodeBuddy / Codex.

Readme

rtc-sdk-migrator

An RTC SDK migration analysis skill for mobile (iOS / Android) real-time audio/video projects. It scans a project for Amazon IVS or Agora RTC SDK usage and produces a structured migration guide (Chinese or English) for moving to one of two Tencent Cloud RTC targets: Tencent Cloud TRTC (RTC-Engine) or AtomicXCore.


Data privacy & code security

The skill runs against customers' private codebases; privacy and data security are the top priority:

  • Fully local scanning: the scan stage (scan_resolve.py + the Node tree-sitter scanner) reads only project source code and local SDK artifacts already on disk (~/.gradle/caches, Pods/, SPM caches) — no network access.
  • Zero code upload: across the entire pipeline there is no path that sends customer code, file contents, or scan results to any external server. Customer code never leaves the local machine.
  • Network access is download-only: the only network activity is read-only HTTP requests to official Tencent Cloud documentation and public Maven / CocoaPods mirrors.
  • Local caches hold official material, not customer code: the on-disk caches (.rtc-migration/doc_cache/, .rtc-migration/target_symbols/) store official doc pages and target SDK symbol tables, unrelated to customer code.

Capability boundaries

| Item | Description | |---|---| | Supported source vendors | Amazon IVS, Agora (this release supports only these two) | | Migration targets | Tencent Cloud TRTC (RTC-Engine) or AtomicXCore (the UI-less Store components for Tencent Cloud Live) — both are Tencent Cloud RTC targets, and one must be specified explicitly; the target SDK version defaults to the latest online release when unspecified | | Supported platforms | iOS (Swift / Objective-C), Android (Kotlin / Java) | | Output | A migration guide document only — project code is never modified | | Scan method | tree-sitter semantic engine (Node.js + WASM, zero-install — the Node WASM engine is bundled, no npm install needed), recall by type lineage, no static API name list to maintain |

What it can / cannot do

Legend: 🟡 = migratable with implementation differences (manual adjustment needed); 🔴 = no direct API equivalent (alternative provided).

Core capability coverage (migration chapters are produced only for modules with scan hits):

  • Room & authentication: join/leave, scene/role switching, connection-state awareness, full live-room lifecycle
  • Audio/video stream control: publish/subscribe, remote stream rendering, local preview, quality monitoring
  • One-way live streaming (trtc target only): V2TXLivePusher publishing and V2TXLivePlayer playback
  • Devices & effects: camera/microphone control, audio routing, background sound effects and beauty filters
  • Event notifications: trtc (TRTCCloudListener / Delegate) and atomicxcore (State / Event subscriptions)
  • Custom capture & cross-cutting concerns: custom audio/video sources, build dependencies (Gradle/Podfile), permission declarations, and exception/disconnect handling

Known limitations:

  • Source vendor support: currently only Amazon IVS and Agora RTC; IM / Chat and Player companion SDKs are out of scope
  • Target scenario constraint: atomicxcore focuses on the Live UI-less state layer and has no one-way push/play components
  • Interaction model: outputs a structured migration analysis document only; customer project source is never modified

Requirements

| Dependency | Requirement | |---|---| | Node.js | 18 or newer (the scanner runtime — the only dependency that must be preinstalled) | | Python | 3.8 or newer (rest of the pipeline; pure stdlib, no pip installs) | | AI coding tool | Any tool that supports custom instructions / context injection (CodeBuddy, Claude Code, Cursor, etc.) |

Project-side prerequisites

Before scanning, package anchors and type inventories are extracted from local SDK artifacts already present in the project, so recall stays aligned with the SDK version the project actually locks. This step never downloads SDKs:

| Platform | Action required beforehand | Local artifact location | |---|---|---| | Android | Run Sync Project with Gradle Files in Android Studio (or ./gradlew sync) | .aar / .jar under ~/.gradle/caches | | iOS | Run pod install (CocoaPods) or resolve SPM | Frameworks under Pods/, or the SPM artifact cache |

If no local SDK artifacts are found, the system fails loudly and prompts you to sync Gradle / run pod install first — it never falls back to a preset symbol table that could be version-misaligned.


Installation

Run the installer from the root of the project to be migrated (requires Node.js ≥ 18, needed only for the installer and the scanner):

# Default: auto-detect installed coding tools (~/.claude, ~/.cursor,
# ~/.codebuddy, ~/.codex) and install for each one detected;
# falls back to claude when none is found
npx -y @tencent-rtc/rtc-sdk-migrator@latest add

# Install for a specific tool only (claude | cursor | codebuddy | codex | all)
npx -y @tencent-rtc/rtc-sdk-migrator@latest add --ide cursor

# Wipe previous installs, then reinstall
npx -y @tencent-rtc/rtc-sdk-migrator@latest add --clean

# Uninstall
npx -y @tencent-rtc/rtc-sdk-migrator@latest remove

The installer copies the skill into the current project's skills directory (idempotent — safe to re-run):

| Tool | Install path | |---|---| | Claude Code | <project>/.claude/skills/rtc-sdk-migrator/ | | Cursor | <project>/.cursor/skills/rtc-sdk-migrator/ | | CodeBuddy | <project>/.codebuddy/skills/rtc-sdk-migrator/ | | Codex | <project>/.codex/skills/rtc-sdk-migrator/ |

After installation, restart / reload the window and the tool will automatically discover and load SKILL.md.

Zero-install by design — the scan engine (web-tree-sitter JS binding + exact-version grammar .wasm files) is fully vendored inside the skill: no npm install, no pip install, no network or intranet access required. The scripts are standalone tools and can also be run manually in a terminal.


Usage

Once installed, simply describe the migration task in natural language; the skill activates on keywords:

Migrate the Android project at /path/to/my-app from Agora to Tencent Cloud TRTC.

Scan the iOS project at /Users/me/projects/ivs-demo and generate a migration
guide from Amazon IVS to AtomicXCore.

Trigger keywords: RTC SDK migration, audio/video migration, TRTC migration, AtomicXCore migration, Agora to TRTC, IVS to TRTC, Amazon IVS migration.

Skill inputs

| Input | Description | How it is obtained | |---|---|---| | Project code path | Root directory of the project to migrate | You provide it | | Source vendor + version | Amazon IVS or Agora | Auto-detected by the scan, no confirmation needed | | Migration target | trtc or atomicxcore | Must be specified explicitly; if unstated, the system asks interactively to confirm the migration direction | | Target SDK version | Defaults to the latest online release; uses your pinned version if you specify one | Optional | | Platform | iOS or Android | Auto-detected | | Output language | zh or en | Auto-detected (inferred from the language of your request) |

Deliverables

Two documents are produced under <project-root>/.rtc-migration/ (the only deliverables):

  • usage-scan.md — discovery layer, answers "where is the source SDK used"
  • migration-analysis.md — analysis layer, answers "what must change and how"

Tip: consider adding .rtc-migration/ to the project's .gitignore so generated output does not affect your Git workflow.


Limitations & safety notes

| Item | Description | |---|---| | APIs may change | The skill confirms against official docs, but re-review results before applying them | | No silent skips | Every non-migratable item is listed explicitly in the guide (🔴 + alternative) | | No half-product delivery | The analysis document must pass the deliverable gate before handover | | No customer code cached | Scanning is fully local; customer source and scan results are written only to the project-local .rtc-migration/, never to any remote cache | | No customer code uploaded | Customer code, file contents, and scan results are never sent to any server — see "Data privacy & code security" above |


FAQ

Q1: The scan fails with "SDK artifacts not found / empty type inventory"? The project has not been synced. On Android, run Sync Project with Gradle Files; on iOS, run pod install; then rescan.

Q2: The scanner complains that Node is missing or below 18? The scanner runs on Node.js (≥ 18). Install or upgrade Node from https://nodejs.org and retry. Nothing else needs installing (the engine and grammars are bundled).

Q3: Can I pin a specific target SDK version instead of the latest? The default is the latest official release (trtc and atomicxcore each resolve their own latest). To lock a version, state it explicitly when triggering, e.g. "use TRTC x.x.x" or "use AtomicXCore x.x.x".

Q4: Does the skill modify my project code? No. This release produces a migration guide document only; all changes must be applied by you.

Q5: I use Cursor / Claude Code — will it work? Yes. The scripts do not depend on any specific AI tool, and SKILL.md is a standard Markdown instruction document; configure it per your tool's integration mechanism.