Files
vern-nvim/docs/index.md
T

2.8 KiB
Raw Blame History

🚀 Welcome to Polydev

Polydev is a highly customizable and extensible Neovim plugin aimed at streamlining project creation and management for multiple programming languages. It’s especially suited for developers who work across different languages and want a consistent workflow for initializing, building, and running projects.

Polydev-c

❓ What is Polydev?

Polydev is designed to be a centralized workspace tool that reduces repetitive tasks involved in setting up development environments. Whether you’re working on a Lua plugin, a Rust CLI tool, or a C++ project, Polydev helps you scaffold project directories, create boilerplate code, and define keybinds to streamline execution — all from within Neovim.

💡 Why Polydev?

Modern development often involves juggling multiple languages. Setting up similar environments repeatedly or manually running commands wastes time. Polydev solves this by providing:

  • 📦 Project templates per language
  • 🎯 Custom keybindings for common actions
  • 💻 Floating terminal support
  • 🗂 Easy file creation and directory structure generation
  • 🔌 Plugin-first architecture to expand functionality

🔧 Core Features

  • 🌐 Language Support: Define custom settings per language including project_root, keybinds, and build_attributes.
  • 🪟 Floating Terminals: Run builds and executions in a Neovim floating terminal.
  • 🧱 Scaffolding: Automatically create the appropriate directory and file layout for new projects.
  • 🎹 Keybind Mapping: Rebind keys to execute project-specific commands like Build, Run, or Test.
  • 🔌 Pluggable: Designed to easily integrate with other tools or extend with your own commands and language presets.

👥 Target Audience

Polydev is perfect for:

  • 🧑‍💻 Developers building across multiple languages
  • 🔌 Plugin authors and power users of Neovim
  • ⚡ Anyone who wants automated project bootstrapping

🎯 Goals

  • 📏 Consistency: Provide a common interface for all your dev projects.
  • 🧩 Extensibility: Let users add their own languages and tools.
  • ✨ Simplicity: Reduce boilerplate and context switching.

🧪 Example Use Case

Say you're a developer who works with Rust, Lua, and Python. Instead of remembering build commands, directory structures, or manually creating a main.rs or init.lua, Polydev:

  1. 🏗 Sets up your directory based on language conventions.
  2. 📄 Generates boilerplate files.
  3. 🎛 Maps <leader>pr to Run, <leader>pb to Build, and so on.
  4. 🖥 Opens a floating terminal to show your output.

🏷 Versioning

Polydev uses GitHub tags and branches to manage plugin versions. Each version corresponds to a stable release that users can track.