# alexis12119/nvim-config architecture

> Architecture diagram of the GitHub repository alexis12119/nvim-config, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/alexis12119/nvim-config
- Repository: https://github.com/alexis12119/nvim-config

## Overview

This repository is a customized Neovim IDE configuration built on LazyVim, with NvChad-inspired UI and custom workflow tools. The main user workflow is to open Neovim, edit a project with language and editor support, and invoke tools such as debugging, project bootstrapping, code running, and collaboration. The tree and README establish these capabilities; most implementation files were not sampled, so the graph shows only high-level wiring supported by the documented configuration structure.

Main entry points: [`init.lua`](https://github.com/alexis12119/nvim-config/blob/main/init.lua) (Neovim Config Entry), [`lua/config/lazy.lua`](https://github.com/alexis12119/nvim-config/blob/main/lua/config/lazy.lua) (LazyVim Setup), [`lua/plugins/lang`](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lang) (Language Support), [`lua/plugins/lsp`](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lsp) (LSP And Diagnostics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_startup["Configuration"]
  node_entry["Neovim Config Entry<br/>[init.lua]"]
  node_settings["Editor Settings"]
  node_lazy["LazyVim Setup<br/>[lazy.lua]"]
  node_plugin_specs["Plugin Configuration"]
end

subgraph group_editing["Editing And Languages"]
  node_language["Language Support"]
  node_lsp["LSP And Diagnostics"]
  node_editor_tools["Editing Tools"]
  node_snippets["Code Snippets"]
  node_debug["Debug Adapters"]
end

subgraph group_workflow["Developer Workflows"]
  node_bootstrap["Project Bootstrap"]
  node_runner["Code Runner<br/>[code_runner.lua]"]
  node_eslint["ESLint Workflow<br/>[eslint.lua]"]
  node_collaboration["Collaboration"]
end

subgraph group_experience["Interface And Collaboration"]
  node_ui_plugins["UI Plugins"]
  node_statusline["Statusline And Tabs"]
  node_themes["Themes And Highlights"]
end

node_user(("Developer"))
node_external_tools{{"Language Tools"}}

node_user -->|"opens Neovim"| node_entry
node_entry -->|"configures startup"| node_lazy
node_lazy -->|"loads plugins"| node_plugin_specs
node_user -->|"customizes editor"| node_settings
node_user -->|"edits projects"| node_language
node_user -->|"uses code intelligence"| node_lsp
node_user -->|"uses editing tools"| node_editor_tools
node_user -->|"inserts snippets"| node_snippets
node_user -->|"debugs code"| node_debug
node_user -->|"bootstraps projects"| node_bootstrap
node_user -->|"runs code"| node_runner
node_user -->|"runs linting"| node_eslint
node_user -->|"pairs with others"| node_collaboration
node_user -->|"uses interface"| node_ui_plugins
node_user -->|"views editor state"| node_statusline
node_user -->|"selects appearance"| node_themes
node_language -.->|"configures language tools"| node_external_tools
node_lsp -.->|"configures servers"| node_external_tools

click node_entry "https://github.com/alexis12119/nvim-config/blob/main/init.lua"
click node_settings "https://github.com/alexis12119/nvim-config/tree/main/lua/config"
click node_lazy "https://github.com/alexis12119/nvim-config/blob/main/lua/config/lazy.lua"
click node_plugin_specs "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins"
click node_language "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lang"
click node_lsp "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lsp"
click node_editor_tools "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/editor"
click node_snippets "https://github.com/alexis12119/nvim-config/tree/main/snippets"
click node_debug "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/dap"
click node_bootstrap "https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/project_bootstrap.lua"
click node_runner "https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/code_runner.lua"
click node_eslint "https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/eslint.lua"
click node_collaboration "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/collaboration"
click node_ui_plugins "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/ui"
click node_statusline "https://github.com/alexis12119/nvim-config/tree/main/lua/config/statusline"
click node_themes "https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/colorscheme"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_settings,node_lazy,node_plugin_specs toneBlue
class node_language,node_lsp,node_editor_tools,node_snippets,node_debug toneAmber
class node_bootstrap,node_runner,node_eslint,node_collaboration toneMint
class node_ui_plugins,node_statusline,node_themes toneRose
class node_user,node_external_tools toneIndigo
```

## Components

### Configuration

- [Neovim Config Entry](https://github.com/alexis12119/nvim-config/blob/main/init.lua): `init.lua`
- [Editor Settings](https://github.com/alexis12119/nvim-config/tree/main/lua/config): `lua/config`
- [LazyVim Setup](https://github.com/alexis12119/nvim-config/blob/main/lua/config/lazy.lua): `lua/config/lazy.lua`
- [Plugin Configuration](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins): `lua/plugins`

### Editing And Languages

- [Language Support](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lang): `lua/plugins/lang`
- [LSP And Diagnostics](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/lsp): `lua/plugins/lsp`
- [Editing Tools](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/editor): `lua/plugins/editor`
- [Code Snippets](https://github.com/alexis12119/nvim-config/tree/main/snippets): `snippets`
- [Debug Adapters](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/dap): `lua/plugins/dap`

### Developer Workflows

- [Project Bootstrap](https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/project_bootstrap.lua): `lua/config/utils/project_bootstrap.lua`
- [Code Runner](https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/code_runner.lua): `lua/config/utils/code_runner.lua`
- [ESLint Workflow](https://github.com/alexis12119/nvim-config/blob/main/lua/config/utils/eslint.lua): `lua/config/utils/eslint.lua`
- [Collaboration](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/collaboration): `lua/plugins/collaboration`

### Interface And Collaboration

- [UI Plugins](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/ui): `lua/plugins/ui`
- [Statusline And Tabs](https://github.com/alexis12119/nvim-config/tree/main/lua/config/statusline): `lua/config/statusline`
- [Themes And Highlights](https://github.com/alexis12119/nvim-config/tree/main/lua/plugins/colorscheme): `lua/plugins/colorscheme`

### Other components

- **Developer**
- **Language Tools**

## Connections

- Developer → Neovim Config Entry: opens Neovim
- Neovim Config Entry → LazyVim Setup: configures startup
- LazyVim Setup → Plugin Configuration: loads plugins
- Developer → Editor Settings: customizes editor
- Developer → Language Support: edits projects
- Developer → LSP And Diagnostics: uses code intelligence
- Developer → Editing Tools: uses editing tools
- Developer → Code Snippets: inserts snippets
- Developer → Debug Adapters: debugs code
- Developer → Project Bootstrap: bootstraps projects
- Developer → Code Runner: runs code
- Developer → ESLint Workflow: runs linting
- Developer → Collaboration: pairs with others
- Developer → UI Plugins: uses interface
- Developer → Statusline And Tabs: views editor state
- Developer → Themes And Highlights: selects appearance
- Language Support → Language Tools: configures language tools
- LSP And Diagnostics → Language Tools: configures servers
