Skip to content

feat(pr-review-fix-loop): multi-language support + auto-activation skill - #28

Merged
dapi merged 22 commits into
masterfrom
feat/pr-review-fix-loop-multilang
Mar 1, 2026
Merged

feat(pr-review-fix-loop): multi-language support + auto-activation skill#28
dapi merged 22 commits into
masterfrom
feat/pr-review-fix-loop-multilang

Conversation

@dapi

@dapi dapi commented Mar 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Multi-language support: Auto-detect Ruby, Node, Python, Go, Rust projects with appropriate test/lint commands via detect-project.sh
  • Auto-activation skill: New SKILL.md (scored 93/100) enables automatic discovery when users mention PR review — suggests /pr-review-fix-loop with appropriate parameters
  • Script extraction: Inline logic replaced with testable scripts (detect-project.sh, detect-base-branch.sh, assemble-prompt.sh)
  • Test suite: 41 tests covering project detection, base branch detection, prompt assembly
  • Hardened error handling: Quoted heredocs, stderr suppression, .gitignore protection for report files
  • Version: 1.5.0 → 1.7.0

Test plan

  • 41 shell tests pass (test-detect-project.sh, test-detect-base-branch.sh, test-prompt-assembly.sh, test-loop-scripts.sh)
  • Skill quality gate: 93/100
  • Emoji lint: clean
  • Two rounds of PR review (code-reviewer + comment-analyzer): no blocking issues

🤖 Generated with Claude Code

dapi and others added 22 commits March 1, 2026 13:13
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…le scripts in commands

Commands now delegate project detection, base branch detection, and prompt
assembly to the new shell scripts instead of inline markdown logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix inverted codex CLI check logic (checked when --codex NOT set)
- Replace grep -P (PCRE) with grep -E (ERE) for macOS/Alpine compat
- Remove broken direnv exec subshell for command -v gh
- Add jq dependency check in detect-project.sh
- Log gh pr view errors instead of silently suppressing
- Add 6 new tests: requirements.txt, --test-cmd, --min-criticality,
  unknown args, no master/main fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove || true swallowing gh pr view errors, use if-construct instead
- Fix pipe masking detect-project.sh errors in codex-pr-review.md
- Add shift 2 guards in detect-base-branch.sh and assemble-prompt.sh
- Validate package.json before jq parsing in detect-project.sh
- Add warnings for fallback branch selection and invalid PR base
- Fix quoted heredoc preventing $PROMPT substitution in pr-review-fix-loop.md
- Document intentional word splitting on $ENV_EXEC

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix codex-pr-review.md: move detect-project before detect-base-branch,
  pass --env-exec to detect-base-branch.sh
- Add test for missing jq dependency in detect-project.sh

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add trap for temp file cleanup in detect-base-branch.sh
- Add shift guards in assemble-prompt.sh
- Add PROJECT_JSON exit code check and // empty for jq in pr-review-fix-loop.md
- Add tests: --base/--env-exec without value, --aspects custom, --lint without --lint-cmd
- Add setup-loop.sh iteration engine integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…gnore protection (#29)

- Replace full report output with compact summary (version, status icon, key metrics)
- Add per-iteration commit step (4.5) in assemble-prompt.sh
- Add .gitignore check/creation for .claude/*.local.md in setup-loop.sh
- Show remaining issues list on LIMIT REACHED
- Bump version to 1.6.0
- Fix quoting in detect-base-branch.sh

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
)

Ensure .claude/*.local.md is in .gitignore before creating report file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Unquoted $BASE in git diff and codex review commands could cause
word splitting on branch names with special characters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Warn on stderr when plugin version cannot be read instead of silent
  fallback to "unknown"
- Escape backslashes and double quotes in completion_promise before
  embedding into YAML frontmatter
- README: clarify auto-commit happens after each iteration with fixes,
  not only on clean review

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Navigator skill that triggers on PR review context and suggests
the optimal /pr-review-fix-loop or /codex-pr-review command
with appropriate parameters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60+ positive examples (EN/RU), 15+ negative examples across
5 categories. Covers PR review, fix comments, codex, parameters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 3 tests for gh pr view autodetect: success, nonexistent branch
  fallback, and gh failure fallback
- Add 4 tests for lint command fallbacks: python ruff, python black,
  node eslint, node prettier

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ility

More specific descriptions with WHAT + capabilities + supported stacks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Suppress stderr on git rev-parse --verify (4 locations)
- Quote heredoc to prevent shell expansion of $PROMPT
- Improve comments: output language note, word splitting clarification,
  placeholder validation rationale, remove noise comment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…loop-multilang

* origin/master:
  fix(pr-review-fix-loop): show plugin version at startup before setup-loop.sh

# Conflicts:
#	pr-review-fix-loop/.claude-plugin/plugin.json
@dapi dapi changed the title feat(pr-review-fix-loop): multi-language support v1.5.0 feat(pr-review-fix-loop): multi-language support + auto-activation skill Mar 1, 2026
@dapi
dapi merged commit 0829658 into master Mar 1, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant