Community코딩 & 개발github.com

andreaTP/skill-compile-to-wasm

Claude Code 스킬로, C 및 Rust 코드를 최적화된 WebAssembly 모듈로 컴파일합니다. 라이브러리 래핑(리액터 모드), CLI 도구(커맨드 모드), Wasmtime 및 Chicory를 통한 호스트 소비를 다룹니다.

skill-compile-to-wasm란 무엇인가요?

이 스킬은 Claude Code를 통해 C와 Rust로 작성된 코드를 WebAssembly(Wasm) 모듈로 컴파일하고 최적화하는 방법을 제공합니다. 주요 사용 사례로는 기존 라이브러리를 Wasm으로 래핑하여 다른 언어에서 재사용할 수 있게 하는 리액터(Reactor) 모드와, CLI 도구를 Wasm 명령어 모드(Command mode)로 변환하여 브라우저나 서버 환경에서 실행할 수 있게 하는 기능을 포함합니다. 또한 Wasmtime(러스트 기반 런타임)과 Chicory(자바 기반 런타임)를 활용하여 Wasm 모듈을 호스트 애플리케이션에서 소비하는 방법을 다룹니다. 이를 통해 개발자는 크로스 플랫폼 배포, 보안 샌드박싱, 성능 최적화를 손쉽게 달성할 수 있으며, Claude Code의 자동화된 워크플로우와 통합되어 반복적인 설정 작업을 줄여줍니다.

지원 대상✓Claude Code~Codex CLI~Cursor
Part ofReact
npx skills add andreaTP/skill-compile-to-wasm

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

skill-compile-to-wasm은(는) 무엇을 하나요?

Claude Code 스킬로, C 및 Rust 코드를 최적화된 WebAssembly 모듈로 컴파일합니다. 라이브러리 래핑(리액터 모드), CLI 도구(커맨드 모드), Wasmtime 및 Chicory를 통한 호스트 소비를 다룹니다.

개요

이 스킬은 Claude Code가 C와 Rust 코드를 WebAssembly 모듈로 변환할 수 있도록 지시합니다. 다음을 포함합니다:

  • 리액터 모드: 기존 라이브러리를 Wasm 모듈로 래핑하여 다른 언어에서 호출 가능하게 함
  • 커맨드 모드: CLI 도구를 Wasm으로 컴파일하여 브라우저나 서버에서 실행 가능하게 함
  • 호스트 소비: Wasmtime(Rust) 및 Chicory(Java)를 사용하여 Wasm 모듈을 통합하는 방법

필수 조건

  • Claude Code가 설치 및 구성되어 있어야 함
  • 컴파일할 언어에 따라 Rust (rustc, wasm-pack) 또는 C/C++ (emscripten, wasi-sdk) 도구 체인
  • 선택 사항: Wasmtime(wasmtime-cli) 또는 Chicory(Java 프로젝트용)

사용법

라이브러리를 Wasm으로 컴파일(리액터 모드)

# Rust 라이브러리
cd my-rust-lib
wasm-pack build --target web

# C 라이브러리
cd my-c-lib
emcc mylib.c -o mylib.wasm -s WASM=1 -s EXPORTED_FUNCTIONS="['_my_func']"

CLI 도구를 Wasm으로 컴파일(커맨드 모드)

# Rust CLI
cd my-cli-tool
cargo build --target wasm32-wasi --release

# C CLI
cd my-c-cli
clang mycli.c -o mycli.wasm -O3 --target=wasm32-wasi

Wasmtime으로 호스팅

wasmtime run my-module.wasm -- --help

Chicory(Java)로 호스팅

import com.dylibso.chicory.wasm.Parser;
import com.dylibso.chicory.runtime.Module;

Module module = Module.build(Parser.parse(new File("my-module.wasm")));

리소스

참고 사항

  • 최적화된 Wasm 모듈을 위해 항상 -O3 또는 동등한 최적화 플래그를 사용하세요.
  • 리액터 모드와 커맨드 모드는 서로 다른 진입점을 가지므로 필요에 따라 적절한 패턴을 선택하세요.
  • 호스트 환경에 따라 적절한 Wasm 런타임을 선택하세요(Wasmtime은 Rust/범용, Chicory는 Java).

관련 스킬