mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-12 05:51:19 +00:00
- 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
2.2 KiB
2.2 KiB
Task Completion Checklist
When completing any development task in this project, follow these steps:
1. Code Quality Checks
- Run
npm run generateortree-sitter generateto regenerate parser after grammar changes - Run
npm testortree-sitter testif test files exist - Check EditorConfig compliance (blocking errors)
- Fix any linting issues (considered blocking)
2. Linting and Formatting
- Run
npm run lintornpx mega-linter-runnerfor comprehensive linting - Fix all linting errors (NO linting issues are acceptable)
- Run
npm run precommitorpre-commit run --all-filesto verify pre-commit hooks pass - Use autofixers before manual lint fixing
3. Specific Linters to Run
npm run lint:yamloryamllint .for YAML filesnpm run lint:markdownormarkdownlint . --config .markdownlint.json --fixfor Markdownshellcheckfor any shell scripts
4. Development Workflow
- Use
npm run devfor quick development cycles (generate + test) - Use
npm run webfor interactive grammar testing - Use
npm run rebuildif 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
nvmfor Node.js version management - Never modify generated files in
src/manually - Current test suite has 53 tests with 87% pass rate (46/53)