Crosstalk-Solutions/project-nomadPublic

Project NOMAD is an offline-first knowledge and education server. Wikipedia, thousands of books, courses, maps, and optional local AI, all running on hardware you own with no internet required.

AI summary: A self-contained, offline-first knowledge and education server packed with tools and local AI.

Stars
35.5K
+77 today
Forks
3.6K
Watchers
207
Open issues
47
Open PRs
31
Contributors
~37
Commits
748
Branches
36

TypeScriptApache-2.0Created Jun 24, 2025Last push 2d agoLatest release v1.34.0+413 stars this week+416 this month

Star history

since Jan 11, 2026
010K20K30KJan 2026Mar 2026May 2026Aug 2026
35.5K stars as of Aug 6, 2026, tracked back to Jan 11, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

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

Signals and awards

derived from tracked data
  • Widely adopted

    35,536 stars

  • Very active

    735 commits in 52 weeks

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

  • Repeat trending

    9 trending appearances

What project-nomad does

Project NOMAD transforms any Debian-based device into a robust, offline-capable digital survival computer. It orchestrates a suite of containerized tools via a management UI, providing access to local AI chat, offline Wikipedia, medical references, and educational courses without internet connectivity. The platform manages the installation, configuration, and automatic updates of these resources via Docker. It is designed to empower users with critical information and utilities in off-grid or low-connectivity environments.

Preppers, educators in remote areas, privacy advocates, and homelab enthusiasts looking to build an independent, offline knowledge base.

  • Offline Information Library: Serves Wikipedia, medical guides, and ebooks entirely offline using Kiwix.
  • Local AI Chat: Integrates with Ollama and Qdrant to provide conversational AI and document search without cloud APIs.
  • Education Platform: Hosts Khan Academy courses with multi-user progress tracking via Kolibri.
  • Offline Mapping: Provides downloadable, searchable regional maps through the ProtoMaps integration.
  • App Supply Depot: Features a one-click catalog to install additional data tools like CyberChef and FlatNotes.

Where teams use it

Off-Grid Survival

Preppers and outdoor enthusiasts deploy it on rugged hardware to ensure access to critical medical and survival guides.

Remote Education

Educators in low-bandwidth areas use it to serve Khan Academy courses to students on local networks.

Private AI Research

Privacy-conscious individuals use the local AI assistant to query personal documents without sending data to the cloud.

Homelab Centralization

Enthusiasts use the Command Center to easily manage a curated suite of offline utilities and custom Docker containers.

Getting started: sudo apt-get update && sudo apt-get install -y curl && curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/install_nomad.sh -o install_nomad.sh && sudo bash install_nomad.sh

README

main branch

Project NOMAD

Knowledge That Never Goes Offline

Website Discord Benchmark


Project NOMAD is a self-contained, offline-first knowledge and education server packed with critical tools, knowledge, and AI to keep you informed and empowered — anytime, anywhere.

Installation & Quickstart

Project NOMAD can be installed on any Debian-based operating system (we recommend Ubuntu 26.04 LTS; 24.04 LTS and Debian 12 are also supported). Installation is completely terminal-based, and all tools and resources are designed to be accessed through the browser, so there's no need for a desktop environment if you'd rather setup NOMAD as a "server" and access it through other clients.

Note: sudo/root privileges are required to run the install script

Quick Install (Debian-based OS Only)

sudo apt-get update && \
sudo apt-get install -y curl && \
curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/install_nomad.sh \
  -o install_nomad.sh && \
sudo bash install_nomad.sh

Project NOMAD is now installed on your device! Open a browser and navigate to http://localhost:8080 (or http://DEVICE_IP:8080) to start exploring!

For a complete step-by-step walkthrough (including Ubuntu installation), see the Installation Guide. For Windows users, see the WSL2 install guide — community-supported path covering native Docker and Docker Desktop install routes.

Advanced Installation

For more control over the installation process, copy and paste the Docker Compose template into a docker-compose.yml file and customize it to your liking (be sure to replace any placeholders with your actual values). Then, run docker compose up -d to start the Command Center and its dependencies. Note: this method is recommended for advanced users only, as it requires familiarity with Docker and manual configuration before starting.

How It Works

NOMAD is a management UI ("Command Center") and API that orchestrates a collection of containerized tools and resources via Docker. It handles installation, configuration, and updates for everything — so you don't have to.

Built-in capabilities include:

  • AI Chat with Knowledge Base — local AI chat powered by Ollama or you can use OpenAI API compatible software such as LM Studio or llama.cpp, with document upload and semantic search (RAG via Qdrant)
  • Information Library — offline Wikipedia, medical references, ebooks, and more via Kiwix
  • Education Platform — Khan Academy courses with progress tracking via Kolibri
  • Offline Maps — downloadable regional maps via ProtoMaps
  • Data Tools — encryption, encoding, and analysis via CyberChef
  • Notes — local note-taking via FlatNotes
  • System Benchmark — hardware scoring with a community leaderboard
  • Supply Depot — a one-click app catalog (PDF tools, file browser, e-book library, password manager, and more) plus the ability to run your own custom Docker containers
  • Automatic Updates — opt-in, hands-off updates for the core software, installed apps, and offline content, on a schedule you control
  • Easy Setup Wizard — guided first-time configuration with curated content collections

NOMAD also includes built-in tools like a Wikipedia content selector, ZIM library manager, and content explorer.

What's Included

Capability Powered By What You Get
Information Library Kiwix Offline Wikipedia, medical references, survival guides, ebooks
AI Assistant Ollama + Qdrant Built-in chat with document upload and semantic search
Education Platform Kolibri Khan Academy courses, progress tracking, multi-user support
Offline Maps ProtoMaps Downloadable regional maps for offline viewing and search
Data Tools CyberChef Encryption, encoding, hashing, and data analysis
Notes FlatNotes Local note-taking with markdown support
System Benchmark Built-in Hardware scoring, Builder Tags, and community leaderboard
Supply Depot Built-in One-click app catalog + bring-your-own custom Docker containers

Device Requirements

While many similar offline survival computers are designed to be run on bare-minimum, lightweight hardware, Project NOMAD is quite the opposite. To install and run the available AI tools, we highly encourage the use of a beefy, GPU-backed device to make the most of your install.

At its core, however, NOMAD is still very lightweight. For a barebones installation of the management application itself, the following minimal specs are required:

Note: Project NOMAD is not sponsored by any hardware manufacturer and is designed to be as hardware-agnostic as possible. The hardware listed below is for example/comparison use only

Minimum Specs

  • Processor: 2 GHz dual-core processor or better
  • RAM: 4GB system memory
  • Storage: At least 5 GB free disk space
  • OS: Debian-based (Ubuntu 26.04 LTS recommended)
  • Stable internet connection (required during install only)

To run LLMs and other included AI tools:

Optimal Specs

  • Processor: AMD Ryzen 7 or Intel Core i7 or better
  • RAM: 32 GB system memory
  • Graphics: NVIDIA RTX 3060 or AMD equivalent or better (more VRAM = run larger models)
  • Storage: At least 250 GB free disk space (preferably on SSD)
  • OS: Debian-based (Ubuntu 26.04 LTS recommended)
  • Stable internet connection (required during install only)

For detailed build recommendations at three price points ($150–$1,000+), see the Hardware Guide.

Again, Project NOMAD itself is quite lightweight — it's the tools and resources you choose to install with NOMAD that will determine the specs required for your unique deployment

Running AI models on a different host

By default, NOMAD's installer will attempt to setup Ollama on the host when the AI Assistant is installed. However, if you would like to run the AI model on a different host, you can go to the settings of the AI assistant and input a URL for either an ollama or OpenAI-compatible API server (such as LM Studio).
Note that if you use Ollama on a different host, you must start the server with this option: OLLAMA_HOST=0.0.0.0.
Ollama is the preferred way to use the AI assistant, as it has features such as model download that OpenAI API does not support. So when using LM Studio, for example, you will have to use LM Studio to download models. You are responsible for the setup of Ollama/OpenAI server on the other host.

Frequently Asked Questions (FAQ)

