{"ok":true,"site":"ctan","host":"ctan.org","about":"CTAN (Comprehensive TeX Archive Network): browse TeX/LaTeX packages, topics, contributors, announcements, licenses, archive directories, ratings and comments from the public ctan.org web pages and their XHR endpoints.","commands":[{"command":"list-packages","summary":"List CTAN packages whose name starts with a given letter (package slug and URL)","params":[{"name":"letter","type":"string","required":true,"description":"Initial letter, uppercase A-Z"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-packages"},{"command":"get-package","summary":"Get a package's detail page: title and catalogue entry table (version, license, home page, etc.)","params":[{"name":"pkg","type":"string","required":true,"description":"Package key, e.g. pgfplots. Aliases such as tikz redirect to the owning package (pgf)"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-package"},{"command":"get-package-history","summary":"Get a package's release timeline as [year, month, version] tuples","params":[{"name":"pkg","type":"string","required":true,"description":"Package key"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-package-history"},{"command":"get-package-rating","summary":"Get a package's rating breakdown: the number of votes for each star level","params":[{"name":"pkg","type":"string","required":true,"description":"Package key"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-package-rating?pkg=pgf"},{"command":"list-package-comments","summary":"List user comments on a package (commenter, profile link, date), paginated","params":[{"name":"pkg","type":"string","required":true,"description":"Package key"},{"name":"offset","type":"number","description":"Page index, starting at 0 (the UI increments it by 1 per page)","default":0},{"name":"max","type":"number","description":"Comments per page","default":4}],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-package-comments?pkg=pgf"},{"command":"list-topics","summary":"List all topics with slug, URL and a tooltip containing the description and package count","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-topics"},{"command":"list-topics-by-count","summary":"List topics ranked by number of packages","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-topics-by-count"},{"command":"list-topic-packages","summary":"List the packages in a topic","params":[{"name":"topic","type":"string","required":true,"description":"Topic slug from list-topics, e.g. biomedical, font-sample"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-topic-packages"},{"command":"list-top-contributors","summary":"List top contributors with their package counts","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-top-contributors"},{"command":"list-contributors","summary":"List contributors whose surname starts with a given letter","params":[{"name":"letter","type":"string","required":true,"description":"Initial letter, uppercase A-Z"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-contributors"},{"command":"get-contributor","summary":"List the packages maintained by a contributor","params":[{"name":"id","type":"string","required":true,"description":"Contributor id: the last segment of /author/{id} URLs"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-contributor"},{"command":"list-announcements","summary":"List the latest CTAN-ann announcements (package uploads and updates)","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-announcements"},{"command":"get-announcement","summary":"Get the full text of an announcement and the package it concerns","params":[{"name":"msgid","type":"string","required":true,"description":"Message id: the last path segment of /ctan-ann/id/... links"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-announcement"},{"command":"list-package-announcements","summary":"List all announcements for one package","params":[{"name":"pkg","type":"string","required":true,"description":"Package key"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-package-announcements"},{"command":"browse-archive","summary":"List subdirectories and files (size, date, download URL) in a CTAN archive directory","params":[{"name":"path","type":"string","required":true,"description":"Archive path without a leading slash, e.g. graphics/pgf/contrib/pgfplots"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/browse-archive?path=graphics%2Fpgf%2Fcontrib%2Fpgfplots"},{"command":"list-licenses","summary":"List the license keys used in the TeX Catalogue (free and non-free)","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/list-licenses"},{"command":"get-license","summary":"Get a license's name, text and reference link","params":[{"name":"key","type":"string","required":true,"description":"License key from list-licenses, e.g. mit, gpl3, lppl1.3c"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-license"},{"command":"get-license-stats","summary":"Get how many packages use a license, out of the total package count","params":[{"name":"key","type":"string","required":true,"description":"License key, e.g. mit"}],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-license-stats"},{"command":"get-upload-stats","summary":"Get monthly CTAN upload counts as [year, month, count] tuples","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-upload-stats"},{"command":"get-random-package","summary":"Get a random featured package (key, name, caption, description)","params":[],"exampleUrl":"https://clify-dev.netlify.app/ctan/get-random-package"}]}