nasa/spacewasmPublic

A flight-compliant WebAssembly interpreter.

AI summary: WebAssembly runtime optimized for flight software and embedded aerospace systems.

Stars
1.5K
+2 today
Forks
49
Watchers
8
Open issues
10
Open PRs
2
Contributors
~12
Commits
249
Branches
4

RustApache-2.0Created Jun 24, 2026Last push today+14 stars this week+14 this month

Star history

since Jul 5, 2026
05001KJul 2026Jul 2026Jul 2026Aug 2026
1.5K stars as of Aug 7, 2026, tracked back to Jul 5, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 2 commits2026-04-08: 1 commit2026-04-09: 0 commits2026-04-10: 1 commit2026-04-11: 8 commits2026-04-12: 8 commits2026-04-13: 2 commits2026-04-14: 0 commits2026-04-15: 2 commits2026-04-16: 0 commits2026-04-17: 3 commits2026-04-18: 3 commits2026-04-19: 11 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 3 commits2026-04-26: 0 commits2026-04-27: 7 commits2026-04-28: 4 commits2026-04-29: 3 commits2026-04-30: 1 commit2026-05-01: 2 commits2026-05-02: 0 commits2026-05-03: 5 commits2026-05-04: 4 commits2026-05-05: 8 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 6 commits2026-05-10: 0 commits2026-05-11: 5 commits2026-05-12: 6 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 5 commits2026-05-16: 0 commits2026-05-17: 1 commit2026-05-18: 0 commits2026-05-19: 1 commit2026-05-20: 2 commits2026-05-21: 0 commits2026-05-22: 5 commits2026-05-23: 3 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 2 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 2 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 3 commits2026-06-10: 0 commits2026-06-11: 5 commits2026-06-12: 0 commits2026-06-13: 4 commits2026-06-14: 3 commits2026-06-15: 4 commits2026-06-16: 8 commits2026-06-17: 5 commits2026-06-18: 1 commit2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 4 commits2026-06-24: 3 commits2026-06-25: 3 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 1 commit2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 2 commits2026-07-03: 1 commit2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 2 commits2026-07-07: 0 commits2026-07-08: 2 commits2026-07-09: 7 commits2026-07-10: 11 commits2026-07-11: 3 commits2026-07-12: 8 commits2026-07-13: 3 commits2026-07-14: 7 commits2026-07-15: 1 commit2026-07-16: 1 commit2026-07-17: 1 commit2026-07-18: 0 commits2026-07-19: 2 commits2026-07-20: 7 commits2026-07-21: 3 commits2026-07-22: 7 commits2026-07-23: 0 commits2026-07-24: 3 commits2026-07-25: 2 commits2026-07-26: 3 commits2026-07-27: 5 commits2026-07-28: 0 commits2026-07-29: 5 commits2026-07-30: 3 commits2026-07-31: 0 commits2026-08-01: 0 commits
249 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Actively maintained

    Pushed within 48 hours

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What spacewasm does

SpaceWasm is an embedded WebAssembly runtime written in Rust specifically designed for the strict requirements of flight software. It aims to bring the sandboxing and portability benefits of WebAssembly to resource-constrained aerospace environments without compromising safety or real-time constraints. The project provides deterministic execution guarantees and minimal footprint, enabling secure, pluggable software updates on spacecraft and satellites. It forms a bridge between modern memory-safe compilation targets and legacy embedded hardware architectures.

Aerospace engineers and embedded systems developers writing critical flight software. It requires deep knowledge of embedded programming and Rust.

  • Aerospace optimization: tailored for the deterministic and resource-constrained requirements of flight software.
  • Rust core: built with memory safety and performance predictability from the ground up.
  • WebAssembly runtime: allows executing pre-compiled Wasm modules securely on embedded hardware.
  • Sandboxed execution: ensures plugin logic cannot compromise critical flight control systems.
  • Cross-architecture compatibility: abstracts away underlying satellite hardware for portable software deployment.

Where teams use it

