Open-source project
cat-milk/Anime-Girls-Holding-Programming-Books avatar
cat-milk/Anime-Girls-Holding-Programming-Books

Anime Girls Holding Programming Books: a folder taxonomy and a house style

Anime Girls Holding Programming Books

22,633 stars1,038 forksUnknownLicense varies

At a glance

What is it?
Twenty-two thousand stars of images organised by language and subject, held together by four contribution rules and one unusually firm policy on generated art. There is no code here, only a naming convention, a folder tree, and a GitHub site policy doing most of the moderation work.
Who is it for?
This repository is a taxonomy that happens to be made of images, and its value is that the taxonomy is explicit. Anyone building a similar collection can take the folder-per-language scheme, the `Name_Name_Book_Book.png` convention and the rule that a new folder is created when none fits, which together make a large pile browsable without a database.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Activity is slowing. The repository last received commits 7 months ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • cat-milk/Anime-Girls-Holding-Programming-Books22,633 ★ · +0
Star history
Repository2026-10-072026-10-22
cat-milk/Anime-Girls-Holding-Programming-Books22.6k22.6k

0 Stars in the last 15 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The folder tree is the whole architecture

There is no clever trick to the organisation. The tree is a flat list of language and subject folders sitting next to `CONTRIBUTING.md`, and the naming is as plain as the folder names: `A++/`, `ABAP/`, `Ada/`, `Agda/`, `APL/`, `C/`, `C++/`, `C#/`, `Clojure/`, `CoffeeScript/`, `CMake/`, `Cobol/`, `D/`, `Dart/`, `Delphi/`, `Elixir/`, `Elm/`, `Erlang/`, `F#/`, `FORTH/`, `Fortran/`, `GDScript/`, `Go/`, `Haskell/`, `Idris/`, `Java/`, `Javascript/`, `Julia/`, `Kotlin/`, `Lua/`, `Nim/`, `OCaml/`.

Alongside the languages sit subject folders that would not belong in a language taxonomy at all: `Algorithms/`, `Architecture/`, `Computer Graphics/`, `Compilers/`, `Editors/`, `Design Patterns/`, `Math/`, `Memes/`, `Mixed/`, plus infrastructure and platform names such as `AWS/`, `Git/`, `Kubernetes/`, `Linux/`, `MongoDB/`, `Godot/` and `CUDA/` in the spelling the contributors chose, `Cuda/`.

Then the joke folders arrive. `HolyC/` is a real esolang from TempleOS. `Beef/` is a language from a certain kind of conversation about memory safety. `HoTT/` is homotopy type theory. `MUMPS/` is a language from healthcare systems, which is the kind of entry that proves the list was assembled by people who actually work with these things rather than by a generator. `AI/` sits in the list too, which sets up the most interesting tension in the repository and gets its own section below.

The tree in the listing is alphabetical and truncated partway through `OCaml/`, so the full set is larger than what is visible here.

Name_Name_Book_Book.png and what the format is for

The naming rule is the only piece of real structure in the repository, and it is worth reading closely because it encodes three separate decisions in one filename.

text
Name_Name_Book_Book.png

The format is described as descriptive, with the note that the file does not have to be `.png` and that this is just an example. So the extension is free but the shape is not: the first two fields are the character, the second two are the book. A file is findable by knowing either half.

That solves the actual problem of a large image collection, which is retrieval rather than storage. GitHub's own search will find `Sailor_Moon_Introduction_to_Algorithms.png` if you remember either the character or the title, and the folder gives you a third axis without any code. The README's instruction about folders is designed to keep that axis clean: add images to the folder that best describes the subject matter of the book the girl is holding, and if no existing folder applies, create a new one, with the guidance that the simpler the name, the better.

That last clause is doing quiet governance work. Without it, four years of contributions would produce `Advanced-Algorithms-and-Data-Structures/`, `Algorithms 2/` and `algorithms/`, and the tree would stop being a taxonomy.

Why an AI folder sits next to a ban on generated images

The contribution rules state that the repository does not accept AI generated images, and the reasoning given is not about copyright or labour. It is about purpose: generating a bespoke image of an anime girl holding a programming book whenever you want one makes having a repository to catalogue them pointless.

That is a coherent argument and it is about the nature of the collection. A catalogue is valuable because curation is expensive. If every image can be produced on demand, the repository stops being a record of what exists and becomes a thin index of prompts.

The policy has a footnote, and the footnote is the interesting part. AI generated images can be submitted provided it is clear that the source image was generated for some other purpose and then edited by hand to include a programming book. A link to the source in the pull request would help prove it, though it is not required. The stated reason for the softener is that AI generated images tend to have a certain look, and accumulating too many of those is what maintainers want to avoid.

So there are two filters, not one. The formal rule is provenance, and the informal rule is aesthetic, and the README says so plainly: in the end the reviewer's personal aesthetic preference will determine whether an AI anime girl gets merged. That is a candid admission that this repository is curated by taste, and it explains the 55 open issues better than any project-management document would.

The `AI/` folder is not a contradiction, then. It holds images of girls holding books about AI, which is a different question from images that were made by AI.

The two hard limits: site policy and cryptocurrency

