{"id":18534229,"url":"https://github.com/nvim-neorocks/nurr","last_synced_at":"2025-04-09T15:31:33.460Z","repository":{"id":225390934,"uuid":"765873846","full_name":"nvim-neorocks/nurr","owner":"nvim-neorocks","description":"A repository for hosting auto-generated Neovim plugins and tree-sitter parsers for Luarocks.","archived":false,"fork":false,"pushed_at":"2024-10-29T12:12:56.000Z","size":1417,"stargazers_count":30,"open_issues_count":5,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-29T14:40:04.457Z","etag":null,"topics":["luarocks","neovim","plugin-repo"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nvim-neorocks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-01T19:42:19.000Z","updated_at":"2024-10-29T12:13:00.000Z","dependencies_parsed_at":"2024-04-14T23:44:00.444Z","dependency_job_id":"314edada-8a94-453f-ab2c-79dcbaf3438b","html_url":"https://github.com/nvim-neorocks/nurr","commit_stats":{"total_commits":851,"total_committers":10,"mean_commits":85.1,"dds":0.4535840188014101,"last_synced_commit":"ae4710e0257e7a9b8f5a47cc3137de89502e364a"},"previous_names":["nvim-neorocks/nurr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-neorocks%2Fnurr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-neorocks%2Fnurr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-neorocks%2Fnurr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-neorocks%2Fnurr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvim-neorocks","download_url":"https://codeload.github.com/nvim-neorocks/nurr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247731243,"owners_count":20986623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["luarocks","neovim","plugin-repo"],"created_at":"2024-11-06T19:14:58.490Z","updated_at":"2025-04-09T15:31:33.435Z","avatar_url":"https://github.com/nvim-neorocks.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neovim User Rock Repository (NURR)\n\nThe NURR hosts and automatically packages Neovim Luarocks releases for many plugins\nand tree-sitter parsers whose developers do not want to maintain a Luarocks CI workflow.\n\nThis repository contains a CI which runs periodically, enumerating a set of curated Neovim plugins\nand publishing them to `luarocks.org`.\n\n\u003c!-- FIXME: --\u003e\n\u003c!-- the `neovim` manifest on `luarocks.org` - this keeps the root manifest clean --\u003e\n\u003c!-- and allows the original authors to publish their own plugins if they so choose. --\u003e\n\n## How it works\n\nPlugins are published using the [luarocks-tag-release](https://github.com/nvim-neorocks/luarocks-tag-release)\naction.\n\n### Plugins\n\nThe plugin metadata are stored in a [plugins.json](./plugins.json) file, which\nis currently updated manually.\nA [chunk workflow](./.github/workflows/chunk.yml) reads the plugins.json file and \nchunks the plugins into sets of 256 (the max number of outputs per job).\nEach chunk is dispatched to an update workflow, \nwhich uses the chunk it receives as the input for a matrix build.\n\n\u003e [!NOTE]\n\u003e\n\u003e Neovim plugins are published every 4 hours.\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e When adding a plugin that claims it depends on nvim-treesitter,\n\u003e check if it actually does. Many plugins only depend on the parsers.\n\u003e If it does, we recommend:\n\u003e\n\u003e - Adding `nvim-treesitter-legacy-api` to the dependencies\n\u003e   (this does not clash with the luarocks tree-sitter parsers' queries).\n\u003e - Opening a PR or an issue to use Neovim's core API instead.\n\n#### Schema\n\n- `name`: owner/repo (GitHub)\n- `shorthand`: The name of the plugin (will be the lua rock name)\n- `dependencies`: Plugin dependencies, a list of luarocks plugins\n- `summary`: Short description of the plugin\n- `license`: The license SPDX\n- `extra_directories`: (optional) Extra directories to copy, separated by `\\n`,\n  in addition to the standard Neovim runtime directories, which are auto-detected.\n\n### Tree-sitter parsers [WIP]\n\n- One workflow periodically generates the [tree-sitter-parsers.json](./tree-sitter-parsers.json)\n  file, using nvim-treesitter as a source.\n- Another workflow uses that file as a matrix input, to generate\n  rockspecs (that use [`luarocks-build-tree-sitter-parser`](https://github.com/nvim-neorocks/luarocks-build-treesitter-parser))\n  and publishes them to luarocks.org.\n\n\u003e [!NOTE]\n\u003e\n\u003e Tree-sitter parsers are published every 7 hours.\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e Any tree-sitter parser rockspecs that cannot be built and installed by the workflow\n\n\u003e are not uploaded to luarocks.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvim-neorocks%2Fnurr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvim-neorocks%2Fnurr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvim-neorocks%2Fnurr/lists"}