Flight software updates

Deploy secure, sandboxed software updates to satellites while in orbit.

Algorithm testing

Run complex scientific or navigational algorithms without risking the core vehicle operating system.

Hardware abstraction

Write flight logic once and compile to Wasm for deployment across diverse spacecraft computers.

Embedded sandboxing

Isolate experimental telemetry or payload processing logic from critical avionics.

Getting started: cargo build --no-default-features

README

main branch

SpaceWasm

license

SpaceWasm is an implementation of the Wasm 1.0 specification meant to interpret Wasm binary on-board spacecraft. It is developed at NASA JPL.

Rationale

  1. Sequencing: High-level spacecraft activities are typically encoded outside of the embedded flight-software in a command sequence. These activities can include anything from driving the Mars rover and operating its arm, to checking temperature ranges are nominal. Historically, the form and capability of sequences has varied from mission to mission, resulting in assorted/fragmented implementations. SpaceWasm implements an industry standard, providing consolidation.

  2. Sandboxing: The cost and time of flight-software development is high due to its constrained requirements and scope. Validating a new flight-software capability often involves validating interactions with the entire system. This extends the V&V timeline and increases competition for testbed resources, which makes it hard to get new autonomy software into flight. WebAssembly gives the opportunity for untrusted or low-trust executables to make their way on-board in a way that flight-software can restrict access and compute time as well as monitor health and safety.

  3. Portability: WebAssembly provides well-defined interfaces and sandboxing that make transferring to another platform trivial.

  4. Tooling: Standardizing to WebAssembly opens doors into a wide community of rich tooling and research!

Overview

This software comes with two major components:

  1. Decoder/Validator:

    Reads the Wasm binary in chunks and decodes it to an executable form. The decoder will use a fixed amount of memory and can be measured per-Wasm binary using the spacewasm-check executable on the ground.

    WebAssembly is validated during the decoding process and does not require another pass of the bytecode.

  2. Interpreter:

    A Wasm interpreter that can operate on linear memory and interface with hooks from the embedding.

SpaceWasm does not execute direct WebAssembly bytecode. Wasm bytecode is meant to be small and structured in a way to validate easily. These properties however make it slow to execute in-place. During the decoding process of Wasm instructions, SpaceWasm converts bytecode into another intermediate representation (IR) which includes properties better suited for interpretation. Read more about the IR in the specification.

Requirements

The requirements of SpaceWasm are levied from similar work produced by DLR.

See requirements.

Embedding

Embedding the interpreter refers to instantiating it and providing implementations for the functions that are imported into the module. Typically, the set of functions imported by the module are fixed and should be specified at compile time both for the Wasm module and the embedder.

Dynamic Allocation

SpaceWasm has a unique dynamic memory allocation model. All of its design choices stem from requirements levied by common flight-software standards. Dynamic allocation follows the following rules:

  1. All allocations occur over a discrete number of fixed size blocks called pages. These pages are distinct from Wasm's linear memory pages.
  2. Deallocation cannot precede allocation.
  3. Sub-regions inside pages cannot grow or shrink, sizes should be fixed ahead of time.
  4. Memory usage must be deterministic.
  5. Any allocation failures must not result in panic.

The standard Rust allocation does not meet these constraints even with custom allocators. To that end, SpaceWasm provides its own data structures that guarantee these properties. You will find these data-structures contain the only usage of unsafe Rust semantics.

Note

These limitations are only enforced on the implementation of the interpreter and not on the Wasm bytecode it is made to interpret.

Wasm linear memory pages are allocated outside of dynamic memory pages.

Streaming

Peak memory usage is often an important constraint on small systems found on spacecraft. Many Wasm interpreters require the Wasm binary to be given in one linear blob to the interpreter. This is typically fine for systems where the same regions of memory may be reused for different purposes. Flight software on spacecraft generally assign fixed portions of memory for certain purposes. Therefore, requiring the entire Wasm binary to fit into a single chunk of memory is not feasible.

