
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
@soralabsoss/sora-cli
Advanced tools
CLI to install components from any shadcn-compatible registry — defaults to Sora UI and other Sora Labs products
A CLI for installing components from any shadcn-compatible registry into your project — defaults to Sora UI and other Sora Labs products, but works against any registry via --registry <url>.
npx @soralabsoss/sora-cli add text-effect
# multiple components
npx @soralabsoss/sora-cli add text-effect draw-underline-link
# interactive picker
npx @soralabsoss/sora-cli add
# list available components
npx @soralabsoss/sora-cli list
# compare installed components against the registry
npx @soralabsoss/sora-cli diff text-effect
npx @soralabsoss/sora-cli add text-effect --path src/components/ui
npx @soralabsoss/sora-cli add card --cwd packages/ui # run as if started in packages/ui (monorepos)
npx @soralabsoss/sora-cli add text-effect --force
npx @soralabsoss/sora-cli add text-effect --registry ui # default; other Sora Labs products register here later
npx @soralabsoss/sora-cli add some-item --registry https://any-shadcn-registry.com # or point at any shadcn-compatible registry directly
npx @soralabsoss/sora-cli add text-effect --yes # skip the install confirmation, for scripts/CI
npx @soralabsoss/sora-cli add text-effect --dry-run # preview what would change, write nothing
npx @soralabsoss/sora-cli add text-effect --silent # only print summary lines, not per-file output
npx @soralabsoss/sora-cli add text-effect --view # print file contents instead of writing them
npx @soralabsoss/sora-cli --version
The CLI fetches a shadcn-compatible registry (<product-url>/r/registry.json, <product-url>/r/<name>.json) built by that product's own registry:build step, resolves the dependency tree, writes files into your project, and installs npm dependencies with your detected package manager (bun/pnpm/yarn/npm).
Each Sora Labs product registers its base URL in src/constants.ts as a short --registry key — adding a new product only requires adding an entry there, no other logic changes. --registry also accepts a full URL directly, so it works against any shadcn-compatible registry, not just Sora Labs' own — it must be HTTPS (plain HTTP is only allowed for localhost/127.0.0.1, for local registry development). Registry content isn't cryptographically signed, so only point --registry at a registry you trust — it's written into your project and its dependency list is fed straight into your package manager.
Since components are copied into your project rather than installed as a package, sora diff is the way to check whether the registry has changed a component since you installed it — it reports differences without writing anything; re-run add <component> --force --yes to apply an update.
In a monorepo, --cwd <path> (or -c) runs add/diff as if the CLI had been started inside <path> — it picks up that workspace's own tsconfig.json/components.json aliases and writes components there, without you having to cd into it first. --path is different: it only overrides where files get written, without changing which config gets detected.
Every command also does a quick, non-blocking check against npm for a newer published version (printed to stderr, never mixed into --json output). Set SORA_NO_UPDATE_CHECK=1 to disable it, e.g. in CI.
bun install
bun run build # bundles src/index.ts -> dist/index.js via tsup
bun run typecheck
node dist/index.js list
FAQs
CLI to install components from any shadcn-compatible registry — defaults to Sora UI and other Sora Labs products
The npm package @soralabsoss/sora-cli receives a total of 158 weekly downloads. As such, @soralabsoss/sora-cli popularity was classified as not popular.
We found that @soralabsoss/sora-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.