No description
  • Shell 51.9%
  • Lua 40.2%
  • Makefile 7.9%
Find a file
Noe Trevino 0d745f16bd
All checks were successful
CI / stylua (push) Successful in 4s
CI / Check for debug messages (push) Successful in 3s
CI / config (push) Successful in 5s
CI / tests (push) Successful in 14s
CI / docs (push) Successful in 8s
CI / ci (push) Successful in 0s
Merge pull request 'ci: follow the shared workflow's main branch' (#2) from noe.trevino/ci/follow-main into main
2026-09-30 01:14:55 -05:00
.forgejo/workflows ci: follow the shared workflow's main branch 2026-09-29 23:13:57 -07:00
doc chore(build): auto-generated vimdocs 2026-07-20 04:24:25 +00:00
lua/myplugin feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
plugin feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
scripts fix: render colors in install-hooks summary output 2026-07-19 21:23:19 -07:00
tests feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
.gitignore feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
.luarc.json feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
bootstrap.sh feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
CHANGELOG.md feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
CLAUDE.md feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
CONTRIBUTING.md feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
LICENSE feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
Makefile feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00
README.md ci: move workflows to .forgejo/workflows 2026-09-29 14:49:19 -07:00
stylua.toml feat: neovim plugin template with test harness, hooks, and CI 2026-07-19 21:22:34 -07:00

template.nvim

Template for new Neovim plugins. Batteries included: Makefile, headless test harness (lazy.minit + mini.test), stylua pre-commit hook, mini.doc vimdoc generation, and CI via the shared thenoetrevino/github reusable workflow.

Creating a new plugin

gh repo create thenoetrevino/foo.nvim --template thenoetrevino/template.nvim --private --clone
cd foo.nvim
./bootstrap.sh foo

bootstrap.sh renames the myplugin placeholder everywhere (module dirs, specs, CI stub, docs), installs the pre-commit hook, runs the test suite to prove the skeleton is green, and deletes itself.

What you get

Piece Where Notes
Makefile Makefile make alone lists every target
Test harness tests/minit.lua, scripts/test busted-style specs, one headless nvim
Pre-commit hook scripts/install-hooks.sh stylua on staged files, git add -p safe
Docs generation scripts/minidoc.lua doc/ is generated -- never edit by hand
CI .forgejo/workflows/ci.yml stylua check, tests, docs, release-please

Everything below this line is the template for the new plugin's README


myplugin.nvim

One-line description.

Installation

-- lazy.nvim
{
  'thenoetrevino/myplugin.nvim',
  opts = {},
}

Configuration

require('myplugin').setup({
  greeting = 'hello from myplugin',
  enabled = true,
})

Development

make lists every target. make test and make fmt before a PR; make install-hooks once after cloning.