SpaceWasm is highly optimized to reduce peak memory usage and not require deallocation after allocation required for streaming. To this end, there are certain constraints imposed on the WebAssembly specification.

SpaceWasm supports decoding and compiling Wasm binary in a single pass via a streaming mechanism. Chunks of the Wasm binary may be provided to the interpreter as they are read/requested from the filesystem. The stream must provide chunks synchronously.

WASI 0.1 Support

The spacewasi crate provides a binary which can run arbitrary WASM modules that adhere to the WASI 0.1 (wasip1) spec in a sandboxed environment. Command line flags are available to mount host directories and environment variables:

# compile example from crates/spacewasi/tests/wasm/
$ clang --target=wasm32-wasip1 -mcpu=mvp hello_universe.c -o hello_universe.wasm

# convert module to MVP compatible file
$ crates/spacewasi/scripts/wasm2mvp.sh hello_universe.wasm

$ spacewasi hello_universe.wasm
hello universe!

For more information about this command and basic WASI compilation, see spacewasi/README.md.

Interpreter Limitations

This Wasm interpreter imposes additional constraints beyond the WebAssembly 1.0 specification to support resource-constrained spacecraft environments.

See our IR SPEC for the full list of limitations.

These constraints enable deterministic memory usage and efficient execution in resource-constrained environments while maintaining compatibility with most standard WebAssembly modules.

Limits for Wasm Module Producers

Because SpaceWasm compiles bytecode into a fixed-width IR that is typically larger than the original bytecode, the practical ceiling on raw module size is bounded by the IR code-page limit above (~8 GiB of IR). This is far larger than any module expected on flight hardware; the binding constraint in practice is the peak memory configured for the streaming decoder, which is measured per-module on the ground with spacewasm-check.

Note

spacewasm-check has not been developed yet. A similar tool can be found in spacewasm-std.

Here are a couple of limitations that may be relevant to developers of Wasm modules.

Limit Value Notes
Wasm page size 64 KiB / 1 B Custom-Page-Sizes proposal is supported
Linear memory pages 4 GiB Per the Wasm 1.0 spec. A module declaring more (or a max above this) is rejected. Note that the embedding will definitely limit this but it is dependent on how the interpreter is deployed.
IR Code 8 GiB Compiled IR, not raw bytecode. This limit is across all modules in the store. The IR / Bytecode ratio is printed in spacewasm-std as the "compilation ratio". It is difficult to estimate this upfront because it varies on the types of instructions used.
Function parameters 255 32-bit words Per function.
Local variables 65,535 32-bit words Per function.

Benchmarking

SpaceWasm is tested against the Coremark benchmark to trace performance regression. See coremark for more information.

Testing

Unit & Integration Tests

cargo test

The unit tests check for regressions on the unsafe container abstractions provided by SpaceWasm due to unique alloc usage. There are also simple unit tests that cover all Wasm instructions without needing full WAST execution.

The integration tests are spectests from the Wasm 1.0 MVP suite which was curated in https://github.com/WasmEdge/wasmedge-spectest. These tests validate the integrity of the Wasm interpreter against the specification.

Fuzzing

SpaceWasm includes a comprehensive fuzzing infrastructure using libfuzzer and wasm-smith.

# Run fuzzer
make fuzz

# Analyze crashes with execution traces
make trace CRASH=fuzz/artifacts/no_traps/crash-xxx

Feature Support Matrix

Below is a table of the implemented and planned WebAssembly proposals with links to their tracking issue / implementation pull-request.

Feature Status
Wasm MVP All Versions
Mutable globals All Versions
Custom page sizes ≥0.2.0
Bulk memory operations Planned
Sign-extension operators Planned
Non-trapping float-to-int conversions Planned
Multi-value Under Consideration
Multiple memories Under Consideration

Currently, all other proposals are not implemented, planned or considered.

Credits & Acknowledgments

