2.8 KiB
🚀 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.
❓ 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, andbuild_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
Run, orTest. - 🔌 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:
- 🏗 Sets up your directory based on language conventions.
- 📄 Generates boilerplate files.
- 🎛 Maps
<leader>prtoRun,<leader>potoOpen Polydev Project Manager, and so on. - 🖥 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.