For answers to common questions about Project NOMAD, please see our FAQ page.

About Internet Usage & Privacy

Project NOMAD is designed for offline usage. An internet connection is only required during the initial installation (to download dependencies) and if you (the user) decide to download additional tools and resources at a later time. Otherwise, NOMAD does not require an internet connection and has ZERO built-in telemetry.

To test internet connectivity, NOMAD first attempts to make a request to Cloudflare's utility endpoint, https://1.1.1.1/cdn-cgi/trace. If that endpoint is unreachable (for example, because your network blocks 1.1.1.1), it falls back to other endpoints the application already contacts (the GitHub API and the Project NOMAD API) and considers the connection online if any of them respond.

You can override the endpoint used for this check in two ways. The connectivity test URL can be configured from the UI under Settings → Advanced (stored locally on your instance), or you can set the INTERNET_STATUS_TEST_URL environment variable. When set, the environment variable always takes precedence over the UI-configured value. If neither is set, the built-in defaults above are used.

About Security

By design, Project NOMAD is intended to be open and available without hurdles — it includes no authentication. If you decide to connect your device to a local network after install (e.g. for allowing other devices to access its resources), you can block/open ports to control which services are exposed.

Will authentication be added in the future? Maybe. It's not currently a priority, but if there's enough demand for it, we may consider building in an optional authentication layer in a future release to support use cases where multiple users need access to the same instance but with different permission levels (e.g. family use with parental controls, classroom use with teacher/admin accounts, etc.). We have a suggestion for this on our public roadmap, so if this is something you'd like to see, please upvote it here: https://roadmap.projectnomad.us/posts/1/user-authentication-please-build-in-user-auth-with-admin-user-roles

For now, we recommend using network-level controls to manage access if you're planning to expose your NOMAD instance to other devices on a local network. NOMAD is not designed to be exposed directly to the internet, and we strongly advise against doing so unless you really know what you're doing, have taken appropriate security measures, and understand the risks involved.

Contributing

Contributions are welcome and appreciated! Please see CONTRIBUTING.md for guidelines on how to contribute to the project.

Testing Auto-Updates (Dry Run)

The Command Center can automatically install minor/patch updates of itself during a configurable window, after a cool-off period, and only when pre-flight checks pass (sufficient disk for the new image, no downloads or app installs in progress). Major versions always require a manual update.

Because exercising this logic with real version bumps is impractical, an Ace command runs the entire decision pipeline without ever triggering an update. Run it from the admin/ directory:

# 1) Deterministic scenario suite — no network, DB, or Docker required.
#    Proves every branch (major-only, cool-off, prerelease/draft, window wrap, …)
#    and exits non-zero on failure, so it's safe to wire into CI.
node ace auto-update:dry-run --scenarios

# 2) Simulate "what would happen if I were running 1.32.0 right now?"
#    against the LIVE GitHub releases feed and real pre-flight checks:
node ace auto-update:dry-run --current=1.32.0 --force-enabled

# 3) Fully offline simulation with a canned release list and a fixed clock:
node ace auto-update:dry-run --current=1.32.0 --force-enabled \
  --releases-file=./fixtures/releases.json --now=2026-06-04T21:00:00Z \
  --window-start=20:00 --window-end=23:00 --cooloff=72 --skip-preflight

It prints the resolved decision — current version, whether the clock is inside the window, the eligible target (if any), and pre-flight blockers — ending in a clear verdict such as WOULD UPDATE → v1.33.2 or WOULD NOT UPDATE (outside-window): …. No real update is ever requested.

Flag Description
--scenarios Run the built-in deterministic scenario suite and exit
--current=<version> Simulate this currently-running version (e.g. 1.32.0)
--force-enabled Treat auto-update as enabled, ignoring the saved setting
--cooloff=<hours> Override the cool-off period
--window-start=<HH:MM> / --window-end=<HH:MM> Override the update window
--now=<ISO timestamp> Simulate the clock at a specific time
--releases-file=<path> Use a local JSON releases array instead of fetching GitHub (offline)
--skip-preflight Bypass the Docker/disk/queue pre-flight checks

