swiftwasm / WasmKit
WebAssembly Runtime written in Swift
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing swiftwasm/WasmKit in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewWasmKit **WasmKit** is a standalone and embeddable WebAssembly runtime (virtual machine) implementation and related tooling written in Swift. Starting with Swift 6.2, WasmKit CLI executable is included in Swift toolchains distributed at swift.org for Linux and macOS. Usage You can find introductory examples and API documentation on the Swift Package Index documentation page. Command Line Tool WasmKit provides a command line tool to run WebAssembly binaries compatible with WASI. As a Library Swift Package Manager To use WasmKit in your package, add it as a Swift Package Manager dependency. Run the following commands in the same directory as your manifest to add the dependency: You can also add the following snippet manually instead to your file: Features • Reasonably fast • Minimal dependencies • The core runtime engine depends only on swift-system. • No Foundation dependency • Compact and embeddable • Debug build complete in 5 seconds[^1] • Batteries included • WASI support, WAT (WebAssembly text format) parser/assembler, etc. Supported Platforms WasmKit engine works on all major platforms supported by Swift. It is continuously tested on macOS, Ubuntu, Amazon Linux 2, Android, and Windows, and should work on the following platforms: • macOS 10.13+, iOS 12.0+, tvOS 12.0+, watchOS 6.0+ • Amazon Linux 2, Debian 12, Ubuntu 22.04+, Fedora 39+ • Android API Level 30 • Windows 10+ Implementation Status WebAssembly MVP | Feature | Status | |---------|--------| | Parsing binary format | ✅ Implemented | | Parsing text format (WAT) | ✅ Implemented | | Execution | ✅ Implemented | | Validation | ✅ Implemented | WebAssembly Proposals Proposals are grouped by their phase in the standardization process. See the WebAssembly proposals repository for details. Finished (Merged into the spec) | Proposal | Status | WasmKit version | |----------|--------|-----------------| | Bulk Memory Operations | ✅ Implemented | [0.0.2] | | Fixed-width SIMD | ✅ Implemented | branch | | Import/Export of Mutable Globals | ✅ Implemented | [0.0.2] | | Memory64 | ✅ Implemented | [0.0.2] | | Multi-value | ✅ Implemented | [0.0.2] | | Non-trapping Float-to-Int Conversions | ✅ Implemented | [0.0.2] | | Reference Types | ✅ Implemented | [0.0.2] | | Sign-extension Operators | ✅ Implemented | [0.0.2] | | Tail Call | ✅ Implemented | [0.1.4] | | Typed Function References | 🚧 Parser implemented | [0.2.0] | | Branch Hinting | ❌ Not implemented | | | Custom Annotation Syntax in the Text Format | ❌ Not implemented | | | Exception Handling | ❌ Not implemented | | | Extended Constant Expressions | ❌ Not implemented | | | Garbage Collection | ❌ Not implemented | | | Multiple Memories | ❌ Not implemented | | | Relaxed SIMD | ❌ Not implemented | | [0.0.2]: https://github.com/swiftwasm/WasmKit/releases/tag/0.0.2 [0.1.4]: https://github.com/swiftwasm/WasmKit/releases/tag/0.1.4 [0.2.0]: https://github.com/swiftwasm/WasmKit/releases/tag/0.2.0 Phase 4 - Standardize the Feature (WG) | Proposal | Status | WasmKit version | |----------|--------|-----------------| | Threads and Atomics | ✅ Implemented | branch | Phase 1 - Feature Proposal (CG) | Proposal | Status | WasmKit version | |----------|--------|-----------------| | Component Model | 🚧 In progress | branch | WASI | Feature | Status | WasmKit version | |---------|--------|-----------------| | WASI 0.1 | 🚧 Majority of syscalls implemented | [0.0.2] | | WASI Threads | ❌ Not implemented | | Minimum Supported Swift Version (MSSV) Currently, the minimum supported version is Swift 6.1. The general strategy is to support last two minor versions of the Swift toolchain available at the time of WasmKit's release. At the same time, development branches of WasmKit tend to adopt newer development versions of the Swift toolchain. Testing To run the WasmKit test suite, you need to checkout the test suite repositories first. Acknowledgement This project was originally developed by @akkyie, and is now maintained by the community. [^1]: On a 2020 Mac mini (M1, 16GB RAM) with Swift 5.10. Measured by . License License WasmKit runtime modules are licensed under MIT License. See LICENSE file for license information. GDB Remote Protocol support ( and modules) is licensed separately under Apache License v2.0 with Runtime Library Exception, Copyright 2025 Apple Inc. and the Swift project authors. See https://swift.org/LICENSE.txt for license information. See https://swift.org/CONTRIBUTORS.txt for Swift project authors.