Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. nvim-plugin-template

nvim-plugin-template

MITLua

A template repository for creating Neovim plugins with a pre-configured Lua structure, testing, and CI workflows.

GitHubGitHub
474 stars27 forks0 contributors

What is nvim-plugin-template?

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.

Target Audience

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.

Value Proposition

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.

Overview

A neovim plugin template for github repos

Use Cases

Best For

  • Bootstrapping a new Neovim plugin project quickly
  • Ensuring code quality with automated linting and testing
  • Publishing plugins to Luarocks with CI/CD automation
  • Learning Neovim plugin development best practices
  • Maintaining consistent structure across multiple plugins
  • Generating vimdocs automatically from Markdown

Not Ideal For

  • Plugin authors who prefer writing in Vimscript instead of Lua
  • Developers creating extremely small or experimental plugins where the structured setup is unnecessary overhead
  • Projects requiring integration with non-Neovim editors or environments
  • Teams with existing, mature plugin development pipelines who don't need a standardized template

Pros & Cons

Pros

Lua-First Integration

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.

Automated Testing Setup

Includes pre-configured testing with plenary.nvim and busted, enabling robust test-driven development without manual setup, as highlighted in the features.

Code Quality Enforcement

Integrates Stylua for automatic formatting checks, enforcing consistent code style and catching errors through GitHub Actions workflows.

Streamlined Publishing

Provides a GitHub Actions workflow for publishing to Luarocks with secret configuration, simplifying distribution and release management.

Cons

Dependency-Heavy Setup

Relies on external tools like plenary.nvim, busted, and Stylua, which can introduce complexity, maintenance overhead, and potential compatibility issues.

Opinionated Structure

The standardized directory layout is fixed and may not accommodate all plugin architectures, forcing adherence to a specific pattern that could be restrictive.

Limited Language Support

Exclusively designed for Lua plugins, making it unsuitable for projects that need Vimscript or other languages, despite Neovim's multi-language capabilities.

Frequently Asked Questions

Quick Stats

Stars474
Forks27
Contributors0
Open Issues2
Last commit1 year ago
CreatedSince 2022

Tags

#template#busted#neovim-plugin#plugin#plugin-development#luarocks#ci-cd#testing#templates#neovim#lua#nvim#github#github-actions

Built With

b
busted
s
stylua
G
GitHub Actions
p
plenary.nvim
M
Makefile
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

plugin-template.nvimplugin-template.nvim

A template to create Neovim plugins written in Lua

Stars137
Forks13
Last commit2 years ago
boilitboilit

create boilerplate structure for neovim plugins

Stars86
Forks1
Last commit3 years ago
nvim-pseudometa-plugin-templatenvim-pseudometa-plugin-template

A template for new nvim plugins

Stars41
Forks0
Last commit4 months ago
spring-initializr.nvimspring-initializr.nvim

The Spring Initializr for Neovim.

Stars22
Forks3
Last commit12 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub