nullclaw/nullhubPublic

Management console for the Null ecosystem — install, configure, and monitor AI agents, orchestration workflows, task pipelines, and system health

AI summary: A fast, lightweight server for handling NullClaw event streams.

Stars
2K
+23 today
Forks
118
Watchers
6
Open issues
11
Open PRs
2
Contributors
~9
Commits
453
Branches
22

ZigMITCreated Mar 2, 2026Last push 19d agoLatest release v2026.5.29+121 stars this week+159 this month

Star history

since Mar 1, 2026
05001K1.5KMar 2026Apr 2026Jun 2026Aug 2026
2K stars as of Aug 7, 2026, tracked back to Mar 1, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-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-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: 80 commits2026-03-03: 15 commits2026-03-04: 0 commits2026-03-05: 2 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 8 commits2026-03-10: 0 commits2026-03-11: 18 commits2026-03-12: 19 commits2026-03-13: 19 commits2026-03-14: 23 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 14 commits2026-03-19: 0 commits2026-03-20: 1 commit2026-03-21: 3 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 5 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: 1 commit2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 2 commits2026-04-17: 11 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 13 commits2026-05-05: 21 commits2026-05-06: 37 commits2026-05-07: 25 commits2026-05-08: 2 commits2026-05-09: 0 commits2026-05-10: 2 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 1 commit2026-05-17: 0 commits2026-05-18: 1 commit2026-05-19: 2 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 13 commits2026-05-26: 11 commits2026-05-27: 0 commits2026-05-28: 7 commits2026-05-29: 3 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 1 commit2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
360 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Rising fast

    +121 stars this week

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What nullhub does

NullHub is a high-performance event stream server tailored for the NullClaw ecosystem. It ingests, processes, and routes massive volumes of real-time events with minimal latency. Built in Rust for memory safety and concurrency, it acts as the central nervous system for distributed NullClaw services. The architecture relies on lock-free data structures to maintain high throughput even under heavy load.

Backend engineers and platform architects building high-scale distributed systems in the NullClaw ecosystem. Requires familiarity with Rust and event-driven architectures.

  • High-throughput ingestion: processes millions of events per second with sub-millisecond latency.
  • Lock-free routing: uses concurrent data structures to dispatch events without blocking.
  • Memory-safe core: written entirely in Rust to eliminate data races and segmentation faults.
  • Pluggable sinks: supports dynamic registration of downstream consumers for event streams.
  • Backpressure handling: automatically throttles ingestion when downstream services degrade.

Where teams use it

Real-time analytics

Data engineers use it to aggregate event streams for live dashboarding.

Microservice communication

Serves as a reliable message broker between decoupled NullClaw services.

Audit logging

Security teams deploy it to capture and store immutable audit trails.

IoT telemetry

Handles high-frequency sensor data ingestion with minimal resource overhead.

Getting started: cargo run --release --bin nullhub

README

main branch

NullHub

The simplest way to install, configure, and manage NullClaw.

Management hub for the nullclaw ecosystem.

NullHub is a single Zig binary with an embedded Svelte web UI for installing, configuring, monitoring, and updating ecosystem components (NullClaw, NullBoiler, NullTickets, NullWatch).

Features

  • Install wizard -- manifest-driven guided setup with component-aware flows and local NullTickets -> NullBoiler linking
  • Process supervision -- start, stop, restart, crash recovery with backoff
  • Health monitoring -- periodic HTTP health checks, dashboard status cards
  • Cross-component linking -- auto-connect NullTickets -> NullBoiler, generate native tracker config, and inspect queue/orchestrator status from one UI
  • Config management -- structured editors for NullClaw, NullBoiler, NullTickets, and NullWatch, plus direct raw JSON editing when needed
  • Log viewing -- tail and live SSE streaming per instance
  • One-click updates -- download, migrate config, rollback on failure
  • Multi-instance -- run multiple instances of the same component side by side
  • Web UI + CLI -- browser dashboard for humans, CLI for automation
  • Managed instance admin API -- instance-scoped status, config, models, cron, channels, and skills routes for managed NullClaw installs
  • NullBoiler UI -- workflow editor, poll-based run monitoring, checkpoint forking, and encoded workflow/run links
  • NullTickets Store -- key-value store browser proxied to NullTickets through NullHub
  • NullWatch Flight Recorder -- local NullWatch run summaries, span timelines, eval results, token usage, cost, and error context through a NullHub proxy
  • Mission Control -- local-first agent mission replay with workflow execution, role-based agents, failure, checkpoint recovery, durable replay storage, and live telemetry in one screen

