Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim-configs

An AI-collaborative Neovim IDE built on kickstart.nvim — purpose-built for Web3 smart contract security auditing and general-purpose development. Unlike conventional Neovim distributions that rely on lazy.nvim or packer.nvim, this configuration uses Neovim's native package system (pack) with a custom bootstrap that auto-clones, loads, and self-cleans unused plugins at every startup. There is no plugin manager — just vim.fn.system("git clone ...") and vim.cmd("packadd ...").

Quick Start

# Prerequisites: Neovim ≥ 0.10, Git, a Nerd Font

# Clone the configuration
git clone https://github.com/exiquio/nvim-configs.git ~/.config/nvim

# Set your DeepSeek API key for AI features
export DEEPSEEK_API_KEY="sk-..."

# Launch — first run auto-clones all plugins and installs LSP servers via Mason
nvim

On first launch, Neovim clones all ~30 plugins into its pack directory, loads every plugin, removes any stale plugin directories (self-clean), and installs LSP servers/formatters/linters via Mason in the background.

Key Features

  • No Plugin Manager — Native pack system with custom bootstrap. Plugins are defined in lua/custom/plugins/*.lua files, each exporting { plugins, config } tables. The bootstrapper scans, clones missing repos, removes stale ones, and loads each via packadd.
  • Self-Cleaning Plugins — Unused plugin directories are automatically removed on every startup. Add a plugin by creating a file; remove it by deleting the file.
  • AI-Assisted Coding — CodeCompanion with DeepSeek v4-flash (inline, fast) and v4-pro (chat/agent, deep reasoning). Chat toggle, inline prompts, and agent mode.
  • 8 Custom @audit-* Keywords — Inline annotation system for security audit findings (@audit-info, @audit-ok, @audit-warn, @audit-fail, @audit-fix, @audit-todo, @audit-note, @audit-question). Auto-completed via custom blink.cmp source with Solidity block-comment awareness.
  • Solidity Supportsolidity_ls_nomicfoundation LSP, Tree-sitter parser, 4-space indentation, audit keyword integration.
  • Dynamic Color Column — 120-char colorcolumn only appears when any line exceeds the limit. Prevents visual clutter in well-formatted files.
  • Zero-Dependency Auto-Reload — External file changes detected via event-driven (FocusGained, BufEnter, CursorHold) + background timer (2.5s poll). Implemented in lua/config/autoreload.lua with no plugins.
  • blink.cmp Completion — Pinned v1.3.0, the fastest completion engine for Neovim. Custom source for @audit-* keywords.
  • WYSIWYG Markdownrender-markdown.nvim for in-buffer rendering, bullets.vim for auto-formatting lists, vim-table-mode for table alignment.

Directory Structure

~/.config/nvim/
├── init.lua                           # Entry point: vim.loader, globals, config/, plugin bootstrap
├── LICENSE.md
├── README.md
└── lua/
    ├── config/
    │   ├── options.lua                # Global editor options
    │   ├── keymaps.lua                # Core key mappings (LSP, Telescope, window nav)
    │   ├── autocommands.lua           # Yank highlight, dynamic colorcolumn, treesitter
    │   └── autoreload.lua             # File change detection (zero plugins)
    └── custom/
        ├── plugins/                   # Plugin definitions (one file per group)
        │   ├── init.lua               # Dynamic loader — scans directory, aggregates all plugins
        │   ├── theme.lua              # Dracula Pro colorscheme
        │   ├── treesitter.lua         # Language parsers
        │   ├── lsp.lua                # LSP servers, Mason, lazydev
        │   ├── blink.lua              # blink.cmp completion engine
        │   ├── codecompanion.lua      # AI assistant (DeepSeek) + animated spinner
        │   ├── telescope.lua          # Fuzzy finder (fzf-native)
        │   ├── conform.lua            # Format dispatcher
        │   ├── todo-comments.lua      # @audit-* keyword highlighting
        │   ├── gitsigns.lua           # Git gutter signs
        │   ├── aerial.lua             # Code outline sidebar
        │   ├── autopairs.lua          # Auto-close brackets/quotes
        │   ├── bullets.lua            # Markdown list auto-formatting
        │   ├── guess-indent.lua       # Automatic indent detection
        │   ├── markdown-keymaps.lua   # Markdown editing shortcuts
        │   ├── markdown-lint.lua      # markdownlint-cli2
        │   ├── markdown-render.lua    # WYSIWYG Markdown rendering
        │   ├── mini.lua               # Mini.nvim utilities (statusline, etc.)
        │   ├── spectre.lua            # Multi-file search & replace
        │   ├── table-mode.lua         # Markdown table formatting
        │   └── which-key.lua          # Keybinding discovery popup
        └── blink/
            └── todo-keywords.lua      # Custom blink.cmp source for @audit-* completions

Dependencies

Dependency Minimum Notes
Neovim 0.10+ Uses vim.loader, vim.lsp.config, vim.uv
Git any Required for plugin cloning on first run
Nerd Font any Required for UI icons (web-devicons)
DEEPSEEK_API_KEY Required for CodeCompanion AI features
Dracula Pro SSH access required (private GitHub repo). See below for alternatives.

Dracula Pro Alternatives

If you don't have Dracula Pro access: edit lua/custom/plugins/theme.lua, replace the plugin entry with a public theme, and change vim.cmd.colorscheme("dracula_pro") to your preferred theme name.

Development

Language Support

Language LSP Server Formatter / Linter
Elixir expert / elixirls
Fish fish_lsp
JavaScript / TypeScript vtsls eslint_d
Lua lua_ls stylua
Markdown marksman mdformat, markdownlint-cli2
Python basedpyright ruff
Solidity solidity_ls_nomicfoundation
YAML

Key Bindings

Shortcut Action
<leader>ac Toggle AI chat
<leader>ai Inline AI prompt
<leader>aa AI actions menu
grd Go to definition
grr Find references
grn Rename symbol
gra Code action
<leader>sf Find files (Telescope)
<leader>sg Live grep (Telescope)
<leader><leader> Switch buffers
<C-h/j/k/l> Window navigation
<leader>q Diagnostic quickfix

AI Model Routing

Strategy Model Use Case
inline deepseek-v4-flash Quick completions, refactors
chat deepseek-v4-pro Deep multi-turn conversations
agent deepseek-v4-pro Multi-step AI workflows

Connections

The web3-security repository consumes this Neovim configuration via a sync Makefile target. During sync, a sed patch rewrites CodeCompanion's API key and LiteLLM proxy endpoint, routing AI requests through web3-security's infrastructure. This allows the same config to operate standalone (direct DeepSeek API) or orchestrated (proxied through the audit pipeline).

License

MIT — see LICENSE.md

About

My Neovim Configs (Forked from kickstart.nvim)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages