{"id":26096515,"url":"https://github.com/jeangiraldoo/neovim-plugin-template","last_synced_at":"2025-03-09T14:56:15.410Z","repository":{"id":280454260,"uuid":"941119465","full_name":"jeangiraldoo/neovim-plugin-template","owner":"jeangiraldoo","description":"An all-in-one template to get you up and running with your next Neovim plugin🚀✨ ","archived":false,"fork":false,"pushed_at":"2025-03-03T17:45:30.000Z","size":10,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T14:56:12.309Z","etag":null,"topics":["neovim","neovim-plugin-template","plugin-template"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeangiraldoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jeangiraldoo"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-03-01T14:36:14.000Z","updated_at":"2025-03-03T19:32:20.000Z","dependencies_parsed_at":"2025-03-03T14:46:53.162Z","dependency_job_id":null,"html_url":"https://github.com/jeangiraldoo/neovim-plugin-template","commit_stats":null,"previous_names":["jeangiraldoo/neovim-plugin-template-batteries-included","jeangiraldoo/neovim-plugin-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeangiraldoo%2Fneovim-plugin-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeangiraldoo%2Fneovim-plugin-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeangiraldoo%2Fneovim-plugin-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeangiraldoo%2Fneovim-plugin-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeangiraldoo","download_url":"https://codeload.github.com/jeangiraldoo/neovim-plugin-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242705739,"owners_count":20172328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["neovim","neovim-plugin-template","plugin-template"],"created_at":"2025-03-09T14:56:14.458Z","updated_at":"2025-03-09T14:56:15.395Z","avatar_url":"https://github.com/jeangiraldoo.png","language":"Lua","funding_links":["https://github.com/sponsors/jeangiraldoo"],"categories":[],"sub_categories":[],"readme":"# A Neovim plugin template\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/neovim-%2323D0B8EB?style=for-the-badge\u0026logo=neovim\u0026color=%232E3A59\"\n        alt=\"Neovim logo\"\n    /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/lua_plugins-%2323D0B8EB?style=for-the-badge\u0026logo=lua\u0026logoColor=%23D0B8EB\u0026color=%232E3A59\"\n        alt=\"The template is for Lua plugins\"\n    /\u003e\n    \u003ca href = \"https://github.com/jeangiraldoo/neovim-plugin-template-batteries-included/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/MIT-%232E3A59?style=for-the-badge\u0026label=License\u0026labelColor=%232E3A59\u0026color=%23F4A6A6\"\n            alt=\"Latest version\"\n        /\u003e\n    \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/jeangiraldoo/neovim-plugin-template-batteries-included?style=for-the-badge\u0026logo=files\u0026logoColor=yellow\u0026label=SIZE\u0026labelColor=%232E3A59\u0026color=%23A8D8A1\"\n        alt=\"Repository size in KB\"\n    /\u003e\n\u003c/p\u003e\n\nWelcome to your new, batteries-included Neovim plugin template!\nThis beginner-friendly template is designed to make creating Neovim\nplugins with Lua as simple as possible by providing everything you\nneed right out of the box.\n\nEvery file and folder is thoroughly documented so you can easily\nunderstand its purpose—whether you're just starting your plugin\njourney, looking to learn some new tricks, or simply brushing up\non your skills.\n\nI hope you enjoy it and happy coding!\n\n## 📖 Table of Contents\n\n- [Features](#features)\n- [Plugin Structure Overview][plugin_structure]\n- [Get started](#get-started)\n- [Code Formatting and Linting](#code-formatting-and-linting)\n- [Markdown Linting](#markdown-linting)\n\n## \u003ca id=\"features\"\u003e\u003c/a\u003e🚀 Features\n\n- **Continuous Integration:** Utilizes GitHub Actions to ensure\n  consistent code quality by checking:\n\n  - Code formatting with [Stylua][stylua]\n  - Lua linting with [Luacheck][luacheck]\n  - Markdown linting with [Markdownlint][markdownlint]\n\n- **Standard Directory Structure:** Comes with a well-organized\n  base directory and file structure designed for Neovim plugin\n  development.\n\n- **Prebuilt README Template:** Includes a structured README with\n  essential sections, so you can focus on content instead of\n  setting up headers, a table of contents, and formatting.\n\n## \u003ca id=\"plugin-structure\"\u003e\u003c/a\u003e 📂 Plugin Structure Overview\n\n```bash\n.\n├── lua\n│   └── plugin_name\n│       └── init.lua\n├── plugin\n│   └── plugin_name.lua\n├── doc\n│   └── plugin_name.txt\n├── .github\n│   ├── FUNDING.yaml\n│   └── workflows\n│       ├── markdown_linting.yaml\n│       └── code_checks.yaml\n├── README_TEMPLATE.md\n└── README.md\n```\n\n- **lua/plugin_name:** This directory is automatically loaded\n  by Neovim and is intended to hold your plugin’s core logic.\n\n- **plugin:** Lua files in this directory are also auto-loaded by\n  Neovim. Typically, this folder is used for code that sets\n  up autocommands, user commands, keymaps, etc.—complementing\n  the core functionality in lua/plugin_name.\n\n- **doc:** Contains documentation that can be accessed from within\n  Neovim using the `:help` command.\n\n- **.github:** Holds GitHub configuration files such as workflows\n  and funding details. (This folder is ignored by Neovim.)\n\n## \u003ca id=\"get-started\"\u003e\u003c/a\u003e💻 Get started\n\nFollow these steps to use the template:\n\n1. Clone or Create from Template: Either clone this repository,\n   or if you're on GitHub, click the \"Use this template\" button\n   at the top-right of the repository page and select \"Create\n   new repository\".\n1. Rename Instances: Use the [plugin structure][plugin_structure] as a guide,\n   and replace every instance of plugin_name with the name of\n   your plugin.\n1. Replace the FUNDING.yaml file with your own or delete it,\n   as this file is used in this template repository to display\n   my \"Sponsor\" button.\n1. (Optional) Customize: Adjust the dotfiles or other\n   configuration defaults to better match your desired plugin\n   style.\n1. Have fun working on your plugin! :)\n\n## \u003ca id=\"code-formatting-and-linting\"\u003e\u003c/a\u003e🛠️ Code Formatting and Linting\n\nThis template enforces consistent coding standards by integrating:\n\n- Stylua for code formatting.\n- Luacheck for linting Lua code.\n\nThese checks run automatically via GitHub Actions, ensuring that your\ncode remains clean and error-free.\n\nFor an even smoother development experience, consider using a Neovim\nautoformatter like [Conform](https://github.com/stevearc/conform.nvim),\nwhich formats your code on every save.\n\n## \u003ca id=\"markdown-linting\"\u003e\u003c/a\u003e📝 Markdown Linting\n\nTo maintain well-formatted documentation, Markdown files are linted\nusing [Markdownlint][markdownlint]. This ensures that your README and any additional\ndocumentation follow best practices.\n\n\u003e **Note:** If you prefer not to use Markdownlint for your project, simply remove\n\u003e the markdown_linting.yaml workflow file.\n\n[plugin_structure]: #plugin-structure\n[markdownlint]: https://github.com/DavidAnson/markdownlint\n[stylua]: https://github.com/JohnnyMorganz/StyLua\n[luacheck]: https://github.com/mpeterv/luacheck\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeangiraldoo%2Fneovim-plugin-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeangiraldoo%2Fneovim-plugin-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeangiraldoo%2Fneovim-plugin-template/lists"}