Portions of this project are adapted from the open-source projects:

  • rust-lang/rust, which is dual-licensed under MIT OR Apache License 2.0.
  • DLR-FT/wasm-interpreter, which is licensed under the Apache License 2.0.
  • Wasmtime, which is licensed under the Apache License 2.0 with LLVM-exception.
  • WABT, which is licensed under the Apache License 2.0.
  • wasmedge-spectest, which is licensed under MIT.
  • WebAssembly Testsuite, which is licensed under the Apache License 2.0.
  • Coremark, which is licensed under the COREMARK ACCEPTABLE USE AGREEMENT.
  • Wasm Coremark, which provides no upstream license file; the wrapped CoreMark payload is governed by the COREMARK ACCEPTABLE USE AGREEMENT.
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

16 total
  1. v0.5.1v0.5.1Jul 30, 2026pre-release

    ## What's Changed * Add accessor to inner allocator for PageAllocator by @Kronos3 in https://github.com/nasa/spacewasm/pull/147 * Add Miri job to CI workflow by @h313 in https://github.com/nasa/spacewasm/pull/145 * Handle zero-page memories without allocating by @arthurianresolve in https://github.com/nasa/spacewasm/pull/136 * Add raw terminal mode to `spacewasi` by @cole-wilson in https://github.com/nasa/spacewasm/pull/139 * Remove page allocator cache by @Kronos3 in https://github.com/nasa/spacewasm/pull/149 * Check allocation constraints during spectest by @Kronos3 in https://github.com/nasa/spacewasm/pull/151 ## New Contributors * @arthurianresolve made their first contribution in https://github.com/nasa/spacewasm/pull/136 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.5.0...v0.5.1 ## What's Changed * Add accessor to inner allocator for PageAllocator by @Kronos3 in https://github.com/nasa/spacewasm/pull/147 * Add Miri job to CI workflow by @h313 in https://github.com/nasa/spacewasm/pull/145 * Handle zero-page memories without allocating by @arthurianresolve in https://github.com/nasa/spacewasm/pull/136 * Add raw terminal mode to `spacewasi` by @c

  2. v0.5.0v0.5.0Jul 29, 2026pre-release

    ## What's Changed * Add CMakeLists.txt for spacewasm_c_api by @h313 in https://github.com/nasa/spacewasm/pull/130 * Refactor PageAllocator to be impl generic by @Kronos3 in https://github.com/nasa/spacewasm/pull/146 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.5...v0.5.0 ## What's Changed * Add CMakeLists.txt for spacewasm_c_api by @h313 in https://github.com/nasa/spacewasm/pull/130 * Refactor PageAllocator to be impl generic by @Kronos3 in https://github.com/nasa/spacewasm/pull/146 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.5...v0.5.0

  3. v0.4.5v0.4.5Jul 28, 2026pre-release

    ## What's Changed * Make Engine::push_module fallible by @Kronos3 in https://github.com/nasa/spacewasm/pull/143 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.4...v0.4.5 ## What's Changed * Make Engine::push_module fallible by @Kronos3 in https://github.com/nasa/spacewasm/pull/143 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.4...v0.4.5

  4. v0.4.4v0.4.4Jul 27, 2026pre-release

    ## What's Changed * More descriptive allocation error for guest memory by @Kronos3 in https://github.com/nasa/spacewasm/pull/138 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.3...v0.4.4 ## What's Changed * More descriptive allocation error for guest memory by @Kronos3 in https://github.com/nasa/spacewasm/pull/138 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.3...v0.4.4

  5. v0.4.3v0.4.3Jul 27, 2026pre-release

    ## What's Changed * C api host return none by @Kronos3 in https://github.com/nasa/spacewasm/pull/137 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.2...v0.4.3 ## What's Changed * C api host return none by @Kronos3 in https://github.com/nasa/spacewasm/pull/137 **Full Changelog**: https://github.com/nasa/spacewasm/compare/v0.4.2...v0.4.3

Commits per week

