Files
tree-sitter-shellspec/.serena/memories/task_completion_checklist.md
Ismo Vuorinen c8ba576b4e feat: implement complete tree-sitter-shellspec grammar with comprehensive testing
- Add full ShellSpec grammar extending tree-sitter-bash
- Support all ShellSpec constructs: Describe, Context, It, hooks, utilities
- Include Data block parsing with statements and argument styles
- Add 61 comprehensive test cases covering real-world patterns
- Implement optimized GitHub workflows with CI/CD automation
- Configure complete development tooling (linting, formatting, pre-commit)
- Add comprehensive documentation and contribution guidelines
- Optimize grammar conflicts to zero warnings
- Support editor integration for Neovim, VS Code, Emacs

Breaking Changes:
- Initial release, no previous API to break

BREAKING CHANGE: Initial implementation of tree-sitter-shellspec grammar

# Conflicts:
#	.github/workflows/codeql.yml
#	.github/workflows/pr-lint.yml
#	.pre-commit-config.yaml

# Conflicts:
#	.github/workflows/pr-lint.yml

# Conflicts:
#	.github/workflows/pr-lint.yml
2026-01-04 15:32:39 +02:00

2.2 KiB

Task Completion Checklist

When completing any development task in this project, follow these steps:

1. Code Quality Checks

  • Run npm run generate or tree-sitter generate to regenerate parser after grammar changes
  • Run npm test or tree-sitter test if test files exist
  • Check EditorConfig compliance (blocking errors)
  • Fix any linting issues (considered blocking)

2. Linting and Formatting

  • Run npm run lint or npx mega-linter-runner for comprehensive linting
  • Fix all linting errors (NO linting issues are acceptable)
  • Run npm run precommit or pre-commit run --all-files to verify pre-commit hooks pass
  • Use autofixers before manual lint fixing

3. Specific Linters to Run

  • npm run lint:yaml or yamllint . for YAML files
  • npm run lint:markdown or markdownlint . --config .markdownlint.json --fix for Markdown
  • shellcheck for any shell scripts

4. Development Workflow

  • Use npm run dev for quick development cycles (generate + test)
  • Use npm run web for interactive grammar testing
  • Use npm run rebuild if encountering parser issues

5. Git Workflow

  • Ensure you are in the project root directory
  • Stage changes with git add
  • Commit with descriptive message
  • NEVER use git commit --no-verify
  • NEVER commit automatically unless explicitly requested

6. Tree-sitter Specific

  • Verify grammar generates without errors
  • Test parsing of sample ShellSpec files if available
  • Ensure conflicts are properly handled
  • Check that new rules don't break existing bash parsing
  • Run test suite and ensure reasonable pass rate (aim for >85%)

7. Testing

  • Add tests to test/corpus/ for new grammar features
  • Ensure tests follow tree-sitter test format
  • Verify test expectations match actual parser output
  • Update test expectations if grammar behavior changes

Important Notes

  • EditorConfig violations are blocking errors
  • All linting errors must be fixed before completion
  • Use full paths when changing directories
  • Use nvm for Node.js version management
  • Never modify generated files in src/ manually
  • Current test suite has 53 tests with 87% pass rate (46/53)