diff --git a/docs/index.md b/docs/index.md index e39768c..0c7bca0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,3 @@ -

Polydev

-

A multi-language project managing plugin for file creation, building, and running codeβ€”all within neovim. Whether you're coding in Java, Python, Lua, Rust, or more, Polydev provides seamless integration to boost your productivity inside Neovim.

@@ -14,49 +12,66 @@ Polydev Preview

-## πŸ’‘ 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: +## Why Polydev? -- πŸ“¦ **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** +Working across multiple languages often means repetitive setup and constant context switching. Polydev eliminates this friction by offering: -## πŸ”§ 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 `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 `pr` to `Run`, `po` to `Open Polydev Project Manager`, 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. +* Project templates per language +* Custom keybindings for essential actions +* Floating terminal integration +* Automated file and folder generation +* A plugin-first design for easy extensibility --- + +## Core Features + +* **Language Profiles** + Define settings per language including `project_root`, keymaps, and build commands. + +* **Floating Terminals** + Run build, and run commands in a clean, isolated terminal window inside Neovim. + +* **Scaffolding** + Quickly generate boilerplate and structured directories for new projects. + +* **Custom Keybinds** + Map actions like `Run`, `PipInstall`, `Open Manager`, `etc` to your preferred keys. + +* **Pluggable Design** + Easily extend functionality with custom language presets and commands. + +--- + +## Who It's For + +Polydev is ideal for: + +* Developers who work in multiple languages +* Neovim plugin authors or power users +* Anyone who wants a faster, more unified project workflow + +--- + +## Design Goals + +* **Consistency** + Offer a predictable workflow across languages and tools. + +* **Extensibility** + Support custom configurations, commands, and language integrations. + +* **Simplicity** + Reduce boilerplate, context switching, and friction. + +--- + +## Real-World Example + +If you switch often between Rust, Lua, and Python: + +1. Polydev sets up your project layout automatically. +2. Creates boilerplate like `main.rs`, `init.lua`, or `main.py`. +3. Maps commands to keys (e.g. `pr` to run, `po` to open the manager). +4. Opens a floating terminal with build or run output β€” no extra configuration required.