Plugin Quickstart
This guide walks you through creating a minimal plugin that places a custom entity on the globe.
Prerequisites
- Node.js 18+
pnpmornpm- A WorldWideView account on the Marketplace
1. Scaffold the plugin
npx create-wwv-plugin my-plugin
cd my-plugin
pnpm install
2. Define your manifest
Every plugin declares its identity in manifest.json:
{
"id": "com.example.my-plugin",
"name": "My Plugin",
"version": "1.0.0",
"description": "A short description shown in the Marketplace.",
"entryPoint": "dist/index.js",
"permissions": ["globe.entities"]
}
3. Write the entry point
import type { PluginContext } from '@wwv/sdk';
export default function activate(ctx: PluginContext) {
ctx.globe.addEntity({
id: 'hello-world',
position: { lat: 37.77, lon: -122.42 },
label: 'Hello from my plugin',
});
}
4. Build and test locally
pnpm build
pnpm dev
pnpm dev opens a local test harness that loads your plugin into a live globe instance. Changes hot-reload automatically.
5. Publish to the Marketplace
pnpm publish:wwv
Follow the CLI prompts to authenticate and upload your plugin. After review it appears publicly in the Marketplace.
Next steps
See the Plugin API Reference for the full SDK.