Community & Resources

License

Project NOMAD is licensed under the Apache License 2.0.

Helper Scripts

Once installed, Project NOMAD has a few helper scripts should you ever need to troubleshoot issues or perform maintenance that can't be done through the Command Center. All of these scripts are found in Project NOMAD's install directory, /opt/project-nomad

Start Script - Starts all installed project containers
sudo bash /opt/project-nomad/start_nomad.sh

Stop Script - Stops all installed project containers
sudo bash /opt/project-nomad/stop_nomad.sh

Update Script - Attempts to pull the latest images for the Command Center and its dependencies (i.e. mysql) and recreate the containers. Note: this only updates the Command Center containers. It does not update the installable application containers - that should be done through the Command Center UI
sudo bash /opt/project-nomad/update_nomad.sh
Uninstall Script - Need to start fresh? Use the uninstall script to make your life easy. Note: this cannot be undone!
curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/uninstall_nomad.sh -o uninstall_nomad.sh && sudo bash uninstall_nomad.sh
View on GitHub

Recent activity

commits and pull requests

Releases and announcements

76 total
  1. v1.34.0v1.34.0Aug 4, 2026

    ## Version 1.34.0 - August 4, 2026 ### Features - **AI**: nomad.md for custom instructions (#1127). Thanks @jakeaturner for the contribution! - **AI**: per-model thinking toggle with global default (off) (#1079). Thanks @chriscrosstalk for the contribution! - **API Documentation**: Auto-generating OpenAPI docs with Scalar UI (#1128). Thanks @jakeaturner for the contribution! - **Benchmark**: official multi-arch sysbench, resolved digest, platform metadata (#1158). Thanks @chriscrosstalk for the contribution! - **Benchmark**: lock Score v2 AI reference to 13.2 (measured, was placeholder) (#1097). Thanks @chriscrosstalk for the contribution! - **Benchmark**: dashboard re-run banner prompting a Score v2 re-run (#1096). Thanks @chriscrosstalk for the contribution! - **Benchmark**: Score v2 app client — raws, uncapped score, v2 payload + UI. Thanks @chriscrosstalk for the contribution! - **Benchmark**: harness hardening — fail loudly + pin sysbench + record provenance (#1089). Thanks @chriscrosstalk for the contribution! - **Benchmark**: end-of-run score reveal + NVIDIA GPU-util overlay (#1087). Thanks @chriscrosstalk for the contribution! - **Benchmark**: authoritative in-test sysbenc

  2. v1.34.0-rc.4v1.34.0-rc.4Aug 2, 2026pre-release

    # [1.34.0-rc.4](https://github.com/Crosstalk-Solutions/project-nomad/compare/v1.34.0-rc.3...v1.34.0-rc.4) (2026-08-02) ### Bug Fixes * **benchmark:** don't block submission when the AI host is this machine ([#1166](https://github.com/Crosstalk-Solutions/project-nomad/issues/1166)) ([bb17ad7](https://github.com/Crosstalk-Solutions/project-nomad/commit/bb17ad73141c250dac705cd90f41319012cbaf6f)), closes [#1157](https://github.com/Crosstalk-Solutions/project-nomad/issues/1157) * **benchmark:** don't submit unresolved PCI ids as the GPU model ([#1165](https://github.com/Crosstalk-Solutions/project-nomad/issues/1165)) ([fe2d070](https://github.com/Crosstalk-Solutions/project-nomad/commit/fe2d070a2a44e29868e279f8b3e4cd582189f7ab)) * **benchmark:** name the fix in the remote-host block, log warm-up failures ([#1164](https://github.com/Crosstalk-Solutions/project-nomad/issues/1164)) ([a0d36e0](https://github.com/Crosstalk-Solutions/project-nomad/commit/a0d36e0ca24083cc4af3ba964366142a4174b9d2)) * **chat:** open full chat in place instead of a new window ([#1181](https://github.com/Crosstalk-Solutions/project-nomad/issues/1181)) ([f7e7ac0](https://github.com/Crosstalk-Solutions/project-no

  3. v1.34.0-rc.3v1.34.0-rc.3Jul 27, 2026pre-release

    # [1.34.0-rc.3](https://github.com/Crosstalk-Solutions/project-nomad/compare/v1.34.0-rc.2...v1.34.0-rc.3) (2026-07-27) ### Bug Fixes * **benchmark:** block leaderboard submission when AI runs on a remote host ([#1157](https://github.com/Crosstalk-Solutions/project-nomad/issues/1157)) ([d1535d1](https://github.com/Crosstalk-Solutions/project-nomad/commit/d1535d17b9e1ba392bfeedefa47a46ab0dd0d797)), closes [#1151](https://github.com/Crosstalk-Solutions/project-nomad/issues/1151) * **benchmark:** remove stale progress setter ([#1136](https://github.com/Crosstalk-Solutions/project-nomad/issues/1136)) ([25fc4ad](https://github.com/Crosstalk-Solutions/project-nomad/commit/25fc4adda6367abf13b494b248f9d4752203a741)) * **benchmark:** surface a clear reason when leaderboard submission fails ([#1138](https://github.com/Crosstalk-Solutions/project-nomad/issues/1138)) ([cf6d686](https://github.com/Crosstalk-Solutions/project-nomad/commit/cf6d686fecfa3f0eae22eeb54de8f254da5f5aad)) * **benchmark:** warm the AI model before timed runs for reproducible scores ([#1140](https://github.com/Crosstalk-Solutions/project-nomad/issues/1140)) ([5afb4ba](https://github.com/Crosstalk-Solutions/project-nomad

  4. v1.34.0-rc.2v1.34.0-rc.2Jul 22, 2026pre-release

    # [1.34.0-rc.2](https://github.com/Crosstalk-Solutions/project-nomad/compare/v1.34.0-rc.1...v1.34.0-rc.2) (2026-07-22) ### Bug Fixes * **amd:** coerce gfx1103 (780M) to HSA_OVERRIDE 11.0.0 so it stays on GPU ([#1134](https://github.com/Crosstalk-Solutions/project-nomad/issues/1134)) ([c37496b](https://github.com/Crosstalk-Solutions/project-nomad/commit/c37496bd47ec230f777b169c2bfb00b23ea012b1)), closes [#1076](https://github.com/Crosstalk-Solutions/project-nomad/issues/1076) * **rag:** stop re-creating payload indexes on every embedded document ([#1135](https://github.com/Crosstalk-Solutions/project-nomad/issues/1135)) ([93c5a8b](https://github.com/Crosstalk-Solutions/project-nomad/commit/93c5a8b17657c2c71ac30f6bb793301391d07ce7)), closes [#1129](https://github.com/Crosstalk-Solutions/project-nomad/issues/1129)

  5. v1.34.0-rc.1v1.34.0-rc.1Jul 21, 2026pre-release

    # [1.34.0-rc.1](https://github.com/Crosstalk-Solutions/project-nomad/compare/v1.33.0...v1.34.0-rc.1) (2026-07-21) ### Bug Fixes * **AI:** set OLLAMA_IGPU_ENABLE on AMD provisioning so iGPUs are used ([#1074](https://github.com/Crosstalk-Solutions/project-nomad/issues/1074)) ([60fffda](https://github.com/Crosstalk-Solutions/project-nomad/commit/60fffdab825180a09b557f8fcbd13bff8cdec05a)) * **AI:** stop forcing HSA_OVERRIDE=11.0.0 on natively-supported AMD iGPUs ([#1076](https://github.com/Crosstalk-Solutions/project-nomad/issues/1076)) ([6b29465](https://github.com/Crosstalk-Solutions/project-nomad/commit/6b294657accae2e4c86d32c47e664fbef97dd589)), closes [#1056](https://github.com/Crosstalk-Solutions/project-nomad/issues/1056) * **AI:** stream thinking from /v1 reasoning field + abort on client disconnect ([#1078](https://github.com/Crosstalk-Solutions/project-nomad/issues/1078)) ([166247c](https://github.com/Crosstalk-Solutions/project-nomad/commit/166247c284979b4d5e3dfaf4a180bd133176a293)) * **benchmark:** partial runs are not the NOMAD Score (relabel + renormalize) ([#1088](https://github.com/Crosstalk-Solutions/project-nomad/issues/1088)) ([39d0acb](https://github.com/Crossta