last 52 weeks
250Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 12 commitsWeek of 2026-04-12: 18 commitsWeek of 2026-04-19: 14 commitsWeek of 2026-04-26: 17 commitsWeek of 2026-05-03: 23 commitsWeek of 2026-05-10: 16 commitsWeek of 2026-05-17: 12 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 2 commitsWeek of 2026-06-07: 12 commitsWeek of 2026-06-14: 21 commitsWeek of 2026-06-21: 10 commitsWeek of 2026-06-28: 4 commitsWeek of 2026-07-05: 25 commitsWeek of 2026-07-12: 21 commitsWeek of 2026-07-19: 24 commitsWeek of 2026-07-26: 16 commitsAug 3, 2025Jul 26, 2026
249 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 1 commitsSun 7:00 — 4 commitsSun 8:00 — 6 commitsSun 9:00 — 5 commitsSun 10:00 — 3 commitsSun 11:00 — 1 commitsSun 12:00 — 3 commitsSun 13:00 — 2 commitsSun 14:00 — 2 commitsSun 15:00 — 5 commitsSun 16:00 — 2 commitsSun 17:00 — 1 commitsSun 18:00 — 1 commitsSun 19:00 — 1 commitsSun 20:00 — 1 commitsSun 21:00 — 1 commitsSun 22:00 — 1 commitsSun 23:00 — 1 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 2 commitsMon 7:00 — 3 commitsMon 8:00 — 8 commitsMon 9:00 — 5 commitsMon 10:00 — 2 commitsMon 11:00 — 2 commitsMon 12:00 — 1 commitsMon 13:00 — 1 commitsMon 14:00 — 1 commitsMon 15:00 — 2 commitsMon 16:00 — 1 commitsMon 17:00 — 0 commitsMon 18:00 — 1 commitsMon 19:00 — 3 commitsMon 20:00 — 3 commitsMon 21:00 — 3 commitsMon 22:00 — 2 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 1 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 2 commitsTue 8:00 — 4 commitsTue 9:00 — 7 commitsTue 10:00 — 7 commitsTue 11:00 — 4 commitsTue 12:00 — 1 commitsTue 13:00 — 2 commitsTue 14:00 — 3 commitsTue 15:00 — 2 commitsTue 16:00 — 6 commitsTue 17:00 — 3 commitsTue 18:00 — 1 commitsTue 19:00 — 2 commitsTue 20:00 — 2 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 1 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 4 commitsWed 9:00 — 5 commitsWed 10:00 — 4 commitsWed 11:00 — 1 commitsWed 12:00 — 6 commitsWed 13:00 — 5 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 2 commitsWed 17:00 — 1 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 3 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 1 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 5 commitsThu 8:00 — 4 commitsThu 9:00 — 2 commitsThu 10:00 — 0 commitsThu 11:00 — 2 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 1 commitsThu 15:00 — 1 commitsThu 16:00 — 2 commitsThu 17:00 — 2 commitsThu 18:00 — 2 commitsThu 19:00 — 1 commitsThu 20:00 — 0 commitsThu 21:00 — 1 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 1 commitsFri 7:00 — 2 commitsFri 8:00 — 6 commitsFri 9:00 — 5 commitsFri 10:00 — 1 commitsFri 11:00 — 1 commitsFri 12:00 — 0 commitsFri 13:00 — 2 commitsFri 14:00 — 0 commitsFri 15:00 — 1 commitsFri 16:00 — 4 commitsFri 17:00 — 1 commitsFri 18:00 — 3 commitsFri 19:00 — 3 commitsFri 20:00 — 0 commitsFri 21:00 — 2 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 3 commitsSat 9:00 — 6 commitsSat 10:00 — 1 commitsSat 11:00 — 2 commitsSat 12:00 — 2 commitsSat 13:00 — 5 commitsSat 14:00 — 1 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 3 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 6 commitsSat 21:00 — 3 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 11, 2026daily#22+2
  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195K stars · Rust

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    194.9K stars · Rust

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    194.9K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    125.4K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.2K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    104.6K stars · Rust