Quick Start

zig build
./zig-out/bin/nullhub

Opens browser to http://nullhub.localhost:19800. The resulting binary includes the built web UI; it no longer depends on a runtime ui/build directory.

Local access chain:

  • http://nullhub.local:19800
  • http://nullhub.localhost:19800
  • http://127.0.0.1:19800

nullhub tries to publish nullhub.local through dns-sd/Bonjour or avahi-publish when those tools are available, and otherwise falls back to nullhub.localhost and finally 127.0.0.1.

Runtime Prerequisites

  • curl is required to fetch releases and binaries.
  • tar is required to extract UI module bundles.

Build Prerequisites

  • npm is required for zig build and for any build that embeds the Svelte UI.
  • Backend-only tests can run without UI assets via zig build test -Dembed-ui=false -Dbuild-ui=false.

When these tools are missing, nullhub will try to install them automatically via available system package managers (apt, dnf, yum, pacman, zypper, apk, brew, winget, choco).

CLI Usage

nullhub                          # Start server + open browser
nullhub serve [--host H] [--port N]
               [--allowed-origin ORIGIN] ...
                                 # Start server. Repeat --allowed-origin to
                                 # authorize extra CORS origins (e.g. a
                                 # Tailscale domain). Origins may also come
                                 # from NULLHUB_ALLOWED_ORIGINS as a
                                 # comma-separated list.
nullhub version | -v | --version # Print version

nullhub install <component>      # Terminal wizard
nullhub uninstall <c>/<n>        # Remove instance

nullhub start <c>/<n>            # Start instance
nullhub stop <c>/<n>             # Stop instance
nullhub restart <c>/<n>          # Restart instance
nullhub start-all / stop-all     # Bulk start/stop

nullhub status                   # Table of all instances
nullhub status <c>/<n>           # Single instance detail
nullhub logs <c>/<n> [-f]        # Tail logs (-f for follow)

nullhub check-updates            # Check for new versions
nullhub update <c>/<n>           # Update single instance
nullhub update-all               # Update everything

nullhub config <c>/<n> [--edit]  # View/edit config
nullhub api GET /api/instances/nullclaw/<n>/status --pretty
nullhub api GET /api/instances/nullclaw/<n>/cron --pretty
nullhub service install          # Register/start OS service (systemd/launchd)
nullhub service uninstall        # Remove OS service
nullhub service status           # Show OS service status

Instance addressing uses {component}/{instance-name} everywhere.

Architecture

Zig backend -- HTTP server, process supervisor, installer, manifest engine. Two modes: server (HTTP + supervisor threads) or CLI (direct calls, stdout, exit).

Svelte frontend -- SvelteKit with static adapter, @embedFile'd into the binary. Component UI modules (chat, monitor) loaded dynamically via Svelte 5 mount().

Manifest-driven -- each component publishes nullhub-manifest.json that describes installation, configuration, launch, health checks, wizard steps, and UI modules. NullHub is a generic engine that interprets manifests.

Storage -- all state lives under ~/.nullhub/ (config, instances, binaries, logs, cached manifests).