Code frequency

additions and deletions
+8.3K-8.3KWeek of 2025-08-03: +653 linesWeek of 2025-08-03: -74 linesWeek of 2025-08-10: +491 linesWeek of 2025-08-10: -64 linesWeek of 2025-08-17: +445 linesWeek of 2025-08-17: -450 linesWeek of 2025-08-24: +0 linesWeek of 2025-08-24: -0 linesWeek of 2025-08-31: +1 linesWeek of 2025-08-31: -1 linesWeek of 2025-09-07: +0 linesWeek of 2025-09-07: -0 linesWeek of 2025-09-14: +0 linesWeek of 2025-09-14: -0 linesWeek of 2025-09-21: +0 linesWeek of 2025-09-21: -0 linesWeek of 2025-09-28: +120 linesWeek of 2025-09-28: -17 linesWeek of 2025-10-05: +206 linesWeek of 2025-10-05: -111 linesWeek of 2025-10-12: +0 linesWeek of 2025-10-12: -0 linesWeek of 2025-10-19: +0 linesWeek of 2025-10-19: -0 linesWeek of 2025-10-26: +66 linesWeek of 2025-10-26: -12 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +0 linesWeek of 2025-11-09: -0 linesWeek of 2025-11-16: +272 linesWeek of 2025-11-16: -149 linesWeek of 2025-11-23: +0 linesWeek of 2025-11-23: -0 linesWeek of 2025-11-30: +5,731 linesWeek of 2025-11-30: -1,736 linesWeek of 2025-12-07: +257 linesWeek of 2025-12-07: -128 linesWeek of 2025-12-14: +434 linesWeek of 2025-12-14: -12 linesWeek of 2025-12-21: +840 linesWeek of 2025-12-21: -290 linesWeek of 2025-12-28: +50 linesWeek of 2025-12-28: -43 linesWeek of 2026-01-04: +0 linesWeek of 2026-01-04: -0 linesWeek of 2026-01-11: +2,319 linesWeek of 2026-01-11: -330 linesWeek of 2026-01-18: +7,369 linesWeek of 2026-01-18: -976 linesWeek of 2026-01-25: +8,336 linesWeek of 2026-01-25: -1,703 linesWeek of 2026-02-01: +5,924 linesWeek of 2026-02-01: -3,262 linesWeek of 2026-02-08: +5,360 linesWeek of 2026-02-08: -1,544 linesWeek of 2026-02-15: +393 linesWeek of 2026-02-15: -105 linesWeek of 2026-02-22: +293 linesWeek of 2026-02-22: -120 linesWeek of 2026-03-01: +1,513 linesWeek of 2026-03-01: -600 linesWeek of 2026-03-08: +3,281 linesWeek of 2026-03-08: -300 linesWeek of 2026-03-15: +1,797 linesWeek of 2026-03-15: -982 linesWeek of 2026-03-22: +323 linesWeek of 2026-03-22: -169 linesWeek of 2026-03-29: +4,259 linesWeek of 2026-03-29: -689 linesWeek of 2026-04-05: +55 linesWeek of 2026-04-05: -20 linesWeek of 2026-04-12: +832 linesWeek of 2026-04-12: -252 linesWeek of 2026-04-19: +724 linesWeek of 2026-04-19: -124 linesWeek of 2026-04-26: +711 linesWeek of 2026-04-26: -166 linesWeek of 2026-05-03: +3,315 linesWeek of 2026-05-03: -431 linesWeek of 2026-05-10: +3,507 linesWeek of 2026-05-10: -300 linesWeek of 2026-05-17: +1,473 linesWeek of 2026-05-17: -557 linesWeek of 2026-05-24: +3,798 linesWeek of 2026-05-24: -349 linesWeek of 2026-05-31: +3,356 linesWeek of 2026-05-31: -128 linesWeek of 2026-06-07: +6,898 linesWeek of 2026-06-07: -2,100 linesWeek of 2026-06-14: +841 linesWeek of 2026-06-14: -115 linesWeek of 2026-06-21: +411 linesWeek of 2026-06-21: -82 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +38 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesAug 3, 2025Jul 26, 2026
+76.7K lines added, -18.5K removed over the last year.

