whatisgithub

What is sdk-js?

unicity-astrid/sdk-js — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2026-06-07

8,210TypeScriptAudience · developerComplexity · 3/5MaintainedSetup · moderate

In one sentence

TypeScript/JavaScript SDK for building 'capsules', installable plugin-like programs, for Astrid OS, compiled into WebAssembly binaries without needing to touch Wasm directly.

Mindmap

mindmap
  root((sdk-js))
    What it does
      Build Astrid capsules
      Compile to WebAssembly
      Node-like standard library
    Tech Stack
      TypeScript
      JavaScript
      WebAssembly
      Astrid OS
    Use Cases
      Expose tools as capsules
      Prototype before Rust port
      Filesystem and networking
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a capsule that exposes a custom tool, like a 'greet' tool, and install it with astrid capsule install.

USE CASE 2

Write JavaScript services for Astrid OS using familiar Node-like modules for filesystem, networking, and storage.

USE CASE 3

Prototype a service in JavaScript, then port it to the companion Rust SDK for a smaller binary later.

USE CASE 4

Use inter-capsule messaging to let multiple installed capsules talk to each other on the same Astrid kernel.

What is it built with?

TypeScriptJavaScriptWebAssemblyNode.js

How does it compare?

unicity-astrid/sdk-jsfounded-labs/react-native-reusablesbishopfox/unredacter
Stars8,2108,2928,298
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-06-07
MaintenanceMaintained
Setup difficultymoderatemoderateeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Project is in alpha, JavaScript capsules bundle a ~11MB embedded JS runtime versus ~200KB for Rust capsules.

License is not stated in the available content.

So what is it?

The sdk-js project lets you build "capsules" for Astrid OS using JavaScript or TypeScript. Capsules are modular programs that run inside Astrid, think of them as installable plugins or services that expose tools, handle requests, and talk to each other. If you've ever written a Node app and wanted it to feel like a native system component rather than a script running in the background, this is that kind of experience. At a high level, you write a TypeScript class and decorate it with annotations like @capsule or @tool to declare what your capsule does. The build pipeline then compiles your code, bundles it with the SDK, and packages everything into a .capsule archive that the Astrid kernel can install and run. The result is a WebAssembly binary, but you don't have to think about that, you just write JavaScript-flavored code and let the tooling handle the rest. The SDK provides familiar-feeling modules for filesystem access, networking, logging, key-value storage, inter-capsule messaging, and more, so it reads more like writing against Node's standard library than learning an entirely new platform. This is aimed at developers building tools or services for Astrid OS who prefer JavaScript over Rust. A concrete example from the README: you can create a capsule that exposes a "greet" tool, install it with astrid capsule install, and the kernel handles the rest. The same capsule lifecycle (install, run, upgrade) applies regardless of language. There's a companion Rust SDK that targets the same contracts, so a team could prototype in JS and port to Rust later without the kernel caring which language produced the binary. The main tradeoff is binary size. JavaScript capsules come out around 11 MB (3.5 MB compressed), mostly due to the embedded JS runtime, while Rust capsules are roughly 200 KB. For long-running services that load once and stay active, that's probably fine. For tight, resource-constrained scenarios, Rust is the better call. The project is currently in alpha, the end-to-end flow works, but it's still early.

Copy-paste prompts

Prompt 1
Show me how to write a TypeScript capsule for Astrid OS using the @capsule and @tool decorators.
Prompt 2
Walk me through building and installing a capsule with astrid capsule install after writing it with sdk-js.
Prompt 3
Explain how sdk-js compiles my JavaScript code into a WebAssembly .capsule archive.
Prompt 4
Compare binary size and use cases for a JavaScript capsule built with sdk-js versus a Rust capsule for the same tool.
Prompt 5
Help me use sdk-js's key-value storage module to persist state inside my Astrid capsule.

Frequently asked questions

What is sdk-js?

TypeScript/JavaScript SDK for building 'capsules', installable plugin-like programs, for Astrid OS, compiled into WebAssembly binaries without needing to touch Wasm directly.

What language is sdk-js written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript, WebAssembly.

Is sdk-js actively maintained?

Maintained — commit in last 6 months (last push 2026-06-07).

What license does sdk-js use?

License is not stated in the available content.

How hard is sdk-js to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is sdk-js for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.