u/S1M0N38

▲ 28 r/tmux

tau - sensible tmux config for multiple project sessions

I've moved from session terminal based setup to tmux (3.6+). here is my simple self-contained setup. tmux (or similar multiplexer) are by far the easier solution for agent orchestration for terminal lovers.

repo: https://github.com/S1M0N38/tau

u/S1M0N38 — 12 days ago
▲ 14 r/neovim

TL;DR: I've updated my Neovim plugin template (base.nvim) with a .agents/skills directory to give coding agents the exact context they need to write better Neovim plugins.


A couple of years ago, I created S1M0N38/base.nvim, borrowing ideas from other templates and updating them to modern tools for Nvim plugin development.

I've been using that to create personal plugins with pretty much the same schema. I like to start from a familiar template which automates all the daunting stuff like CI/CD, changelog generation, automatic releases, doc patterns, ...

Whenever I encountered a recurring issue in Neovim, I'd start by hacking together some custom Lua scripts in my config. Then, if I found that useful, I packaged these functionalities into small personal plugins (that's why I created base.nvim in the first place).

There are repetitive operations when writing simple plugins: define function APIs (user and private), add nvim commands (e.g., :HelloWorld), define user options tables for the plugin, write the doc/plugin.txt, checkhealth, maybe some default keymaps, etc. But the actual plugin logic was usually very simple. The core logic rarely needs to be original; once you find a pattern that works (like toggling UI elements or spawning jobs), you just adapt it to your specific use case.

Fast-forward to 2026. Coding agents have become extremely competent in writing lua code, but they still have some issues in plugin development (unless properly instructed):

  • Using old/deprecated nvim APIs
  • Structuring codebases suboptimally
  • Guessing at implementation patterns on their own
  • Lacking clear ways to test the code they produce
  • ...

But their intelligence is not the bottleneck; the ability to interact with the nvim plugin dev env is the real one.


base.nvim (v3) is trying to address this gap.

I've updated the template to recent versions of dev tools that I like to use in 2026:

  • follow nvim-best-practices
  • LuaCATS type annotations with LuaLS checking
  • mini.test + luassert test suite
  • StyLua formatting and linting
  • CI with lint, typecheck, and test (stable + nightly)
  • Automated releases via release-please with GitHub and LuaRocks publishing
  • Health checks and vimdoc documentation

and a provider-agnostic coding agent skill dir (.agents/skills/)

  • nvim-init: Initialize plugin project and verify development environment
  • nvim-plugin: Plugin development best practices and patterns
  • nvim-test: Execute tests and diagnose failures
  • nvim-doc: Write and update vimdoc help documentation
  • nvim-commit: Create conventional commits for release-please
  • nvim-help: Search Neovim's built-in :help documentation

Disclaimer: I've tested this new template by developing simple plugins using the Pi agent + GLM 5.1. If you are developing something more complex/original, just using the coding agent can slow you down and produce low-quality code.

I hope that this template helps to lower the barrier even more in simple personal plugin development. Arcane vimscript is just a vestige of the past.


Edit: btw if you don't want to use coding agents in your development, just delete the .agents/skills dir and you are go good to go. skills are just md files, there are no fancy AI integration in this repo.

u/S1M0N38 — 16 days ago