A template repository for creating Neovim plugins with a pre-configured Lua structure, testing, and CI workflows.
nvim-plugin-template is a GitHub template repository designed to kickstart the development of Neovim plugins. It provides a pre-configured project structure, automated testing with plenary.nvim and busted, and CI/CD workflows for formatting checks and documentation generation. It solves the problem of repetitive setup and ensures new plugins follow best practices from the start.
Lua developers and Neovim enthusiasts who want to create and distribute high-quality Neovim plugins with minimal initial configuration. It's ideal for those familiar with Neovim's Lua API and looking for a standardized development workflow.
Developers choose this template because it eliminates boilerplate, enforces code quality through automated checks, and streamlines publishing via Luarocks. Its opinionated structure and integrated tools reduce setup time and help maintain consistency across plugins.
A neovim plugin template for github repos
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely in Lua, it ensures deep compatibility with Neovim's native scripting and performance benefits, as stated in the README's 100% Lua codebase feature.
Includes pre-configured testing with plenary.nvim and busted, enabling robust test-driven development without manual setup, as highlighted in the features.
Integrates Stylua for automatic formatting checks, enforcing consistent code style and catching errors through GitHub Actions workflows.
Provides a GitHub Actions workflow for publishing to Luarocks with secret configuration, simplifying distribution and release management.
Relies on external tools like plenary.nvim, busted, and Stylua, which can introduce complexity, maintenance overhead, and potential compatibility issues.
The standardized directory layout is fixed and may not accommodate all plugin architectures, forcing adherence to a specific pattern that could be restrictive.
Exclusively designed for Lua plugins, making it unsuitable for projects that need Vimscript or other languages, despite Neovim's multi-language capabilities.