@cloud-shakes/sdk
v1.0.6
Published
The official Cloud Shakes SDK for building powerful, secure plugins.
Downloads
313
Maintainers
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
- Website: https://shakes.es
- Plugin Marketplace: https://shakes.es/plugins
- Documentation: https://docs.shakes.es
- Demo: https://demo.shakes.es
Installation
npm install @cloud-shakes/sdkWhy 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
- Go to https://shakes.es/plugins
- Sign in with your account
- Go to Settings > Developer API Key
- 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.