NullBoiler proxy -- requests to /api/nullboiler/* are reverse-proxied to NullBoiler's REST API via NULLBOILER_URL (e.g. http://localhost:8080) and optional NULLBOILER_TOKEN.

NullTickets store proxy -- requests to /api/nulltickets/store/* are proxied to NullTickets via NULLTICKETS_URL and optional NULLTICKETS_TOKEN.

NullWatch proxy -- requests to /api/nullwatch/* are reverse-proxied to the managed NullWatch instance installed in NullHub. NULLWATCH_URL can still override the target for an external NullWatch instance, and NULLWATCH_TOKEN overrides the managed instance token when set. The built-in NullWatch page uses this proxy to display run summaries, spans, evals, latency, cost, and failure context without sending data to hosted services.

Local NullWatch setup:

  1. Start NullHub:

    zig build run -- serve --no-open
  2. In the web UI, open Install Component, select NullWatch, keep or set the API port to 7710, and finish the wizard. The installer starts the NullWatch instance and the NullWatch proxy discovers it automatically.

Mission Control API -- requests to /api/mission-control/* drive a deterministic local replay scenario for the /mission-control page. It does not require hosted infrastructure or model secrets, and it hydrates with real NullBoiler workflow evidence and NullWatch trace detail when matching local instances are available. Responses include a schema version, scenario id, deterministic replay mode, controls, graph, timeline, telemetry, NullWatch-style run/span/eval trace references, and structured conflict errors for invalid actions. The scenario lives in a versioned embedded replay fixture at src/core/mission_control/code_red.v1.json; zig build test validates fixture schema, references, ordering, required phases, graph links, and telemetry phase coverage. Mission timeline trace links deep-link to /nullwatch?run_id=.... When a managed NullWatch instance is running, /mission-control hydrates the failure and recovery trace panels from live run detail through the NullWatch proxy and preserves the selected watch in trace links. When a managed NullBoiler instance has matching workflow evidence, the Mission Control API includes that instance name with real workflow run links and checkpoint metadata resolved through the NullBoiler proxy. GET /api/mission-control/replay exports the current snapshot, source fixture, the side-by-side failed/recovered replay artifact comparison once the recovered run completes, and ecosystem mapping metadata as a portable JSON artifact for debugging and review. POST /api/mission-control/replay/save stores that artifact under ~/.nullhub/mission-control/replays/; GET /api/mission-control/replays lists saved replay records and GET /api/mission-control/replays/{id} reads the durable artifact back.

Mission Control Replay

Start NullHub locally and open /mission-control:

zig build run -- serve --host 127.0.0.1 --port 19802 --no-open

The page provides Replay Mission, Reset, Launch Mission, and Fork From Checkpoint controls. Replay Mission runs the deterministic reset, launch, failure hold, checkpoint fork, and recovered replay sequence from one click. Timeline events include trace chips that map the replay back to local NullWatch-style run ids, span ids, operations, and eval keys. The page also includes phase milestones and a failed-vs-recovered replay artifact comparison panel.

Export the current replay artifact:

curl -fsS http://127.0.0.1:19802/api/mission-control/replay \
  -o mission-control-replay.json

The same export is available from the Save Replay button in Mission Control, which also writes a durable server-side copy. See docs/mission-control.md for the artifact shape and ecosystem mapping.

Run the live API smoke test against a started server:

NULLHUB_URL=http://127.0.0.1:19802 ./tests/test_mission_control_smoke.sh

Development

Testing strategy and roadmap live in TESTING.md.

Backend:

zig build test -Dembed-ui=false -Dbuild-ui=false --summary all
zig build test-integration -Dembed-ui=false -Dbuild-ui=false --summary all

Frontend:

cd ui && npm run dev

End-to-end:

./tests/test_e2e.sh
NULLHUB_URL=http://127.0.0.1:19802 ./tests/test_mission_control_smoke.sh

zig build test-integration runs structured backend HTTP integration tests against a real nullhub process started in a temporary home directory.

Tech Stack

  • Zig 0.16.0
  • Svelte 5 + SvelteKit (static adapter)
  • JSON over HTTP/1.1
  • SSE for instance log streaming
  • Poll-based NullBoiler run updates over the /api/nullboiler/runs/{id}/stream API

Project Layout

src/
  main.zig              # Entry: CLI dispatch or server start
  cli.zig               # CLI command parser & handlers
  server.zig            # HTTP server (API + static UI)
  auth.zig              # Optional bearer token auth
  api/                  # REST endpoints (components, instances, wizard, ...)
    nullboiler.zig      # Reverse proxy to NullBoiler workflow/run API
    nulltickets.zig     # Reverse proxy to NullTickets store API
    nullwatch.zig       # Reverse proxy to NullWatch tracing/eval API
    mission_control.zig # HTTP adapter for local mission replay commands
  core/                 # Manifest parser, state, platform, paths
    mission_control.zig # Local deterministic agent mission domain model
    mission_control_replay.zig # Typed replay fixture parser and validator
    mission_control/    # Embedded Mission Control replay fixtures
  installer/            # Download, build, UI module fetching
  supervisor/           # Process spawn, health checks, manager
ui/src/
  routes/               # SvelteKit pages
    nullboiler/         # NullBoiler pages (dashboard, workflows, runs)
    nulltickets/        # NullTickets pages (store)
    nullwatch/          # NullWatch Flight Recorder page
    mission-control/    # Local agent mission control room
  lib/components/       # Reusable Svelte components
    nullboiler/         # GraphViewer, StateInspector, RunEventLog, InterruptPanel,
                        # CheckpointTimeline, WorkflowJsonEditor, NodeCard, SendProgressBar
    nulltickets/        # NullTickets store selectors and controls
  lib/api/              # Typed API client
  lib/missionControl/   # Mission Control feature helpers
tests/
  test_e2e.sh           # End-to-end test script
docs/
  mission-control.md    # Mission Control replay and artifact contract
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 1

Releases and announcements

7 total
  1. v2026.5.29v2026.5.29May 29, 2026528 downloads

    ## What's Changed * v2026.4.17 by @DonPrus in https://github.com/nullclaw/nullhub/pull/29 * feat(server): configurable CORS origins for external hosts by @DonPrus in https://github.com/nullclaw/nullhub/pull/30 * feat(providers): add OpenAI-compatible provider support with base_url by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/33 * feat(providers): /models probe for custom endpoint validation by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/34 * fix(installer): skip re-download when release binary is already cached by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/36 * test(smoke): isolate E2E home and detect server exits by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/37 * docs(testing): add subsystem coverage map and roadmap by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/39 * build(test): make backend test entrypoint deterministic by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/40 * test(fixtures): add reusable temp paths helper by @vernonstinebaker in https://github.com/nullclaw/nullhub/pull/41 * test(server): cover mismatched persisted runtime cleanup by @vernonstinebaker in htt

  2. v2026.4.17v2026.4.17Apr 17, 2026577 downloads

    ## What's Changed * Add GitHub issue reporting flow to nullhub by @DonPrus in https://github.com/nullclaw/nullhub/pull/12 * Fix origin by @DonPrus in https://github.com/nullclaw/nullhub/pull/17 * fix(server): Windows socket read/write fails with GetLastError(87) by @TheRefreshCNFT in https://github.com/nullclaw/nullhub/pull/21 * Add nullclaw instance admin api and upgrade to zig 0.16 by @DonPrus in https://github.com/nullclaw/nullhub/pull/28 ## New Contributors * @TheRefreshCNFT made their first contribution in https://github.com/nullclaw/nullhub/pull/21 **Full Changelog**: https://github.com/nullclaw/nullhub/compare/v2026.3.21...v2026.4.17

  3. v2026.3.21v2026.3.21Mar 22, 2026465 downloads

    ## What's Changed * Orchestration UI: workflows, runs, streaming, and store management by @DonPrus in https://github.com/nullclaw/nullhub/pull/9 * Feat/orchestration by @DonPrus in https://github.com/nullclaw/nullhub/pull/10 * Feat/orchestration by @DonPrus in https://github.com/nullclaw/nullhub/pull/11 * fix(dockerfile): fix docker image serving 404 for all ui routes by @hfreire in https://github.com/nullclaw/nullhub/pull/16 ## New Contributors * @hfreire made their first contribution in https://github.com/nullclaw/nullhub/pull/16 **Full Changelog**: https://github.com/nullclaw/nullhub/compare/v2026.3.13...v2026.3.21

  4. v2026.3.13v2026.3.13Mar 13, 202662 downloads

    **Full Changelog**: https://github.com/nullclaw/nullhub/compare/v2026.3.12...v2026.3.13

  5. v2026.3.12v2026.3.12Mar 13, 202619 downloads

    ## What's Changed * feat: UX improvements across instance, channels, wizard, and install … by @DonPrus in https://github.com/nullclaw/nullhub/pull/5 * Feat/ux improvements by @DonPrus in https://github.com/nullclaw/nullhub/pull/6 * Use nullclaw for Codex provider wizard flow by @DonPrus in https://github.com/nullclaw/nullhub/pull/7 **Full Changelog**: https://github.com/nullclaw/nullhub/compare/v2026.3.11...v2026.3.12 ## What's Changed * feat: UX improvements across instance, channels, wizard, and install … by @DonPrus in https://github.com/nullclaw/nullhub/pull/5 * Feat/ux improvements by @DonPrus in https://github.com/nullclaw/nullhub/pull/6 * Use nullclaw for Codex provider wizard flow by @DonPrus in https://github.com/nullclaw/nullhub/pull/7 * v2026.3.12 by @DonPrus in https://github.com/nullclaw/nullhub/pull/8 **Full Changelog**: https://github.com/nullclaw/nullhub/compare/v2026.3.11...v2026.3.12 ## What's Changed * feat: UX improvements across instance, channels, wizard, and install … by @DonPrus in https://github.com/nullclaw/nullhub/pull/5 * Feat/ux improvements by @DonPrus in https://github.com/nullclaw/nullhub/pull/6 * Use nullclaw for Codex provider wizard flow by

Commits per week

last 52 weeks
980Week of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 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: 97 commitsWeek of 2026-03-08: 87 commitsWeek of 2026-03-15: 18 commitsWeek of 2026-03-22: 5 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 1 commitsWeek of 2026-04-12: 13 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 98 commitsWeek of 2026-05-10: 3 commitsWeek of 2026-05-17: 3 commitsWeek of 2026-05-24: 34 commitsWeek of 2026-05-31: 1 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsAug 9, 2025Aug 2, 2026
360 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 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 1 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 1 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 1 commitsSun 23:00 — 0 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 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 9 commitsMon 10:00 — 27 commitsMon 11:00 — 9 commitsMon 12:00 — 6 commitsMon 13:00 — 5 commitsMon 14:00 — 7 commitsMon 15:00 — 3 commitsMon 16:00 — 7 commitsMon 17:00 — 11 commitsMon 18:00 — 6 commitsMon 19:00 — 1 commitsMon 20:00 — 3 commitsMon 21:00 — 13 commitsMon 22:00 — 5 commitsMon 23:00 — 3 commitsTue 0:00 — 1 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 2 commitsTue 7:00 — 1 commitsTue 8:00 — 3 commitsTue 9:00 — 0 commitsTue 10:00 — 1 commitsTue 11:00 — 3 commitsTue 12:00 — 8 commitsTue 13:00 — 4 commitsTue 14:00 — 4 commitsTue 15:00 — 10 commitsTue 16:00 — 2 commitsTue 17:00 — 1 commitsTue 18:00 — 1 commitsTue 19:00 — 2 commitsTue 20:00 — 1 commitsTue 21:00 — 0 commitsTue 22:00 — 3 commitsTue 23:00 — 2 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 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 1 commitsWed 11:00 — 11 commitsWed 12:00 — 6 commitsWed 13:00 — 10 commitsWed 14:00 — 3 commitsWed 15:00 — 6 commitsWed 16:00 — 0 commitsWed 17:00 — 6 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 4 commitsWed 21:00 — 15 commitsWed 22:00 — 9 commitsWed 23:00 — 3 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 2 commitsThu 9:00 — 3 commitsThu 10:00 — 2 commitsThu 11:00 — 14 commitsThu 12:00 — 4 commitsThu 13:00 — 0 commitsThu 14:00 — 3 commitsThu 15:00 — 7 commitsThu 16:00 — 4 commitsThu 17:00 — 1 commitsThu 18:00 — 1 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 3 commitsThu 23:00 — 11 commitsFri 0:00 — 2 commitsFri 1:00 — 7 commitsFri 2:00 — 1 commitsFri 3:00 — 1 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 2 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 1 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 1 commitsFri 18:00 — 0 commitsFri 19:00 — 3 commitsFri 20:00 — 4 commitsFri 21:00 — 5 commitsFri 22:00 — 9 commitsFri 23:00 — 1 commitsSat 0:00 — 0 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 1 commitsSat 8:00 — 5 commitsSat 9:00 — 6 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 1 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 2 commitsSat 18:00 — 3 commitsSat 19:00 — 1 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 7 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 19, 2026daily#10+6
  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    268.6K stars · Shell

  • NousResearch/hermes-agent

    The agent that grows with you

    227K stars · Python