# Task Completion Checklist When completing any development task in the nvim-shellspec project, follow this checklist: ## 1. Code Quality Checks (MANDATORY) ```bash # Run all pre-commit hooks pre-commit run --all-files ``` This runs: - **ShellCheck** - Shell script linting and static analysis - **shfmt** - Shell script formatting - **yamllint** - YAML file validation - **markdownlint** - Markdown linting and formatting - **Various pre-commit hooks** - Trailing whitespace, end-of-file, etc. ## 2. EditorConfig Compliance (BLOCKING) - All files must follow `.editorconfig` rules - 2-space indentation, LF line endings, UTF-8 encoding - 160 character line limit - Trim trailing whitespace (except Markdown) - End files with newline ## 3. Dual Implementation Testing (NEW - CRITICAL) ### 3a. Neovim Lua Implementation Testing ```bash # Test in Neovim 0.7+ nvim test_example.spec.sh # Verify Lua path is used :lua print("Using Lua implementation") :checkhealth shellspec # Test formatting with HEREDOC :ShellSpecFormat # Test configuration :lua require('shellspec').setup({auto_format = true}) ``` ### 3b. VimScript Fallback Testing ```bash # Test in older Neovim or Vim vim test_example.spec.sh # or nvim --clean with older version # Verify VimScript path is used :echo "Using VimScript implementation" # Test same formatting features work :ShellSpecFormat ``` ## 4. Advanced Formatting Feature Testing ### 4a. HEREDOC Preservation Testing Create test content: ```shellspec Describe "HEREDOC test" It "preserves formatting" cat <