mcpField
W
wasm

wasm

github.com/thebeardedbearsas開発107115 回インストール今日更新
リポジトリ

wasm について

コンパイル、WASI、Component Model、ランタイムを扱うWebAssembly開発リファレンスです。ブラウザー、エッジ、サーバー、組み込み向けWASMアプリを検討・開発するエンジニアを対象としています。

主な機能

  1. 01Rust、Go、C/C++、AssemblyScriptのコンパイル
  2. 02WASIのコマンドとランタイム例
  3. 03型付きComponent Modelの合成
  4. 04ブラウザー、エッジ、サーバー、組み込みの用途

活用シーン

  1. 01ブラウザー向けRustコードのコンパイル
  2. 02WasmtimeによるWASIアプリの実行
  3. 03言語をまたいだ型付きモジュールの合成
  4. 04エッジや組み込み環境でのWASM活用の検討

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill wasm

インストール後、Claude Code で/wasmを入力して読み込まれたか確認します。

詳細

WebAssembly(WASM)— コンポーネントモデル、WASI

高いパフォーマンスが求められる用途、ポリグロットランタイム、エッジコンピューティング向けの WASM。

ユースケース

ブラウザー — 暗号処理、画像(Figma、Google Earth)
エッジ — Cloudflare Workers、Fastly
サーバー — サンドボックス化されたプラグイン(Envoy)
組み込み — IoT、自動車

コンパイル

Rust — wasm-pack(約50KB、高パフォーマンス)
Go — GOOS=js GOARCH=wasm(約2MB)
C/C++ — Emscripten(レガシー)
AssemblyScript — TypeScript に似た言語

Rust から WASM へ

use wasm_bindgen::prelude::*;
#[wasm_bindgen] pub fn add(a: i32, b: i32) -> i32 { a + b }
wasm-pack build --target web
import init, { add } from './pkg/wasm.js';
await init(); add(2, 3);

WASI(システムインターフェース)

rustc --target wasm32-wasi main.rs -o app.wasm
wasmtime app.wasm

コンポーネントモデル

interface math { add: func(a: s32, b: s32) -> s32 }

型付けされた Rust/Go/C++ モジュールを組み合わせます。

エッジ(Cloudflare)

import wasm from './processor.wasm';
export default {
  async fetch(req) {
    const inst = await WebAssembly.instantiate(wasm);
    return new Response(inst.exports.process(req.body));
  }
};

ランタイム

Wasmtime — 高速、WASI
Wasmer — 汎用
WasmEdge — エッジ、K8s


@.claude/skills/edge-computing/SKILL.md を参照してください

コメント