Commits per week

last 52 weeks
490Week of 2025-08-10: 1 commitsWeek of 2025-08-17: 8 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 1 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 3 commitsWeek of 2025-10-05: 12 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 2 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 10 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 22 commitsWeek of 2025-12-07: 7 commitsWeek of 2025-12-14: 3 commitsWeek of 2025-12-21: 7 commitsWeek of 2025-12-28: 2 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 31 commitsWeek of 2026-01-18: 44 commitsWeek of 2026-01-25: 19 commitsWeek of 2026-02-01: 49 commitsWeek of 2026-02-08: 32 commitsWeek of 2026-02-15: 18 commitsWeek of 2026-02-22: 6 commitsWeek of 2026-03-01: 25 commitsWeek of 2026-03-08: 36 commitsWeek of 2026-03-15: 48 commitsWeek of 2026-03-22: 25 commitsWeek of 2026-03-29: 43 commitsWeek of 2026-04-05: 2 commitsWeek of 2026-04-12: 15 commitsWeek of 2026-04-19: 13 commitsWeek of 2026-04-26: 12 commitsWeek of 2026-05-03: 17 commitsWeek of 2026-05-10: 29 commitsWeek of 2026-05-17: 23 commitsWeek of 2026-05-24: 12 commitsWeek of 2026-05-31: 20 commitsWeek of 2026-06-07: 23 commitsWeek of 2026-06-14: 10 commitsWeek of 2026-06-21: 16 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 1 commitsWeek of 2026-07-12: 11 commitsWeek of 2026-07-19: 48 commitsWeek of 2026-07-26: 11 commitsWeek of 2026-08-02: 18 commitsAug 10, 2025Aug 2, 2026
735 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 6 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 3 commitsSun 4:00 — 4 commitsSun 5:00 — 3 commitsSun 6:00 — 4 commitsSun 7:00 — 1 commitsSun 8:00 — 4 commitsSun 9:00 — 1 commitsSun 10:00 — 1 commitsSun 11:00 — 3 commitsSun 12:00 — 6 commitsSun 13:00 — 7 commitsSun 14:00 — 13 commitsSun 15:00 — 8 commitsSun 16:00 — 14 commitsSun 17:00 — 6 commitsSun 18:00 — 0 commitsSun 19:00 — 2 commitsSun 20:00 — 1 commitsSun 21:00 — 6 commitsSun 22:00 — 2 commitsSun 23:00 — 5 commitsMon 0:00 — 12 commitsMon 1:00 — 3 commitsMon 2:00 — 0 commitsMon 3:00 — 2 commitsMon 4:00 — 2 commitsMon 5:00 — 8 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 6 commitsMon 10:00 — 8 commitsMon 11:00 — 2 commitsMon 12:00 — 2 commitsMon 13:00 — 4 commitsMon 14:00 — 5 commitsMon 15:00 — 10 commitsMon 16:00 — 8 commitsMon 17:00 — 5 commitsMon 18:00 — 9 commitsMon 19:00 — 8 commitsMon 20:00 — 3 commitsMon 21:00 — 9 commitsMon 22:00 — 3 commitsMon 23:00 — 5 commitsTue 0:00 — 4 commitsTue 1:00 — 1 commitsTue 2:00 — 2 commitsTue 3:00 — 4 commitsTue 4:00 — 5 commitsTue 5:00 — 2 commitsTue 6:00 — 7 commitsTue 7:00 — 1 commitsTue 8:00 — 5 commitsTue 9:00 — 3 commitsTue 10:00 — 3 commitsTue 11:00 — 3 commitsTue 12:00 — 4 commitsTue 13:00 — 1 commitsTue 14:00 — 4 commitsTue 15:00 — 5 commitsTue 16:00 — 7 commitsTue 17:00 — 10 commitsTue 18:00 — 9 commitsTue 19:00 — 5 commitsTue 20:00 — 5 commitsTue 21:00 — 3 commitsTue 22:00 — 7 commitsTue 23:00 — 9 commitsWed 0:00 — 5 commitsWed 1:00 — 1 commitsWed 2:00 — 2 commitsWed 3:00 — 1 commitsWed 4:00 — 4 commitsWed 5:00 — 6 commitsWed 6:00 — 3 commitsWed 7:00 — 4 commitsWed 8:00 — 2 commitsWed 9:00 — 3 commitsWed 10:00 — 6 commitsWed 11:00 — 8 commitsWed 12:00 — 3 commitsWed 13:00 — 2 commitsWed 14:00 — 9 commitsWed 15:00 — 10 commitsWed 16:00 — 15 commitsWed 17:00 — 10 commitsWed 18:00 — 2 commitsWed 19:00 — 1 commitsWed 20:00 — 13 commitsWed 21:00 — 18 commitsWed 22:00 — 21 commitsWed 23:00 — 11 commitsThu 0:00 — 4 commitsThu 1:00 — 0 commitsThu 2:00 — 2 commitsThu 3:00 — 1 commitsThu 4:00 — 6 commitsThu 5:00 — 7 commitsThu 6:00 — 10 commitsThu 7:00 — 0 commitsThu 8:00 — 1 commitsThu 9:00 — 4 commitsThu 10:00 — 2 commitsThu 11:00 — 1 commitsThu 12:00 — 7 commitsThu 13:00 — 0 commitsThu 14:00 — 5 commitsThu 15:00 — 2 commitsThu 16:00 — 13 commitsThu 17:00 — 2 commitsThu 18:00 — 2 commitsThu 19:00 — 3 commitsThu 20:00 — 3 commitsThu 21:00 — 7 commitsThu 22:00 — 12 commitsThu 23:00 — 6 commitsFri 0:00 — 1 commitsFri 1:00 — 0 commitsFri 2:00 — 3 commitsFri 3:00 — 3 commitsFri 4:00 — 2 commitsFri 5:00 — 5 commitsFri 6:00 — 4 commitsFri 7:00 — 3 commitsFri 8:00 — 2 commitsFri 9:00 — 4 commitsFri 10:00 — 2 commitsFri 11:00 — 4 commitsFri 12:00 — 3 commitsFri 13:00 — 7 commitsFri 14:00 — 10 commitsFri 15:00 — 10 commitsFri 16:00 — 6 commitsFri 17:00 — 6 commitsFri 18:00 — 13 commitsFri 19:00 — 7 commitsFri 20:00 — 6 commitsFri 21:00 — 6 commitsFri 22:00 — 8 commitsFri 23:00 — 4 commitsSat 0:00 — 1 commitsSat 1:00 — 0 commitsSat 2:00 — 1 commitsSat 3:00 — 2 commitsSat 4:00 — 1 commitsSat 5:00 — 0 commitsSat 6:00 — 1 commitsSat 7:00 — 0 commitsSat 8:00 — 1 commitsSat 9:00 — 4 commitsSat 10:00 — 3 commitsSat 11:00 — 2 commitsSat 12:00 — 7 commitsSat 13:00 — 1 commitsSat 14:00 — 0 commitsSat 15:00 — 3 commitsSat 16:00 — 2 commitsSat 17:00 — 2 commitsSat 18:00 — 3 commitsSat 19:00 — 1 commitsSat 20:00 — 2 commitsSat 21:00 — 2 commitsSat 22:00 — 2 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Mar 28, 2026daily#24+107
Mar 27, 2026daily#17+90
Mar 26, 2026daily#14+95
Mar 25, 2026daily#11+148
Mar 24, 2026daily#10+240
Mar 23, 2026daily#4+405
Mar 22, 2026daily#2+801
Mar 21, 2026daily#5+478
Mar 20, 2026daily#10+230
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    453.6K stars · TypeScript

  • 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

  • anomalyco/opencode

    The open source coding agent.

    194.7K stars · TypeScript