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

@cloud-shakes/sdk

v1.0.6

Published

The official Cloud Shakes SDK for building powerful, secure plugins.

Downloads

313

Readme

Cloud Shakes SDK

The official SDK for building, packaging, and operating plugins on Cloud Shakes. Build extensions that feel native to the product, with a secure runtime and a distribution path for both public marketplace apps and private enterprise plugins.


Links


Installation

npm install @cloud-shakes/sdk

Why this SDK exists

Cloud Shakes SDK is designed to create an ecosystem effect similar to large extension platforms (for example Discord apps), but centered on workspace/cloud operations:

  • Extension-first product model: plugins are first-class citizens, not post-hoc scripts.
  • Developer velocity: simple API + CLI to go from idea to runnable plugin quickly.
  • Enterprise-ready path: local sideload + private deployment options for internal teams.
  • Safer execution: sandboxed runtime + capability-constrained plugin behavior.
  • Lifecycle support: build, package, publish, update, and monitor from one workflow.

If you want your cloud platform to become programmable by teams, this SDK is the core layer.

Quick Start

The Cloud Shakes SDK provides an intuitive, object-oriented API for building plugins. Define your application, register UI widgets, listen to lifecycle hooks, and export it seamlessly.

1. Initialize your Plugin

Create your main index.js (or index.ts) file:

import { ShakesPlugin } from '@cloud-shakes/sdk';

// 1. Instantiate your plugin with a unique identifier
const plugin = new ShakesPlugin('my-cool-widget')
  .setDisplayName('My Mini Toolbox')
  .setVersion('1.0.0')
  .setDescription('A powerful toolbox injected right into your dashboard.');

// 2. Register UI Elements (Sidebar Widgets, Full Pages, etc)
plugin.registerSidebarWidget(() => {
  return {
    html: `
      <div class="plugin-tools">
        <button onclick="window.cloudLocal.invoke('hello_world')">Run Tool</button>
      </div>
    `,
    styles: `
      .plugin-tools { padding: 10px; background: #fff; border-radius: 8px; }
      button { background: #3b82f6; color: white; padding: 6px 12px; border: none; border-radius: 4px; }
    `
  };
});

// 3. Register Backend Execution Handlers
plugin.onExecute(async (context, api, input) => {
  context.log('info', 'Executing custom tool log!');
  
  // Use the isolated plugin API if needed
  // await api.files.read('some-file');

  return { success: true, message: 'Tool executed successfully.' };
});

// 4. Export the Plugin
module.exports = plugin.export();

Product-level Value Propositions

With this SDK you can ship:

  • Discord-like app surface for cloud workspaces: custom tools, UI widgets, and actions users install on demand.
  • Internal automation packs: company-specific workflows as installable plugins.
  • Marketplace-ready extensions: public plugins with versioning and controlled rollout.
  • Multi-tenant-safe integrations: each plugin constrained by capabilities and runtime boundaries.

Connecting to an instance (REST Client)

If you are building an external service or a CLI and need to communicate with a Cloud Shakes instance programmatically, you can use the ShakesClient:

import ShakesClient from '@cloud-shakes/sdk';

const client = new ShakesClient({
  baseURL: 'http://localhost:5000',
  bearerToken: 'YOUR_ACCESS_TOKEN'
});

// List all installed plugins
const { plugins } = await client.listInstalledPlugins();
console.log(plugins);

// Execute a plugin headless
const result = await client.execute('my-cool-widget', { command: 'hello_world' });
console.log(result);

Publishing your Plugin

Once your plugin is ready, you can deploy it to the official Cloud Shakes Marketplace.

Get Your API Key

  1. Go to https://shakes.es/plugins
  2. Sign in with your account
  3. Go to Settings > Developer API Key
  4. Copy your API key

Publish Your Plugin

shakes publish --api https://cdn.shakes.es --key YOUR_API_KEY --path .

Or set it as an environment variable:

export SHAKES_API_KEY=your-api-key
shakes publish --api https://cdn.shakes.es --path .

(Note: The marketplace is currently in Beta)


Security & Privacy First

All plugins built with @cloud-shakes/sdk run inside highly secure, restricted Sandboxes (v8 isolates or Firecracker microVMs). When interacting with the api parameter within your hooks, your capabilities are strictly bounded by what the user explicitly approved during installation.

Community

Join the community at Cloud Shakes GitHub.


© Shakes OS 2026. Released under the MIT License.