# StrapKit

A full Node.js runtime compiled to WebAssembly that runs natively in the browser. Run Node.js applications, shell commands, and dev servers entirely client-side — no backend required.

## Features

- **Node.js in the browser** — Full Node.js environment via WebAssembly, including core modules (fs, path, crypto, etc.)
- **Shell execution** — Run shell scripts and commands with `exec()`, capturing stdout/stderr with streaming support
- **Built-in native tools** — Full coreutils tools and git
- **In-browser file system** — In-memory file system for reading, writing, and manipulating files
- **Dev server previews** — Embed iframe previews of web servers running inside the WASM environment
- **Caching** — Built-in caching for fast subsequent loads
- **Port detection** — Automatically detect when TCP sockets start listening

## Install

```
npm install @strapkit/core
```

## Quick Start

```js
import Strapkit from "@strapkit/core";

const sk = new Strapkit({ apiKey: "your-api-key" });
await sk.init();

const result = await sk.exec("node -e 'console.log(\"hello world\")'");
console.log(result.stdout);
```