{"id":20255573,"url":"https://github.com/nvim-lua/nvim-lua-plugin-template","last_synced_at":"2025-07-26T16:38:20.091Z","repository":{"id":39626524,"uuid":"388906717","full_name":"nvim-lua/nvim-lua-plugin-template","owner":"nvim-lua","description":"A starter template for a Neovim plugin written in Lua","archived":false,"fork":false,"pushed_at":"2024-11-28T09:23:53.000Z","size":12,"stargazers_count":157,"open_issues_count":2,"forks_count":17,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-29T00:11:47.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nvim-lua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-07-23T19:30:58.000Z","updated_at":"2025-03-26T23:51:12.000Z","dependencies_parsed_at":"2025-03-29T00:11:35.353Z","dependency_job_id":"b68fbefb-71c4-4bf8-b6ae-4987454fc69d","html_url":"https://github.com/nvim-lua/nvim-lua-plugin-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-lua%2Fnvim-lua-plugin-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-lua%2Fnvim-lua-plugin-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-lua%2Fnvim-lua-plugin-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvim-lua%2Fnvim-lua-plugin-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvim-lua","download_url":"https://codeload.github.com/nvim-lua/nvim-lua-plugin-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271515,"owners_count":20911587,"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":[],"created_at":"2024-11-14T10:39:24.187Z","updated_at":"2025-04-05T01:03:50.858Z","avatar_url":"https://github.com/nvim-lua.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nvim-lua-plugin-template\n\nThis repository is a template for Neovim plugins written in Lua.\n\nThe intention is that you use this template to create a new repository where you then adapt this readme and add your plugin code.\nThe template includes the following:\n\n- GitHub workflows and configurations to run linters and tests\n- Packaging of tagged releases and upload to [LuaRocks][luarocks]\n  if a [`LUAROCKS_API_KEY`][luarocks-api-key] is added\n  to the [GitHub Actions secrets][gh-actions-secrets]\n- Minimal test setup:\n  - A `scm` [rockspec][rockspec-format], `nvim-lua-plugin-scm-1.rockspec`\n  - A `.busted` file\n- EditorConfig\n- A .luacheckrc\n\n\nTo get started writing a Lua plugin, I recommend reading `:help lua-guide` and\n`:help write-plugin`.\n\n## Scope\n\nAnything that the majority of plugin authors will want to have is in scope of\nthis starter template. Anything that is controversial is out-of-scope.\n\n## Usage\n\n- Click [Use this template][use-this-template]. Do not fork.\n- Rename `nvim-lua-plugin-scm-1.rockspec` and change the `package` name\n  to the name of your plugin.\n\n## Template License\n\nThe template itself is licensed under the [MIT license](https://en.wikipedia.org/wiki/MIT_License).\nThe template doesn't include a LICENSE file. You should add one after creating your repository.\n\n---\n\n\nThe remainder of the README is text that can be preserved in your plugin:\n\n---\n\n\n## Development\n\n### Run tests\n\n\nRunning tests requires either\n\n- [luarocks][luarocks]\n- or [busted][busted] and [nlua][nlua]\n\nto be installed[^1].\n\n[^1]: The test suite assumes that `nlua` has been installed\n      using luarocks into `~/.luarocks/bin/`.\n\nYou can then run:\n\n```bash\nluarocks test --local\n# or\nbusted\n```\n\nOr if you want to run a single test file:\n\n```bash\nluarocks test spec/path_to_file.lua --local\n# or\nbusted spec/path_to_file.lua\n```\n\nIf you see an error like `module 'busted.runner' not found`:\n\n```bash\neval $(luarocks path --no-bin)\n```\n\nFor this to work you need to have Lua 5.1 set as your default version for\nluarocks. If that's not the case you can pass `--lua-version 5.1` to all the\nluarocks commands above.\n\n[rockspec-format]: https://github.com/luarocks/luarocks/wiki/Rockspec-format\n[luarocks]: https://luarocks.org\n[luarocks-api-key]: https://luarocks.org/settings/api-keys\n[gh-actions-secrets]: https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository\n[busted]: https://lunarmodules.github.io/busted/\n[nlua]: https://github.com/mfussenegger/nlua\n[use-this-template]: https://github.com/new?template_name=nvim-lua-plugin-template\u0026template_owner=nvim-lua\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvim-lua%2Fnvim-lua-plugin-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvim-lua%2Fnvim-lua-plugin-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvim-lua%2Fnvim-lua-plugin-template/lists"}