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

@vibelands/creator

v0.3.6

Published

Vibe-code, preview, test, publish, and install VibeLands multiplayer world features.

Readme

VibeLands Creator

One tool for creating, previewing, testing, publishing, and installing multiplayer VibeLands world features from a local source project. It is the recommended entry point for editor, Git, and LLM-based development.

Install

npm install --global @vibelands/creator
vibelands --help

The package installs the vibelands command and includes the compatible @vibelands/mod-sdk.

Start creating

vibelands login
vibelands templates
vibelands create neon-forest --template atmosphere
cd neon-forest
npm install
npm run check
npm run dev

vibelands login opens a short-lived confirmation page. Confirm the matching code in a browser where your VibeLands account is already signed in; Creator then stores its own CLI session without asking you to copy a token.

Commands that talk to VibeLands (login, dev, publish, world sandbox, world pull/diff/push, marketplace) need network access. An AI agent in a sandbox that blocks network gets NETWORK_UNAVAILABLE ("Cannot reach ..."); it should rerun the command with network access or ask the user to run it. Creator honors HTTPS_PROXY/HTTP_PROXY/NO_PROXY, so agent sandboxes that route traffic through an egress proxy work once VibeLands is allowed.

dev and serve apply mods only to your Developer Sandbox: one private 3-player world per account that never uses a plan world slot and sleeps when idle. --clone-world <worldId> copies one of your worlds into it first; vibelands sandbox shows its status and resets it.

Agent setup

Claude Code (sandboxing docs), in .claude/settings.json: allow the domain through the sandbox proxy

{
  "sandbox": {
    "network": { "allowedDomains": ["playvibelands.com", "*.playvibelands.com"] }
  }
}

or run Creator outside the sandbox with "excludedCommands": ["vibelands *"] under sandbox.

OpenAI Codex, in ~/.codex/config.toml:

sandbox_mode = "workspace-write"

[sandbox_workspace_write]
network_access = true

For a self-hosted server, allow its domain instead and pass --remote <url>.

The scaffold pins its compatible Creator and Mod SDK dependencies and writes an AGENTS.md for local coding agents. npm run dev uploads the project into a hosted sandbox, opens a private world preview, watches the source tree, and hot-swaps every successful revision.

Machine-readable agent discovery, diagnostics, watch mode and hosted handoff:

vibelands context . --json              # exact installed API and recipes
vibelands context . --write             # .vibelands/CONTEXT.md
vibelands generate .                    # manifest messageSchemas → TypeScript maps
vibelands check . --json                # stable locations and remediation
vibelands dev . --world-id <world-id> --jsonl
vibelands inspect <build-id> --json

Whole worlds, including missions and their cutscenes, can be edited as files:

vibelands world --help
vibelands world create my-island --name "My Island"
# Edit the files using the generated my-island/AGENTS.md instructions.
vibelands world status my-island
vibelands world pack my-island --out my-island.vibeworld.json

This creates a local world tree; import the packed file through the browser editor. It does not provision a hosted world, and needs no npm install or npm run dev. Plain vibelands create <dir> creates a mod instead.

To create a new private sandbox from those local files:

vibelands login
vibelands world sandbox my-island --name "My Island Sandbox"
# With multiple hosting servers, add --server-id <server-id>.
# Optionally choose the new world's ID with --id my-island-sandbox.

The command uses your existing hosting server, plan and capacity limits, imports the world as private, requests runtime startup, and prints a game URL and runtime status. It does not publish an official LIVE release. If you have no hosting server, set one up in My Worlds first. The local tree is synchronized with the server's normalized files and bound to the new world. Repeating world sandbox on a bound tree is rejected to avoid creating duplicates. For later changes use world diff and world push --dry-run; stop the runtime in My Worlds before the actual push, then start it again to preview the update.

To edit an existing hosted world, start by pulling into a separate directory:

vibelands worlds --json
vibelands world pull my-island --world-id <world-id>
vibelands world status my-island
vibelands world diff my-island
vibelands world push my-island --dry-run

After reviewing the plan, vibelands world push my-island --yes replaces the target world's content. Its runtime must be stopped. A new, unpulled tree needs an explicit --force overwrite; prefer pulling before editing an existing world. Solo projects support world pull --project <id>; direct push to a solo project is not available, so use pack and import in the editor.

Open-source Marketplace source can become a fresh local project:

vibelands remix <slug> my-remix --id my-remix

Documentation: https://playvibelands.com/docs/