{"id":6749,"date":"2026-07-08T22:16:44","date_gmt":"2026-07-08T15:16:44","guid":{"rendered":"https:\/\/daiilynews.cu.ma\/?p=6749"},"modified":"2026-07-08T22:16:44","modified_gmt":"2026-07-08T15:16:44","slug":"github-mpashka-llm-wiki-tags-%c2%b7-github","status":"publish","type":"post","link":"https:\/\/daiilynews.cu.ma\/?p=6749","title":{"rendered":"GitHub &#8211; mpashka\/llm-wiki-tags \u00b7 GitHub"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<p>Languages: English \u00b7 \u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u2014 Agent instructions:<br \/>\nEnglish \u00b7 \u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/p>\n<p>llm-wiki (original gist by Andrej Karpathy)<br \/>\nis the idea of keeping a codebase&#8217;s documentation as an LLM-readable wiki:<br \/>\nevery meaningful directory carries an index.md, pages<br \/>\nare small and single-purpose, links are bidirectional (parent \u21c4 child), and one<br \/>\npage owns each detail. An agent navigates the tree top-down through index.md<br \/>\nfiles instead of blindly grepping.<br \/>\nllm-wiki-tags is exactly that, plus tags \u2014 nothing about llm-wiki<br \/>\nchanges; tags are added on top.<\/p>\n<p>A tag is a short kebab-case slug written as the token @tag:. The same<br \/>\ntag is placed both in code and in documentation, which creates an explicit<br \/>\ncode \u21c4 documentation link that does not depend on the directory tree. With<br \/>\ntags you can:<\/p>\n<p>find code and docs by tag \u2014 one search returns every file (code or docs)<br \/>\nthat carries a concept, even when they are scattered across the tree;<br \/>\nsee which tags a piece of code has \u2014 read the tags at the top of a file or<br \/>\ndirectory to learn which cross-cutting concepts it participates in;<br \/>\nsee which tags a document has \u2014 the same, for a doc page;<br \/>\nkeep a single tag registry (docs\/tags.md) describing what each tag means.<\/p>\n<p>Tags complement index.md navigation (which follows the directory tree) with a<br \/>\nsecond, orthogonal axis: a concept that spans several folders is reachable in one<br \/>\nstep.<\/p>\n<p>Slugs are lowercase kebab-case ((a-z0-9-)+); the same @tag: token is<br \/>\nplaced in both code and docs.<\/p>\n<p>Documentation (.md): in YAML front matter at the top of the file, a<br \/>\ntags field holding the space-separated tokens; for a directory, in that<br \/>\ndirectory&#8217;s index.md. A tag that applies to just one section may instead sit<br \/>\nas a @tag: line in the body next to it.<br \/>\n&#8212;<br \/>\ntags: &#8220;@tag:payments @tag:retry&#8221;<br \/>\n&#8212;<\/p>\n<p>Code: a comment in the language&#8217;s syntax containing the token, placed above<br \/>\nthe element. A tag can mark a package, a file, a class (or<br \/>\nequivalent) or a method\/function. Per-language rules live in<br \/>\nlanguages\/ \u2014 Java,<br \/>\nPython, Go.<br \/>\nMultiple tags: repeat the token, space-separated: @tag:ui @tag:mechanism.<\/p>\n<p># every code + doc location that carries a tag<br \/>\ngrep -rn &#8220;@tag:&#8221; .<\/p>\n<p># which tags a given file has<br \/>\ngrep -oE &#8220;@tag:(a-z0-9-)+&#8221; path\/to\/file<\/p>\n<p># every tag used in the repo<br \/>\ngrep -rhoE &#8220;@tag:(a-z0-9-)+&#8221; . | sort -u<br \/>\nEvery tag is registered once in docs\/tags.md with a one-line description.<\/p>\n<p>llm-wiki-tags keeps (and makes explicit) llm-wiki&#8217;s documentation rules:<\/p>\n<p>Every meaningful directory has an index.md giving a one-line<br \/>\ndescription of each file and each sub-directory in that folder.<br \/>\nIndex files describe stable concepts, not changelogs. Prefer many small pages<br \/>\nover one large document; put local detail next to the code it describes.<br \/>\nBidirectional navigation: parent indexes link to child pages; child pages<br \/>\nlink back to the parent index and to related pages.<br \/>\nOne page owns a detail; other pages link to it \u2014 do not duplicate.<br \/>\nRead before you act: before a task, follow index.md files from the<br \/>\nnearest directory down to the code you will touch.<br \/>\nUpdate as you go: during or after the task, update the affected index.md<br \/>\nfiles (and tags) in the same change.<\/p>\n<p>Point your coding agent at the instruction page and ask it to install:<br \/>\n\u043f\u043e\u0441\u0442\u0430\u0432\u044c https:\/\/github.com\/mpashka\/llm-wiki-tags\/blob\/main\/INSTRUCTIONS.md<br \/>\n# or, in English:<br \/>\ninstall https:\/\/github.com\/mpashka\/llm-wiki-tags\/blob\/main\/INSTRUCTIONS.md<\/p>\n<p>The agent reads INSTRUCTIONS.md (or<br \/>\nINSTRUCTIONS.ru.md) and sets up the index.md tree, the<br \/>\ntag mechanism and the docs\/tags.md registry in the current repository, and<br \/>\nrecords the convention in the repo&#8217;s agent guide so future agents keep following<br \/>\nit.<\/p>\n<p>Public domain \u2014 The Unlicense. Do whatever you want.<br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/github.com\/mpashka\/llm-wiki-tags\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Languages: English \u00b7 \u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u2014 Agent instructions: English \u00b7 \u0420\u0443\u0441\u0441\u043a\u0438\u0439 llm-wiki (original gist by Andrej Karpathy) is the idea of keeping a codebase&#8217;s documentation as an LLM-readable wiki: every meaningful directory carries an index.md, pages are small and single-purpose, links are bidirectional (parent \u21c4 child), and one page owns each detail. An agent navigates the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[676],"tags":[],"class_list":["post-6749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-ai"],"_links":{"self":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6749"}],"version-history":[{"count":0,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6749\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/media\/6750"}],"wp:attachment":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}