Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. neogen

neogen

GPL-3.0Lua

A Neovim plugin that automatically generates code annotations for multiple languages and documentation conventions.

GitHubGitHub
1.6k stars75 forks0 contributors

What is neogen?

Neogen is a Neovim plugin that automatically generates code annotations and documentation comments for functions, classes, types, and files. It solves the problem of manually writing repetitive documentation by analyzing code structure with Tree-sitter and inserting appropriate annotation templates based on the language and chosen convention.

Target Audience

Neovim users who write code in multiple programming languages and want to maintain consistent, high-quality documentation with minimal effort. Particularly valuable for teams enforcing specific documentation standards.

Value Proposition

Developers choose Neogen for its extensive language support, flexibility with annotation conventions, and seamless Neovim integration that saves time while improving code documentation quality.

Overview

A better annotation generator. Supports multiple languages and annotation conventions.

Use Cases

Best For

  • Automatically generating JSDoc comments for JavaScript/TypeScript functions
  • Creating Python docstrings in Google, NumPy, or reST formats
  • Adding Doxygen annotations to C/C++ codebases
  • Documenting Lua modules with EmmyLua or LDoc conventions
  • Maintaining consistent documentation across multi-language projects
  • Quickly documenting legacy code that lacks annotations

Not Ideal For

  • Users of editors other than Neovim, such as VSCode or JetBrains IDEs, who need cross-platform documentation tools
  • Projects in languages not covered by Neogen's supported list, like Swift or Haskell, where alternative plugins or manual methods are necessary
  • Environments where Tree-sitter parsers cannot be installed due to system restrictions or minimal setups
  • Teams that prefer lightweight, non-automated documentation workflows, as Neogen adds configuration overhead for its automation benefits

Pros & Cons

Pros

Extensive Language Support

Covers over 15 languages including Python, JavaScript, Java, and Rust, with specific annotation types for each, as detailed in the Supported Languages table, making it versatile for multi-language projects.

Flexible Annotation Conventions

Supports popular documentation styles like JSDoc, Doxygen, and Google Docstrings, allowing teams to customize templates to fit their coding standards, as shown in the Configuration section.

Smart Cursor Navigation

Automatically jumps the cursor into inserted annotations for immediate editing, with optional snippet engine integration for seamless placeholder cycling, enhancing workflow efficiency.

Tree-sitter Precision

Uses Tree-sitter parsers for accurate code structure analysis, ensuring reliable annotation placement, which is a core requirement highlighted in the README.

Cons

Dependency on Tree-sitter

Requires Tree-sitter parsers to be installed separately, which can be a barrier in environments with limited system access or for users new to Neovim's Tree-sitter ecosystem.

Neovim Exclusive

Limited to Neovim users, making it unsuitable for developers on other editors, despite its robustness within the Neovim community.

Complex Advanced Configuration

Setting up custom templates or adding new languages involves Lua coding and understanding Neogen's internal structure, which may deter casual users or those seeking plug-and-play solutions.

Frequently Asked Questions

Quick Stats

Stars1,642
Forks75
Contributors0
Open Issues36
Last commit3 months ago
CreatedSince 2021

Tags

#developer-tools#annotation#snippet-engine#code-documentation#neovim-plugin#tree-sitter#neovim-lua#neovim#lua#nvim#documentation-generator

Built With

N
Neovim
T
Tree-sitter
L
Lua

Included in

Neovim20.6k
Auto-fetched 1 day ago

Related Projects

Comment.nvimComment.nvim

:brain: :muscle: // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more

Stars4,631
Forks174
Last commit1 year ago
todo-comments.nvimtodo-comments.nvim

✅ Highlight, list and search todo comments in your projects

Stars4,113
Forks131
Last commit5 months 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