diff --git a/.serena/memories/project_status_verified_2025.md b/.serena/memories/project_status_verified_2025.md index ed71e2d..99204df 100644 --- a/.serena/memories/project_status_verified_2025.md +++ b/.serena/memories/project_status_verified_2025.md @@ -16,10 +16,15 @@ This memory contains only verified, accurate information about the current proje ### Dependencies (Verified) +package.json excerpts: + ```json "dependencies": { "tree-sitter-bash": "^0.25.0" -}, +} +``` + +```json "devDependencies": { "markdownlint-cli": "^0.42.0", "nodemon": "^3.0.1", @@ -29,6 +34,8 @@ This memory contains only verified, accurate information about the current proje ### NPM Scripts (Verified - 13 total) +package.json excerpt: + ```json "scripts": { "generate": "tree-sitter generate", @@ -87,6 +94,17 @@ test/corpus/ - All essential conflicts properly configured - Unnecessary conflicts eliminated through optimization +**CI Enforcement Recommendation**: Add CI guard to fail on any conflicts/warnings + +```yaml +# Add to CI workflow before tests +- name: Generate grammar (fail on conflicts) + run: | + set -euo pipefail + npx tree-sitter generate 2>&1 | tee generate.log + ! rg -nP '(conflict|warn)' generate.log +``` + ### Supported ShellSpec Constructs (Verified) #### Block Types diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 441536b..0cc51d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -149,11 +149,11 @@ ShellSpec code here npm test # Test specific patterns -tree-sitter test --filter "describe_blocks" -tree-sitter test --filter "real_world_patterns" +npx tree-sitter test --filter "describe_blocks" +npx tree-sitter test --filter "real_world_patterns" # Test with debug output -tree-sitter test --debug +npx tree-sitter test --debug ``` ### Test Coverage Requirements @@ -200,7 +200,7 @@ tree-sitter test --debug ### Before Submitting 1. **Ensure all tests pass:** `npm test` -2. **Check code style:** `npm run lint && npm run format:check` +2. **Check code style:** `npm run lint && npm run lint:editorconfig && npm run lint:markdown` 3. **Update documentation** if needed 4. **Test with real ShellSpec files** when possible 5. **Run the full development cycle:** `npm run rebuild`