From 37f987de761e6445f76c1540b33c325def982845 Mon Sep 17 00:00:00 2001 From: ray Date: Sat, 6 Dec 2025 20:23:04 +0000 Subject: [PATCH] granualise phases --- AGENTS.md | 7 ++-- MIGRATION_PLAN.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 97 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a3c3942..6641cd8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -93,8 +93,9 @@ This repository is being migrated to a modern, minimal Neovim setup driven by Lu ## Process - Before large changes, update the task plan via the CLI `update_plan` tool. -- Keep the live checklist in `MIGRATION_PLAN.md:1` up to date and in sync with changes. --- After any config or plugin change, immediately update `MIGRATION_PLAN.md` (check off items, add notes, or adjust next steps). -- At the start of each phase, confirm scope and priorities for that phase. + - Keep the live checklist in `MIGRATION_PLAN.md:1` up to date and in sync with changes. + - After any config or plugin change, immediately update `MIGRATION_PLAN.md` (check off items, add notes, or adjust next steps). + - At the start of each phase, confirm scope and priorities for that phase. + - Execute phases via subphases (`N.x`), where each bullet under a phase is its own implement-and-test step (e.g., Phase 3.1, 3.2, 3.3, 3.4). - Keep PR-sized patches; avoid broad unrelated edits. - Document non-obvious choices in commit messages or short comments near the code that needs it. diff --git a/MIGRATION_PLAN.md b/MIGRATION_PLAN.md index 45c6f40..b5dc7de 100644 --- a/MIGRATION_PLAN.md +++ b/MIGRATION_PLAN.md @@ -6,67 +6,159 @@ Source of truth for the step-by-step rebuild. Keep this concise and up to date. - [x] Create AGENTS.md with rules ## Phase 1 — Clean & Archive Legacy Config + +## Phase 1.1 — Confirm scope and priorities - [x] Confirm scope and priorities for this phase + +## Phase 1.2 — Inventory legacy files - [x] Inventory existing Vimscript, plugin files, and directories + +## Phase 1.3 — Create archive location - [x] Create `legacy/` archive folder within this config + +## Phase 1.4 — Move legacy files into archive - [x] Move legacy init files and plugin directories into `legacy/` (do not delete) + +## Phase 1.5 — Document archived contents - [x] Optionally add `legacy/README.md` noting what was archived + +## Phase 1.6 — Preserve selected directories - [x] Keep `undodir`, `spell`, `view`, `UltiSnips`, `templates` as-is for now (review later) ## Phase 2 — Bootstrap + +## Phase 2.1 — Confirm scope and priorities - [x] Confirm scope and priorities for this phase + +## Phase 2.2 — Scaffold Lua config skeleton - [x] Scaffold Lua config skeleton (`init.lua`, `lua/settings.lua`, `lua/keymaps.lua`, `lua/autocmds.lua`, `lua/utils.lua`, `lua/plugins/`) + +## Phase 2.3 — Bootstrap lazy.nvim - [x] Bootstrap `lazy.nvim` plugin manager + +## Phase 2.4 — Disable unused providers - [x] Disable unused providers (ruby, perl, node) - - [x] Ensure lazy boots without specs (add empty `lua/plugins/init.lua`) + +## Phase 2.5 — Ensure lazy boots without specs +- [x] Ensure lazy boots without specs (add empty `lua/plugins/init.lua`) ## Phase 3 — Core Editing & LSP + +## Phase 3.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 3.2 — Non-plugin settings to Lua - [ ] Port non-plugin settings to Lua (options, listchars, showbreak, spelllang=en_gb) + +## Phase 3.3 — Core completion stack - [ ] Add core completion stack: `nvim-cmp`, `cmp-nvim-lsp`, `cmp-buffer`, `cmp-path`, `LuaSnip` + +## Phase 3.4 — LSP minimal defaults - [ ] Add `nvim-lspconfig` with minimal defaults (no over-configuration) ## Phase 4 — Navigation + +## Phase 4.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 4.2 — Neo-tree setup - [ ] Add `neo-tree.nvim` with per-tab roots, sidebar toggle, floating view, and preview keymap (no buffer pollution) + +## Phase 4.3 — Telescope setup - [ ] Add `telescope.nvim` (+ optional `telescope-fzf-native.nvim`) and basic pickers ## Phase 5 — Treesitter + +## Phase 5.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 5.2 — Base Treesitter - [ ] Add `nvim-treesitter` with incremental selection, highlighting + +## Phase 5.3 — Treesitter textobjects - [ ] Add `nvim-treesitter-textobjects` + +## Phase 5.4 — Treesitter autotag - [ ] Add `nvim-ts-autotag` ## Phase 6 — UX / Editing + +## Phase 6.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 6.2 — Comment.nvim - [ ] Add `numToStr/Comment.nvim` + +## Phase 6.3 — Surround - [ ] Add `kylechui/nvim-surround` + +## Phase 6.4 — Autopairs - [ ] Add `windwp/nvim-autopairs` + +## Phase 6.5 — Indent guides - [ ] Add `lukas-reineke/indent-blankline.nvim` + +## Phase 6.6 — Motion (leap/flash) - [ ] Add `ggandor/leap.nvim` or `folke/flash.nvim` + +## Phase 6.7 — Folding (UFO) - [ ] Add `kevinhwang91/nvim-ufo` for folding + +## Phase 6.8 — Optional: Undotree - [ ] (Optional) Add `mbbill/undotree` ## Phase 7 — Git, Markdown, Copilot, Formatting + +## Phase 7.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 7.2 — Git - [ ] Add `lewis6991/gitsigns.nvim` + +## Phase 7.3 — Markdown - [ ] Add `render-markdown.nvim` + +## Phase 7.4 — Copilot - [ ] Add `zbirenbaum/copilot.lua` + `copilot-cmp` + +## Phase 7.5 — Formatting - [ ] Add `nvimtools/none-ls.nvim` with minimal formatters/linters ## Phase 8 — Migrate Kept Behaviours + +## Phase 8.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 8.2 — Abbreviations - [ ] Abbreviations: `adn→and`, `waht→what`, `tehn→then`, `functin→function`, `positin→position` + +## Phase 8.3 — Templates - [ ] Templates: auto-populate new `.sh` from template + +## Phase 8.4 — Whitespace highlighting - [ ] Whitespace highlighting (modern approach) + +## Phase 8.5 — Persistent folds - [ ] Persistent folds (via UFO) ## Phase 9 — Cleanup & Validation + +## Phase 9.1 — Confirm scope and priorities - [ ] Confirm scope and priorities for this phase + +## Phase 9.2 — Retire legacy files - [ ] Retire legacy Vimscript files (keep for reference until verified) + +## Phase 9.3 — Startup performance - [ ] Validate startup performance (no errors, fast launch) + +## Phase 9.4 — Tab workflow validation - [ ] Validate tab-per-context workflow with Neo-tree + +## Phase 9.5 — Navigation validation - [ ] Validate Telescope navigation + LSP jumps + +## Phase 9.6 — Language tooling validation - [ ] Validate HTML/PHP/JS/Markdown tooling ---