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

omnisync

v2.4.1

Published

Portable migration CLI for SSH transfer, briefcase-based restore, and AI-assisted host rebuilds.

Readme

  ██████╗ ███╗   ███╗███╗   ██╗██╗███████╗██╗   ██╗███╗   ██╗ ██████╗
 ██╔═══██╗████╗ ████║████╗  ██║██║██╔════╝╚██╗ ██╔╝████╗  ██║██╔════╝
 ██║   ██║██╔████╔██║██╔██╗ ██║██║███████╗ ╚████╔╝ ██╔██╗ ██║██║
 ██║   ██║██║╚██╔╝██║██║╚██╗██║██║╚════██║  ╚██╔╝  ██║╚██╗██║██║
 ╚██████╔╝██║ ╚═╝ ██║██║ ╚████║██║███████║   ██║   ██║ ╚████║╚██████╗
  ╚═════╝ ╚═╝     ╚═╝╚═╝  ╚═══╝╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═══╝ ╚═════╝

Move your entire workstation or server — without rebuilding it by hand.

License: MIT Python 3.10+ Platform Status


What is OmniSync?

OmniSync is an open-source CLI tool that packs your entire workstation or server into a portable briefcase — installed packages, dotfiles, SSH keys, VS Code extensions, Docker containers, secrets — and deploys it to any new machine in minutes.

Think of it as rsync + ansible + dotfiles manager, but with a guided TUI, AI agent integration, and zero configuration required to get started.

Old Machine                          New Machine
──────────────                       ──────────────
● Packages (apt, pip, npm, cargo)    ● Restored automatically
● VS Code extensions            →    ● Restored automatically
● dotfiles (.bashrc, .gitconfig)     ● Restored automatically
● SSH keys (public)                  ● Restored automatically
● Docker containers                  ● Restored automatically
● Git config                         ● Restored automatically
● Secrets (.env, tokens)             ● Encrypted, separate pack

Quick Install

Linux, macOS or WSL:

curl -fsSL https://raw.githubusercontent.com/sxrubyo/omnisync/main/install.sh | bash

PowerShell (Windows):

irm https://raw.githubusercontent.com/sxrubyo/omnisync/main/install.ps1 | iex

npm:

npm install -g omnisync

Then just run:

omni

The interactive guide takes it from there.

During install, OmniSync also detects Codex, Claude Code, Gemini CLI and OpenCode on the current machine and injects the OmniSync skill/command assets automatically when their home directories are present.


Core Commands

| Command | What it does | |---|---| | omni / omni start | Launch the interactive guided assistant | | omni guide | TUI launchpad — SSH, Briefcase, Restore, Agent, Migrate | | omni briefcase --full | Pack everything into a portable briefcase | | omni connect --host <ip> --user <user> | Link two machines via SSH and ship the payload | | omni restore | Restore from briefcase + secrets on a new machine | | omni migrate | Full migration — restore + rewrite host references | | omni agent | Configure Claude, GPT-4, Gemini, Mistral or Ollama | | omni chat | Talk to the AI agent, let it inspect the host and execute guided steps | | omni codex / omni claude / omni gemini | Open the local agent CLI already installed on the machine | | omni auth github | Save GitHub credentials to ~/.omni/config.json | | omni gh login | Quick GitHub auth alias | | omni gh status | Show GitHub connection status and user details | | omni gh restore | Download and restore the latest briefcase plus full-home snapshot from GitHub | | omni gh init | Show one-liner install+restore command for fresh servers | | omni push | Push briefcase and, for full-home, a private home snapshot to GitHub | | omni pull | Pull latest briefcase and home snapshot from GitHub on a new machine | | omni doctor | Health check — bundles, config, drift, placeholder hosts | | omni detect-ip | Show current host identity and files with drift | | omni purge | Free disk — dry run first, then --yes to execute | | omni sync | Pull remote snapshots defined in config/servers.json |


What omni briefcase --full Captures

System packages         npm globals
Python packages         Cargo crates
VS Code extensions      Homebrew formulae/casks
git config (global)     SSH public keys
dotfiles                crontab
systemd services        Docker containers + images
Snap / Flatpak          

Output: briefcase.json + briefcase.restore.sh — portable, deterministic, runs on any Linux host.


Migration Flow

1. INVENTORY     →  identify code, state, noise
2. BUNDLE STATE  →  pack config/, data/, backups/, manifests
3. SECRETS PACK  →  export .env, tokens, SSH keys — encrypted, separate
4. TRANSFER      →  SSH (omni connect) or GitHub (omni gh push)
5. BOOTSTRAP     →  clone repo, run install.sh on new host
6. RECONCILE     →  omni fix + omni sync — idempotent, safe to repeat
7. TIMER         →  systemd daily reconcile — set it and forget it

GitHub Recovery (Private Sync)

OmniSync can upload your briefcase and, for full-home, a private snapshot of /home/ubuntu to a private GitHub repo and restore it on any fresh server:

# 1. Authenticate with GitHub
omni gh login

# 2. Push the current host into a private repo
omni push --profile full-home --repo owner/repo

# 3. On any NEW server, restore with one command:
curl -fsSL https://raw.githubusercontent.com/sxrubyo/omnisync/main/install.sh | bash && \
  export GITHUB_TOKEN=<your-token> && \
  omni gh restore --repo owner/repo

# Or step by step:
curl -fsSL https://raw.githubusercontent.com/sxrubyo/omnisync/main/install.sh | bash
export GITHUB_TOKEN=<your-token>
omni gh login
omni gh restore --repo owner/repo

GitHub subcommands: | Command | Description | |---|---| | omni gh | Quick GitHub auth | | omni gh status | Show connection status | | omni gh restore | Download + restore briefcase and full-home snapshot from GitHub | | omni gh init | Show fresh server setup command | | omni gh push | Manual push to GitHub |


AI Agent Integration

OmniSync ships with built-in bridges for the major AI coding agents:

omni agent          # select provider + model
omni chat           # talk to agent, inspect host, confirm steps
omni codex          # launch local Codex CLI if present
omni claude         # launch local Claude Code CLI if present
omni gemini         # launch local Gemini CLI if present

Supported providers: Claude, GPT-4, Gemini, Mistral, Ollama (local), any OpenAI-compatible endpoint. Optional web research: configure Brave Search with omni config brave-search and Omni Agent can fetch external references when needed.

Skills and command files are pre-configured for:

  • .codex/skills/omni-sync/SKILL.md
  • .claude/skills/omni-sync/SKILL.md
  • .gemini/commands/workspace.omni-sync.toml
  • ~/.gemini/commands/omni-sync.toml
  • .opencode/commands/omni-sync.md

Profiles

| Profile | What it captures | |---|---| | production-clean | Core productive footprint — state and secrets separate | | full-home | Entire /home/ubuntu as state root — secrets always separate |

omni init --profile full-home        # capture everything
omni init --profile production-clean # back to clean productive profile

Installation Modes

1. Local Linux Bootstrap

bash bootstrap.sh [email protected]:sxrubyo/omnisync.git /opt/omni-core main

2. Remote PowerShell → Linux

pwsh ./bootstrap.ps1 -TargetHost 1.2.3.4 -User ubuntu -RepoUrl [email protected]:sxrubyo/omnisync.git -Branch main -InstallTimer

3. SCP + Manual

scp -r omni-core ubuntu@server:/opt/omni-core
ssh ubuntu@server "cd /opt/omni-core && chmod +x install.sh bin/omni bootstrap.sh && ./install.sh --compose --sync"

4. GitHub Clone

git clone [email protected]:sxrubyo/omnisync.git /opt/omni-core
cd /opt/omni-core && ./install.sh --compose --sync

What NOT to Bundle (by default)

node_modules/        .cache/         __pycache__/
build artifacts      tmp/            historical logs
reproducible deps    .venv/          dist/

These are excluded automatically. Override with --include-all if you need them.


Server Inventory

Define your servers in config/servers.json:

{
  "servers": [
    {
      "name": "main-ubuntu",
      "host": "1.2.3.4",
      "user": "ubuntu",
      "port": 22,
      "protocol": "rsync",
      "paths": [
        "/home/ubuntu/melissa",
        "/home/ubuntu/nova-os"
      ],
      "excludes": [".git", "__pycache__", "node_modules"]
    }
  ]
}

Remote snapshots land in: data/servers/<server>/<normalized-path>/


Restore Flow

git clone [email protected]:sxrubyo/omnisync.git /opt/omni-core
omni init --profile full-home   # if you want everything
# move bundle + secrets to new host
omni restore                    # or: omni migrate
omni doctor                     # verify health
omni detect-ip                  # check for host drift
omni rewrite-ip --apply         # fix references if needed

Free Disk Space

omni purge              # dry run — shows what would be deleted
omni purge --yes        # execute
omni purge --include-secrets --yes   # also remove restored secrets

Daily Reconciliation (systemd)

./install.sh --timer   # installs omni-update.timer

Runs every 24h: omni backupomni fixomni sync → health check. No manual intervention required. Reinstalls itself if the machine is rebuilt.


Local Simulation

Test a migration without touching production:

rsync -av --delete /opt/omni-core/ /opt/omni-core-test/
cd /opt/omni-core-test
docker compose -p omni-core-test -f docker-compose.test.yml up -d --build

Contributing

OmniSync is early and open. Issues, PRs and feedback welcome.

If you're building something on top of it — reach out.


Built by sxrubyo · MIT License