Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
EFFECTIVE_PR_REVIEW_PROCESS.md4.32 kB
# Effective PR Review Process **Date**: July 21, 2025 **Context**: Established during Template element PR #331 review ## The Process That Works ### 1. Fix First, Then Explain with Evidence **Sequence**: 1. Implement all fixes in code 2. Push the commit 3. IMMEDIATELY add PR comment with: - Commit SHA and direct link - Summary table of fixes - Evidence that fixes work **Example**: ```bash # Push fixes git push # Immediately comment with evidence gh pr comment 331 --body "## ✅ All Issues Fixed in commit b226dbe [Click here to view changes](https://github.com/org/repo/pull/331/commits/b226dbe) | Issue | Status | Location | Commit | |-------|--------|----------|--------| | yaml.load false positive | ✅ Fixed | TemplateManager.ts:277 | b226dbe | ..." ``` ### 2. Analyze Confusion Points **When reviewer seems confused**: 1. Check if security audit is flagging OTHER files 2. Distinguish between: - Issues in YOUR implementation (must fix) - Issues in other files (document as pre-existing) 3. Provide clear evidence of the distinction **Example Analysis**: ```markdown ## 📋 Clarification: Template Security Issues Are All Fixed The security audit shows findings, but these are NOT in Template files: - MEDIUM: IElementManager.ts - Unicode normalization (pre-existing) - LOW: IReferenceResolver.ts - Audit logging (pre-existing) Our Template implementation is clean: ✅ No yaml.load usage (grep returns nothing) ✅ All DoS protections in place ✅ 43 tests passing ``` ### 3. Provide Concrete Evidence **Always include**: - Command outputs proving fixes work - Test results - Build status - Code snippets showing the fix - Security scan results **Example Evidence**: ```bash $ grep -r "yaml\.load" src/elements/templates/ # No results - only SecureYamlParser is used $ npm test -- test/__tests__/unit/elements/templates/ ✅ Test Suites: 2 passed, 2 total ✅ Tests: 43 passed, 43 total ``` ### 4. Quick CI Failure Response **When CI fails**: 1. Check the specific failure immediately 2. Identify if it's related to your changes 3. Fix platform-specific issues (like Windows paths) 4. Push fix with clear explanation **Example**: ```typescript // Windows path fix - const validPathPattern = /^[a-zA-Z0-9\-_\/]+\.md$/; + const validPathPattern = /^[a-zA-Z0-9\-_\/\\]+\.md$/; // Allow backslashes ``` ### 5. Document Everything Inline **For every security fix**: ```typescript // SECURITY FIX: [Brief description] // Previously: [what was vulnerable] // Now: [how it's fixed] // Impact: [why this improves security] ``` ### 6. Update Shared Knowledge **After successful review**: 1. Update PR best practices doc 2. Create reference docs for patterns 3. Document lessons learned 4. Share effective approaches ## Key Success Factors ### Communication Timing - Push and comment together (never separately) - Include commit SHAs always - Link directly to changed files ### Evidence Quality - Show, don't just tell - Run actual commands - Include outputs - Provide reproduction steps ### Clarity - Use tables for status tracking - Separate "fixed" from "pre-existing" - Explain technical details simply - Use visual markers (✅, ❌, 🔍) ### Responsiveness - Address CI failures immediately - Don't wait for reviewer to point out issues - Proactively investigate and fix - Update PR with each fix ## Template for Fix Summary ```markdown ## ✅ Security Issues Fixed in commit [SHA] [Direct link to commit] ### Summary of Fixes: | Issue | Severity | Status | Location | Evidence | |-------|----------|---------|----------|----------| | Issue 1 | HIGH | ✅ Fixed | File:line | `grep` shows clean | | Issue 2 | MEDIUM | ✅ Fixed | File:line | Test passes | ### Build & Test Status: - Build: ✅ Passing - Tests: ✅ X/X passing - CI: ✅ All green (except unrelated) ### How to Verify: 1. Click commit link above 2. Search for "SECURITY FIX" comments 3. Run tests locally Ready for re-review! 🚀 ``` ## Lessons Learned 1. **Reviewers need evidence, not promises** 2. **Timing matters - push+comment together** 3. **Distinguish your issues from pre-existing ones** 4. **Platform-specific issues need immediate attention** 5. **Clear documentation prevents future confusion** This process resulted in successful PR approval with comprehensive security fixes!

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server