Open-source project
azat-io/you-dont-know-js-ru avatar
azat-io/you-dont-know-js-ru

You Don't Know JS in Russian: What azat-io/you-dont-know-js-ru Actually Contains

📚 Russian translation of "You Don't Know JS" book series

8,780 stars2,679 forksUnknownNOASSERTION

At a glance

What is it?
The repository is a Russian translation of the first edition of Kyle Simpson's You Don't Know JS series, stored as Markdown inside folders named after each book. It is for Russian-speaking developers who want the book text in the repository rather than a purchased copy, and it is not a build system, a package or a maintained library.
Who is it for?
Adopt this repository if you want the first-edition You Don't Know JS text in Russian and you are comfortable reading Markdown on GitHub or in a local clone. Do not adopt it as a dependency, a documentation pipeline or a source of second-edition material, because it is book text and the README states the first edition is complete.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 116 days 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 September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What problem the Russian You Don't Know JS translation solves

The upstream You Don't Know JS series was written in English by Kyle Simpson and published by O'Reilly. For a Russian-speaking developer, the practical barrier is not the JavaScript content but the language of the prose, and this repository exists to remove that barrier. The README describes it plainly as a Russian translation of the series and states that the first edition of the series is currently complete.

The audience is narrow and specific. It is someone who wants to read about scope, closures, prototypes, coercion and asynchronous patterns in Russian, and who is willing to read that material as files in a Git repository rather than through a bookstore or a reading app. The README also points to paid O'Reilly product pages and an Ozon listing for the ES6 volume, so the repository is not trying to replace the published books. It sits beside them.

How the translation is laid out: folders, Markdown and nothing else

The repository has no application code and no build tooling. The top-level entries are a .gitignore, LICENSE.txt, README.md, preface.md, and six directories whose names are the book titles: up & going, scope & closures, this & object prototypes, types & grammar, async & performance, and es6 & beyond. Each directory holds the translated text, and the README links into the per-book README.md files, for example scope & closures/README.md, with anchors that point at chapter sections inside those files.

That is the whole architecture. The data flow is one-directional: a reader opens a Markdown file, GitHub renders it, and the reader follows relative links from the root README into a book. There is no generated site, no index build, no search layer and no versioned artifact. If you clone the repository you get the same Markdown, and the reading experience is whatever your editor or Git host provides.

This layout has a consequence worth naming. Because the books are separate directories with spaces and ampersands in their names, any script that walks the tree has to quote paths carefully. The README itself encodes those names as up%20%26%20going and similar, which is the URL-escaped form, not the on-disk form.

Reading it locally: what the repository gives you

There is no install step in the usual sense, because there is nothing to install. The README's contribution section is aimed at people sending pull requests, not at consumers, and no package manager entry point is documented. The practical first use is to open the root README and follow its table of contents, which links each of the six books to its own README.md on GitHub, for example scope%20%26%20closures/README.md. Those links are the fastest path to a single chapter.

The README does not document a command for cloning, serving or exporting the text, so there is no command to copy here. If you do work from a local copy, note that the folder names contain spaces and an ampersand, and the README writes them in URL-escaped form: up%20%26%20going, scope%20%26%20closures, this%20%26%20object%20prototypes, types%20%26%20grammar, async%20%26%20performance, es6%20%26%20beyond. A shell or script that treats those as literal directory names will not find them.

The README also does not document a way to build a static site or export the text to EPUB or PDF. The repository is the Markdown and nothing more.

Where this repository stops being the right tool

The most important limitation is edition. The README states that the first edition of the series is complete, and the repository is organised around those six first-edition titles. If what you want is the later You Don't Know JS Yet material, this repository is not that, and nothing in the README suggests otherwise. A reader who arrives expecting the newer books will find the older ones.

The second limitation is that this is a translation, and the README gives no statement about translation review, terminology policy or how closely the Russian tracks the English source. Code fragments are the same JavaScript either way, but the explanatory prose is the part that was rewritten, and there is no documented process for checking it. Treat the translation as a reading aid, not as an authoritative reference for what the original author wrote.

Third, there is no release and no changelog in the repository. The README invites pull requests for code fragments, explanations and typos, which tells you corrections arrive as commits rather than as tagged versions. If you need to cite a stable text, cite a commit hash, because there is no version number to cite. The last push to the default branch was on 2026-06-06.

How it relates to the English original and to the published books

The obvious alternative is the English source series itself, and the difference is not just language. The English books are maintained by their author, are sold by O'Reilly, and the README here links to those product pages for each volume. The Russian repository is a downstream copy of the text in another language, with its own contribution rules. The README states that by contributing content beyond typo fixes, you agree to give the maintainer absolute rights to use the added content for the book series as he and O'Reilly see fit. That is a broader grant than many translators would expect, and it is stated openly.

A second alternative is simply buying the published Russian or English editions where they exist. The README points to an Ozon listing for the ES6 volume and to O'Reilly for the rest, and it asks readers who enjoy the content to purchase the books. If your goal is to support the author, the repository is explicit that Patreon and purchases are the intended channels, not the clone.

Licence terms you have to read before redistributing

The README states that the material is copyright 2013-2015 Kyle Simpson and is licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported. The repository's licence field is recorded as NOASSERTION, and there is a LICENSE.txt at the top level, so the authoritative text is in that file rather than in the README summary.

The NonCommercial and NoDerivs parts are the ones that shape what you can do. A commercial redistribution, or a modified version of the text, does not obviously fit those terms, and the repository does not offer a separate licence for the Russian translation. This is a description of what the README says, not legal advice; if your use is commercial, read LICENSE.txt and the linked licence deed, and take your own advice. Upgrade cost is low in the technical sense, because there is no dependency to bump, but there is also no upgrade path: corrections land as commits on master, and you re-pull when you want them.

Editorial conclusion

Adopt this repository if you want the first-edition You Don't Know JS text in Russian and you are comfortable reading Markdown on GitHub or in a local clone. Do not adopt it as a dependency, a documentation pipeline or a source of second-edition material, because it is book text and the README states the first edition is complete. Before relying on it, check LICENSE.txt and the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported terms the README links, and confirm that the folder you need is present on the default branch.

Frequently asked questions

What is the You Don't Know JS series?

It is a book series by Kyle Simpson about the core mechanisms of JavaScript, and this repository holds a Russian translation of it. The README states that the first edition of the series is currently complete.

Which books are included in azat-io/you-dont-know-js-ru?

The repository has six book folders: up & going, scope & closures, this & object prototypes, types & grammar, async & performance, and es6 & beyond. Each is linked from the table of contents in the root README.

Is there an install command for this repository?

No. The README documents no package or build step; the content is Markdown, so the usual approach is to open the links in the README's table of contents or read a local copy of the files.

Does azat-io/you-dont-know-js-ru cover the second edition of You Don't Know JS?

The README describes the repository as the Russian translation of the series and states that the first edition is complete. It does not mention second-edition material.

Under what licence is the text distributed?

The README states the material is copyright 2013-2015 Kyle Simpson and licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported. The repository also carries a LICENSE.txt at the top level.

Official sources

  1. azat-io/you-dont-know-js-ru on GitHub
  2. Issues
  3. 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/azat-io-you-dont-know-js-ru.svg)](https://hysenlabs.com/projects/azat-io-you-dont-know-js-ru)