rasbt/LLMs-from-scratchPublic

Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

AI summary: Educational guide and code for building, training, and fine-tuning a Large Language Model from the ground up.

Stars
106K
+50 today
Forks
16.3K
Watchers
861
Open issues
3
Open PRs
0
Contributors
~72
Commits
1.1K
Branches
15

Jupyter NotebookOtherCreated Jul 23, 2023Last push 2d ago+342 stars this week+1.7K this month

Quick answers

What is LLMs-from-scratch?
Educational guide and code for building, training, and fine-tuning a Large Language Model from the ground up.
What does LLMs-from-scratch do?
This project provides a comprehensive, step-by-step implementation of a Large Language Model (LLM) similar to GPT, built entirely from scratch. It walks through the fundamental concepts of natural language processing and neural network architecture without relying on high-level abstractions or pre-built model libraries. The code covers the entire lifecycle of an LLM: from data tokenization and building the core transformer architecture, to pretraining on text corpora and fine-tuning for specific tasks like instruction following. It demystifies the inner workings of modern AI models by translating theoretical concepts into readable, executable Python code.
Who is LLMs-from-scratch for?
Machine learning students, AI researchers, and software engineers who want a deep, foundational understanding of LLM architecture. It requires basic knowledge of Python and neural network concepts.
How do I get started with LLMs-from-scratch?
Read the accompanying book or follow the Jupyter notebooks in the repository.
How popular is LLMs-from-scratch on GitHub?
rasbt/LLMs-from-scratch has 106,008 stars and 16,306 forks on GitHub, and gained 342 stars in the last 7 days.
What license does LLMs-from-scratch use?
rasbt/LLMs-from-scratch is released under the Other license.

Star history

since Jul 23, 2023
050K100KJul 2023Aug 2024Sep 2025Oct 2026
106K stars as of Oct 4, 2026. Before Jul 29, 2026, reconstructed from public GitHub event archives (checked against the repository's real star total); since then measured daily.

Contribution activity

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

Signals and awards

derived from tracked data
  • Landmark project

    106,008 stars

  • Top 10% tracked

    Rank 65 of 1135

What LLMs-from-scratch does

This project provides a comprehensive, step-by-step implementation of a Large Language Model (LLM) similar to GPT, built entirely from scratch. It walks through the fundamental concepts of natural language processing and neural network architecture without relying on high-level abstractions or pre-built model libraries. The code covers the entire lifecycle of an LLM: from data tokenization and building the core transformer architecture, to pretraining on text corpora and fine-tuning for specific tasks like instruction following. It demystifies the inner workings of modern AI models by translating theoretical concepts into readable, executable Python code.

Machine learning students, AI researchers, and software engineers who want a deep, foundational understanding of LLM architecture. It requires basic knowledge of Python and neural network concepts.

  • From-Scratch Implementation: Builds a functional transformer-based LLM without relying on complex external AI libraries.
  • Step-by-step Progression: Structures code to incrementally build capabilities from tokenization to full instruction tuning.
  • Transformer Architecture Core: Implements the exact self-attention mechanisms and feed-forward layers that power modern LLMs.
  • Pretraining Pipeline: Includes code for unsupervised learning on raw text to develop foundational language understanding.
  • Instruction Fine-Tuning: Demonstrates how to adapt a base model to follow user commands and answer questions.

Where teams use it

Deep Learning Education

Learn the exact mathematical and programmatic mechanics of how Large Language Models function under the hood.

Custom Model Prototyping

Use the clean, minimal implementation as a starting point to experiment with novel transformer architectures.

Offline AI Development

Train and experiment with small-scale language models locally without needing massive cloud infrastructure.

AI Capability Auditing

Understand model limitations and behaviors by inspecting the raw code that governs their attention and generation.

Getting started: Read the accompanying book or follow the Jupyter notebooks in the repository.

README

main branch

Build a Large Language Model (From Scratch)

This repository contains the code for developing, pretraining, and finetuning a GPT-like LLM and is the official code repository for the book Build a Large Language Model (From Scratch).




In Build a Large Language Model (From Scratch), you'll learn and understand how large language models (LLMs) work from the inside out by coding them from the ground up, step by step. In this book, I'll guide you through creating your own LLM, explaining each stage with clear text, diagrams, and examples.

The method described in this book for training and developing your own small-but-functional model for educational purposes mirrors the approach used in creating large-scale foundational models such as those behind ChatGPT. In addition, this book includes code for loading the weights of larger pretrained models for finetuning.



To download a copy of this repository, click on the Download ZIP button or execute the following command in your terminal:

git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git

(If you downloaded the code bundle from the Manning website, please consider visiting the official code repository on GitHub at https://github.com/rasbt/LLMs-from-scratch for the latest updates.)



Table of Contents

Please note that this README.md file is a Markdown (.md) file. If you have downloaded this code bundle from the Manning website and are viewing it on your local computer, I recommend using a Markdown editor or previewer for proper viewing. If you haven't installed a Markdown editor yet, Ghostwriter is a good free option.

You can alternatively view this and other files on GitHub at https://github.com/rasbt/LLMs-from-scratch in your browser, which renders Markdown automatically.



Tip: If you're seeking guidance on installing Python and Python packages and setting up your code environment, I suggest reading the README.md file located in the setup directory.



Code tests Linux Code tests Windows Code tests macOS

Chapter Title Main Code (for Quick Access) All Code + Supplementary
Setup recommendations
How to best read this book
- -
Ch 1: Understanding Large Language Models No code -
Ch 2: Working with Text Data - ch02.ipynb
- dataloader.ipynb (summary)
- exercise-solutions.ipynb
./ch02
Ch 3: Coding Attention Mechanisms - ch03.ipynb
- multihead-attention.ipynb (summary)
- exercise-solutions.ipynb
./ch03
Ch 4: Implementing a GPT Model from Scratch - ch04.ipynb
- gpt.py (summary)
- exercise-solutions.ipynb
./ch04
Ch 5: Pretraining on Unlabeled Data - ch05.ipynb
- gpt_train.py (summary)
- gpt_generate.py (summary)
- exercise-solutions.ipynb
./ch05
Ch 6: Finetuning for Text Classification - ch06.ipynb
- gpt_class_finetune.py
- exercise-solutions.ipynb
./ch06
Ch 7: Finetuning to Follow Instructions - ch07.ipynb
- gpt_instruction_finetuning.py (summary)
- ollama_evaluate.py (summary)
- exercise-solutions.ipynb
./ch07
Appendix A: Introduction to PyTorch - code-part1.ipynb
- code-part2.ipynb
- DDP-script.py
- exercise-solutions.ipynb
./appendix-A
Appendix B: References and Further Reading No code ./appendix-B
Appendix C: Exercise Solutions - list of exercise solutions ./appendix-C
Appendix D: Adding Bells and Whistles to the Training Loop - appendix-D.ipynb ./appendix-D
Appendix E: Parameter-efficient Finetuning with LoRA - appendix-E.ipynb ./appendix-E

 

The mental model below summarizes the contents covered in this book.


 

Prerequisites

The most important prerequisite is a strong foundation in Python programming. With this knowledge, you will be well prepared to explore the fascinating world of LLMs and understand the concepts and code examples presented in this book.

If you have some experience with deep neural networks, you may find certain concepts more familiar, as LLMs are built upon these architectures.

This book uses PyTorch to implement the code from scratch without using any external LLM libraries. While proficiency in PyTorch is not a prerequisite, familiarity with PyTorch basics is certainly useful. If you are new to PyTorch, Appendix A provides a concise introduction to PyTorch. Alternatively, you may find my book, PyTorch in One Hour: From Tensors to Training Neural Networks on Multiple GPUs, helpful for learning about the essentials.


 

Hardware Requirements

The code in the main chapters of this book is designed to run on conventional laptops within a reasonable timeframe and does not require specialized hardware. This approach ensures that a wide audience can engage with the material. Additionally, the code automatically utilizes GPUs if they are available. (Please see the setup doc for additional recommendations.)

 

Video Course

A 17-hour and 15-minute companion video course where I code through each chapter of the book. The course is organized into chapters and sections that mirror the book's structure so that it can be used as a standalone alternative to the book or complementary code-along resource.

 

Companion Book / Sequel

Build A Reasoning Model (From Scratch), while a standalone book, can be considered as a sequel to Build A Large Language Model (From Scratch).

It starts with a pretrained model and implements different reasoning approaches, including inference-time scaling, reinforcement learning, and distillation, to improve the model's reasoning capabilities.

Similar to Build A Large Language Model (From Scratch), Build A Reasoning Model (From Scratch) takes a hands-on approach implementing these methods from scratch.


 

Exercises

Each chapter of the book includes several exercises. The solutions are summarized in Appendix C, and the corresponding code notebooks are available in the main chapter folders of this repository (for example, ./ch02/01_main-chapter-code/exercise-solutions.ipynb.

In addition to the code exercises, you can download a free 170-page PDF titled Test Yourself On Build a Large Language Model (From Scratch) from the Manning website. It contains approximately 30 quiz questions and solutions per chapter to help you test your understanding.

 

Bonus Material

Several folders contain optional materials as a bonus for interested readers:

More bonus material from the Reasoning From Scratch repository:


 

Questions, Feedback, and Contributing to This Repository

I welcome all sorts of feedback, best shared via the Manning Forum or GitHub Discussions. Likewise, if you have any questions or just want to bounce ideas off others, please don't hesitate to post these in the forum as well.

Please note that since this repository contains the code corresponding to a print book, I currently cannot accept contributions that would extend the contents of the main chapter code, as it would introduce deviations from the physical book. Keeping it consistent helps ensure a smooth experience for everyone.

 

Citation

If you find this book or code useful for your research, please consider citing it.

Chicago-style citation:

Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.

BibTeX entry:

@book{build-llms-from-scratch-book,
  author       = {Sebastian Raschka},
  title        = {Build A Large Language Model (From Scratch)},
  publisher    = {Manning},
  year         = {2024},
  isbn         = {978-1633437166},
  url          = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
  github       = {https://github.com/rasbt/LLMs-from-scratch}
}
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 216

Code frequency

additions and deletions
+6.4K-6.4KWeek of 2025-09-28: +58 linesWeek of 2025-09-28: -12 linesWeek of 2025-10-05: +4,243 linesWeek of 2025-10-05: -914 linesWeek of 2025-10-12: +1,621 linesWeek of 2025-10-12: -97 linesWeek of 2025-10-19: +1,577 linesWeek of 2025-10-19: -314 linesWeek of 2025-10-26: +514 linesWeek of 2025-10-26: -379 linesWeek of 2025-11-02: +510 linesWeek of 2025-11-02: -33 linesWeek of 2025-11-09: +83 linesWeek of 2025-11-09: -5 linesWeek of 2025-11-16: +3,211 linesWeek of 2025-11-16: -59 linesWeek of 2025-11-23: +57 linesWeek of 2025-11-23: -3 linesWeek of 2025-11-30: +0 linesWeek of 2025-11-30: -0 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +2,146 linesWeek of 2025-12-14: -1,916 linesWeek of 2025-12-21: +4 linesWeek of 2025-12-21: -4 linesWeek of 2025-12-28: +188 linesWeek of 2025-12-28: -54 linesWeek of 2026-01-04: +2,992 linesWeek of 2026-01-04: -35 linesWeek of 2026-01-11: +17 linesWeek of 2026-01-11: -9 linesWeek of 2026-01-18: +29 linesWeek of 2026-01-18: -22 linesWeek of 2026-01-25: +88 linesWeek of 2026-01-25: -11 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +13 linesWeek of 2026-02-08: -7 linesWeek of 2026-02-15: +6,393 linesWeek of 2026-02-15: -1,753 linesWeek of 2026-02-22: +16 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +4,476 linesWeek of 2026-03-01: -176 linesWeek of 2026-03-08: +0 linesWeek of 2026-03-08: -0 linesWeek of 2026-03-15: +13 linesWeek of 2026-03-15: -7 linesWeek of 2026-03-22: +1 linesWeek of 2026-03-22: -1 linesWeek of 2026-03-29: +91 linesWeek of 2026-03-29: -111 linesWeek of 2026-04-05: +5,105 linesWeek of 2026-04-05: -52 linesWeek of 2026-04-12: +109 linesWeek of 2026-04-12: -14 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +1 linesWeek of 2026-05-03: -1 linesWeek of 2026-05-10: +32 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +3,982 linesWeek of 2026-05-17: -141 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -1 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +360 linesWeek of 2026-07-05: -35 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +191 linesWeek of 2026-07-26: -26 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +25 linesWeek of 2026-08-09: -2 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesWeek of 2026-08-23: +186 linesWeek of 2026-08-23: -1 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesWeek of 2026-09-06: +37 linesWeek of 2026-09-06: -8 linesWeek of 2026-09-13: +291 linesWeek of 2026-09-13: -4 linesWeek of 2026-09-20: +0 linesWeek of 2026-09-20: -0 linesSep 28, 2025Sep 20, 2026
+38.7K lines added, -6.2K removed over the last year.

Commits per week

last 52 weeks
80Week of 2025-10-05: 8 commitsWeek of 2025-10-12: 7 commitsWeek of 2025-10-19: 4 commitsWeek of 2025-10-26: 4 commitsWeek of 2025-11-02: 5 commitsWeek of 2025-11-09: 2 commitsWeek of 2025-11-16: 3 commitsWeek of 2025-11-23: 2 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 6 commitsWeek of 2025-12-21: 1 commitsWeek of 2025-12-28: 5 commitsWeek of 2026-01-04: 3 commitsWeek of 2026-01-11: 1 commitsWeek of 2026-01-18: 2 commitsWeek of 2026-01-25: 2 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 1 commitsWeek of 2026-02-15: 7 commitsWeek of 2026-02-22: 1 commitsWeek of 2026-03-01: 7 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 1 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 3 commitsWeek of 2026-04-05: 3 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 1 commitsWeek of 2026-05-10: 1 commitsWeek of 2026-05-17: 6 commitsWeek of 2026-05-24: 0 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: 2 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 2 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 2 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 3 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 1 commitsWeek of 2026-09-13: 3 commitsWeek of 2026-09-20: 1 commitsWeek of 2026-09-27: 3 commitsOct 5, 2025Sep 27, 2026
106 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 2 commitsSun 2:00 — 0 commitsSun 3:00 — 1 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 5 commitsSun 7:00 — 10 commitsSun 8:00 — 24 commitsSun 9:00 — 16 commitsSun 10:00 — 20 commitsSun 11:00 — 13 commitsSun 12:00 — 15 commitsSun 13:00 — 10 commitsSun 14:00 — 12 commitsSun 15:00 — 10 commitsSun 16:00 — 11 commitsSun 17:00 — 7 commitsSun 18:00 — 6 commitsSun 19:00 — 7 commitsSun 20:00 — 14 commitsSun 21:00 — 9 commitsSun 22:00 — 3 commitsSun 23:00 — 2 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 1 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 2 commitsMon 6:00 — 9 commitsMon 7:00 — 32 commitsMon 8:00 — 17 commitsMon 9:00 — 3 commitsMon 10:00 — 5 commitsMon 11:00 — 7 commitsMon 12:00 — 5 commitsMon 13:00 — 0 commitsMon 14:00 — 3 commitsMon 15:00 — 3 commitsMon 16:00 — 8 commitsMon 17:00 — 6 commitsMon 18:00 — 9 commitsMon 19:00 — 4 commitsMon 20:00 — 13 commitsMon 21:00 — 7 commitsMon 22:00 — 4 commitsMon 23:00 — 0 commitsTue 0:00 — 3 commitsTue 1:00 — 0 commitsTue 2:00 — 2 commitsTue 3:00 — 1 commitsTue 4:00 — 1 commitsTue 5:00 — 3 commitsTue 6:00 — 10 commitsTue 7:00 — 20 commitsTue 8:00 — 18 commitsTue 9:00 — 3 commitsTue 10:00 — 4 commitsTue 11:00 — 1 commitsTue 12:00 — 5 commitsTue 13:00 — 3 commitsTue 14:00 — 3 commitsTue 15:00 — 1 commitsTue 16:00 — 4 commitsTue 17:00 — 6 commitsTue 18:00 — 5 commitsTue 19:00 — 15 commitsTue 20:00 — 17 commitsTue 21:00 — 12 commitsTue 22:00 — 3 commitsTue 23:00 — 1 commitsWed 0:00 — 3 commitsWed 1:00 — 1 commitsWed 2:00 — 2 commitsWed 3:00 — 4 commitsWed 4:00 — 2 commitsWed 5:00 — 3 commitsWed 6:00 — 7 commitsWed 7:00 — 17 commitsWed 8:00 — 15 commitsWed 9:00 — 3 commitsWed 10:00 — 2 commitsWed 11:00 — 2 commitsWed 12:00 — 3 commitsWed 13:00 — 7 commitsWed 14:00 — 3 commitsWed 15:00 — 3 commitsWed 16:00 — 7 commitsWed 17:00 — 5 commitsWed 18:00 — 9 commitsWed 19:00 — 12 commitsWed 20:00 — 15 commitsWed 21:00 — 7 commitsWed 22:00 — 5 commitsWed 23:00 — 3 commitsThu 0:00 — 1 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 2 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 4 commitsThu 7:00 — 16 commitsThu 8:00 — 12 commitsThu 9:00 — 9 commitsThu 10:00 — 3 commitsThu 11:00 — 3 commitsThu 12:00 — 2 commitsThu 13:00 — 1 commitsThu 14:00 — 5 commitsThu 15:00 — 6 commitsThu 16:00 — 3 commitsThu 17:00 — 4 commitsThu 18:00 — 6 commitsThu 19:00 — 6 commitsThu 20:00 — 14 commitsThu 21:00 — 3 commitsThu 22:00 — 0 commitsThu 23:00 — 1 commitsFri 0:00 — 1 commitsFri 1:00 — 4 commitsFri 2:00 — 1 commitsFri 3:00 — 1 commitsFri 4:00 — 1 commitsFri 5:00 — 2 commitsFri 6:00 — 7 commitsFri 7:00 — 14 commitsFri 8:00 — 15 commitsFri 9:00 — 5 commitsFri 10:00 — 4 commitsFri 11:00 — 2 commitsFri 12:00 — 5 commitsFri 13:00 — 3 commitsFri 14:00 — 5 commitsFri 15:00 — 6 commitsFri 16:00 — 2 commitsFri 17:00 — 3 commitsFri 18:00 — 3 commitsFri 19:00 — 7 commitsFri 20:00 — 4 commitsFri 21:00 — 7 commitsFri 22:00 — 5 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 2 commitsSat 2:00 — 1 commitsSat 3:00 — 2 commitsSat 4:00 — 3 commitsSat 5:00 — 1 commitsSat 6:00 — 8 commitsSat 7:00 — 20 commitsSat 8:00 — 15 commitsSat 9:00 — 11 commitsSat 10:00 — 14 commitsSat 11:00 — 12 commitsSat 12:00 — 11 commitsSat 13:00 — 10 commitsSat 14:00 — 9 commitsSat 15:00 — 6 commitsSat 16:00 — 8 commitsSat 17:00 — 16 commitsSat 18:00 — 5 commitsSat 19:00 — 1 commitsSat 20:00 — 6 commitsSat 21:00 — 4 commitsSat 22:00 — 2 commitsSat 23:00 — 1 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits82 (77%)
Community commits24 (23%)

106 commits in total over the last year.

DateListRankStars gained
May 13, 2026daily#19+58
  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    373.2K stars · Python

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    285.8K stars · Python

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python