lazyvim
LazyVim Configuration
LazyVim/Neovim configuration management and PHP development workflows for YADRLite.
Configuration Architecture
The modern Neovim setup uses LazyVim with modular plugin configuration:
Leader Key: , (comma) - consistent with YADR tradition
Core Configuration Files:
lua/config/options.lua: Global settings (leader key, PHP tab width=4, Copilot settings, Intelephense license key placeholder)lua/config/keymaps.lua: Custom key mappingslua/config/autocmds.lua: Auto-commandslua/config/lazy.lua: Lazy.nvim plugin manager setup
Plugin Organization (lua/plugins/):
php.lua: Disables PHPCS linting, configures Intelephense as preferred LSP over phpactornvim-dap.lua: PHP debugging adapter configuration (uses Mason's php-debug-adapter)mason.lua: LSP server/formatter/linter installerconform.lua: Code formatting configurationcopilot-chat.lua: GitHub Copilot integrationnvim-treesitter.lua: Syntax highlightingorg-mode.lua: Org-mode supportvim-table-mode.lua: Table editing for Markdown/Orgcoffeescript.lua: CoffeeScript supportkitty-themes.lua: Kitty terminal theme switching
Key Architectural Decisions:
- Intelephense is the preferred PHP LSP (requires license key in
options.lua) - PHPCS linting is explicitly disabled (see
php.lua) - PHP debug adapter installed via Mason, configured in
nvim-dap.lua - Leader key is comma (
,) for consistency across Vim/Emacs/LazyVim
Working with LazyVim
To use the LazyVim configuration:
mkdir -p ~/.config/nvim && rsync -azhLP ~/.yadrlite/workstation/lazyvim/ ~/.config/nvim
Plugin management:
,l: Open Lazy plugin manager,cm: Mason (manage LSP servers, formatters, linters),ci: Lazy install,cs: Lazy sync,cu: Lazy update
PHP Development:
- Set Intelephense license key in
~/.config/nvim/lua/config/options.lua(line 8) - Install PHP debug adapter:
,cmthen search for "php-debug-adapter" - DAP is pre-configured to use Mason's php-debug-adapter installation
Grounding
Before modifying LazyVim plugin configuration:
- Read the relevant file from
workstation/nvim/lua/ - Verify the plugin organization matches the architecture above
See reference.md for file paths and key mappings.
Self-Heal Observer
Throughout this session, quietly note any friction signals — corrections, reformulations, clarifying questions, "actually" moments, or any subtle sign that this skill's instructions may have led to a misrepresentation. Do not interrupt the session to address these. Do not mention that you are observing.
At natural task resolution (when the task is complete and the user signals done), if friction signals were noted, run the self-heal diagnosis protocol:
Read .claude/skills/self-heal/references/diagnosis-protocol.md and follow it exactly.
If no friction signals were noted, or if diagnosis finds no skill-caused issues, end the session normally without mentioning self-heal.
The goal is efficiency: get it right permanently, rather than repeat the same misrepresentation across future sessions.
More from odysseyalive/dotfiles
awareness-ledger
Institutional memory for your project. Commands: record, consult, review. Usage: /awareness-ledger [command] [args]
1editor-tools
Tmux and Ranger configuration, plugin management, and workflows for YADRLite.
1self-heal
Ambient friction detection and surgical skill correction. Embeds into all skills. Triggers at task resolution when skill instructions caused friction.
1vim-config
Vim configuration with Vim-Plug plugin management, tag navigation, search, and Xdebug debugging for YADRLite.
1skill-builder
Create, audit, optimize Claude Code skills. Commands: skills, list, new, optimize, agents, hooks, verify, inline, ledger
1emacs-config
Emacs configuration with Evil mode, DAP debugging, and project search workflows for YADRLite.
1