Two rules in `CONTRIBUTING.md` are exclusions rather than conventions, and both cite reasons outside the repository.

The first is that NSFW images are not allowed, and the citation is the GitHub Site Policy rather than a preference. That distinction matters for anyone who forks this collection: the constraint is inherited from the hosting platform, so it disappears the moment the images live somewhere else, and any derivative that moves to a different host has to make its own decision.

The second is that pictures cannot be related to cryptocurrency or its technologies. No citation is given for this one and no further explanation appears in the document. It is the only rule in the file without a stated rationale, and it is enforced the same way as the others, which means a contributor whose image is rejected for this reason has no argument to make beyond asking.

Read together with the third rule, which requires all characters to be female presenting, either canonically female or looking and acting like girls, you have a fairly narrow brief: no NSFW content, no crypto content, female-presenting characters, non-generated art by default, and a filename in a specific shape. That is the entire scope of what this project accepts, and a contributor who reads `CONTRIBUTING.md` before preparing images will avoid every avoidable rejection.

22,593 stars, no licence, and no software

The numbers are worth reading carefully rather than admiring. The repository has 22,593 stars and 1,037 forks, which places it among the most-starred non-software repositories anywhere, and 55 open issues, which is a queue a human reviewer works through in batches of images.

Two pieces of metadata are absent, and both absences are informative. There is no detected primary language, because there is no program. And there is no licence file in the tree, which is a real constraint rather than an oversight to be charitable about: without a licence, the default under copyright applies and the images are not formally free to reuse, redistribute or modify, however freely people have shared them in practice.

The homepage is a GitHub Pages site at `cat-milk.github.io`, so the catalogue is browsable as rendered pages rather than only as a directory listing. That site is not built from anything in this repository, since there is no build script here to build it with.

There are no releases either, and that is the right call for a collection of images. Version tags would imply a changelog of artwork, and the actual history of the project is a sequence of merged pull requests, each one adding a handful of files to a folder.

What this repository teaches about curation at scale

Strip away the subject matter and this is a case study in organising a large, heterogeneous, contributed collection with no tooling at all. Four rules, a folder per subject, and a filename convention have carried it to past twenty-two thousand stars, which is worth understanding because most projects of this kind reach for a manifest or a database long before they need one.

The design decision that makes it work is that the folder is the only shared vocabulary. Everything else is enforced per pull request by a person. There is no validator script, so nothing prevents a badly named file from merging except review, and the 55 open issues are the visible cost of that choice. A repository this size with automated filename checking would have a smaller queue and a worse tone, because the reviewer would stop having to look at the picture.

The trade-off runs the other way too. Without a script, there is no way to ask questions of the collection: no count of how many languages are covered, no way to find every image of a particular character, no way to detect a duplicate. If you want those, you would build them on top, from the folder names and the filename fields, which are regular enough to parse.

The last push to this repository was on 2026-03-10. For a collection where contributions arrive as images, that cadence says more about review bandwidth than about enthusiasm.

Editorial conclusion

This repository is a taxonomy that happens to be made of images, and its value is that the taxonomy is explicit. Anyone building a similar collection can take the folder-per-language scheme, the `Name_Name_Book_Book.png` convention and the rule that a new folder is created when none fits, which together make a large pile browsable without a database. What it does not offer is software: there is no detected language, no releases, no script that checks a filename against a book title, and the site's own pages are generated elsewhere. The last push was on 2026-03-10, so if you want to send a pull request, read `CONTRIBUTING.md` first and expect the reviewer's personal taste to be the final authority on anything the rules do not settle.

Frequently asked questions

Can I contribute an image to Anime Girls Holding Programming Books?

Yes, subject to the rules in `CONTRIBUTING.md`: no NSFW images because of GitHub site policy, nothing related to cryptocurrency, characters must be female presenting, and filenames must follow the `Name_Name_Book_Book.png` shape. Add the file to the folder matching the book's subject, or create a new folder if none fits.

Are AI generated images allowed in this repository?

Not as a default. The README says AI generated images defeat the purpose of a catalogue, but accepts them when the source was generated for another purpose and hand-edited to add a programming book. It also states that reviewers' personal aesthetic preference decides borderline cases.

How do I find images for a specific programming language?

Each language has its own folder, spelled as the tree spells it: `Go/`, `C++/`, `Haskell/`, `FORTH/`, and less common entries such as `HolyC/`, `Beef/` and `MUMPS/`. Subject folders such as `Algorithms/` or `Compilers/` sit alongside them, so a book may sit under a topic rather than a language.

Can I reuse these images in my own project?

No licence file appears in the repository, so nothing grants reuse rights formally and the default copyright position applies. If you need images you can redistribute, look for a source with an explicit licence or ask the maintainers, rather than assuming a public GitHub repository means free use.

Official sources

  1. cat-milk/Anime-Girls-Holding-Programming-Books on GitHub
  2. Issues
  3. Project website
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/cat-milk-anime-girls-holding-programming-books.svg)](https://hysenlabs.com/projects/cat-milk-anime-girls-holding-programming-books)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/cat-milk-anime-girls-holding-programming-books.svg)](https://hysenlabs.com/projects/cat-milk-anime-girls-holding-programming-books)