docs(github-contributor): add evidence-loop, redaction, and merge-ready PR guidance

This commit is contained in:
daymade
2026-03-05 20:34:10 +08:00
parent acde07ef09
commit b675ac6fee
4 changed files with 223 additions and 16 deletions

View File

@@ -608,7 +608,7 @@
"description": "Strategic guide for becoming an effective GitHub contributor. Covers opportunity discovery, project selection, high-quality PR creation, and reputation building. Use when looking to contribute to open-source projects, building GitHub presence, or learning contribution best practices", "description": "Strategic guide for becoming an effective GitHub contributor. Covers opportunity discovery, project selection, high-quality PR creation, and reputation building. Use when looking to contribute to open-source projects, building GitHub presence, or learning contribution best practices",
"source": "./", "source": "./",
"strict": false, "strict": false,
"version": "1.0.0", "version": "1.0.2",
"category": "developer-tools", "category": "developer-tools",
"keywords": [ "keywords": [
"github", "github",
@@ -732,10 +732,10 @@
}, },
{ {
"name": "tunnel-doctor", "name": "tunnel-doctor",
"description": "Diagnoses and fixes conflicts between Tailscale and proxy/VPN tools (Shadowrocket, Clash, Surge) on macOS. Covers four conflict layers: route hijacking, HTTP proxy env var interception, system proxy bypass, and SSH ProxyCommand double tunneling. Includes SOP for remote development via SSH tunnels with proxy-safe Makefile patterns. Use when Tailscale ping works but SSH/HTTP times out, when browser returns 503 but curl works, when git push fails with failed to begin relaying via HTTP, when setting up Tailscale SSH to WSL instances, or when bootstrapping remote dev environments over Tailscale", "description": "Diagnoses and fixes conflicts between Tailscale and proxy/VPN tools (Shadowrocket, Clash, Surge) on macOS. Covers five conflict layers: route hijacking, HTTP proxy env var interception, system proxy bypass, SSH ProxyCommand double tunneling, and VM/container proxy propagation. Includes an automated quick-diagnose script plus SOP for remote development via SSH tunnels with proxy-safe Makefile patterns. Use when Tailscale ping works but SSH/HTTP times out, when browser returns 503 but curl works, when local vanity domains fail behind proxy, when git push fails with failed to begin relaying via HTTP, when Docker pull times out behind TUN/VPN, when setting up Tailscale SSH to WSL instances, or when bootstrapping remote dev environments over Tailscale",
"source": "./", "source": "./",
"strict": false, "strict": false,
"version": "1.2.1", "version": "1.3.0",
"category": "developer-tools", "category": "developer-tools",
"keywords": [ "keywords": [
"tailscale", "tailscale",
@@ -754,7 +754,8 @@
"networking", "networking",
"macos", "macos",
"makefile", "makefile",
"remote-development" "remote-development",
"local-domain"
], ],
"skills": [ "skills": [
"./tunnel-doctor" "./tunnel-doctor"

View File

@@ -7,6 +7,11 @@ description: Strategic guide for becoming an effective GitHub contributor. Cover
Strategic guide for becoming an effective GitHub contributor and building your open-source reputation. Strategic guide for becoming an effective GitHub contributor and building your open-source reputation.
## Prerequisites
- Install GitHub CLI and verify availability: `gh --version`
- Authenticate before running commands: `gh auth status || gh auth login`
## The Strategy ## The Strategy
**Core insight**: Many open-source projects have room for improvement. By contributing high-quality PRs, you: **Core insight**: Many open-source projects have room for improvement. By contributing high-quality PRs, you:
@@ -102,7 +107,7 @@ Opportunity signals:
```bash ```bash
# GitHub search for good first issues # GitHub search for good first issues
gh search issues "good first issue" --language=python --sort=created gh search issues "good first issue" --language=python --sort=created --state=open
# Search by topic # Search by topic
gh search repos "topic:cli" --sort=stars --limit=20 gh search repos "topic:cli" --sort=stars --limit=20
@@ -129,15 +134,23 @@ Pre-PR Checklist:
**Title**: Clear, conventional format **Title**: Clear, conventional format
``` ```
feat: Add support for YAML config files feat(config): add support for YAML config files
fix: Resolve race condition in connection pool fix(pool): resolve race condition in connection pool
docs: Update installation instructions for Windows docs(readme): update installation instructions for Windows
refactor: Extract validation logic into separate module refactor(validation): extract validation logic into separate module
``` ```
**Evidence loop**: Prove the change with a reproducible fail -> fix -> pass loop.
- Reproduce the failure with one command.
- Apply the fix.
- Rerun the exact same command and capture the passing output.
- Compare baseline vs fixed vs reference behavior.
- Redact local paths, secrets, tokens, and internal hostnames before posting logs or screenshots.
**Description**: Structured and thorough **Description**: Structured and thorough
```markdown ````markdown
## Summary ## Summary
[What this PR does in 1-2 sentences] [What this PR does in 1-2 sentences]
@@ -148,12 +161,48 @@ refactor: Extract validation logic into separate module
- [Change 1] - [Change 1]
- [Change 2] - [Change 2]
## Evidence Loop
Command:
```bash
# Baseline (before fix)
[command]
# Fixed (after fix, same command)
[command]
```
Raw output:
```text
[paste baseline output]
```
```text
[paste fixed output]
```
## Comparison
| Case | Command / Scenario | Result | Evidence |
|------|--------------------|--------|----------|
| Baseline | `[same command]` | Fail | [raw output block] |
| Fixed | `[same command]` | Pass | [raw output block] |
| Reference | [spec, issue, or main branch behavior] | Expected | [link or note] |
## Sources/Attribution
- [Issue, docs, or code references]
## Risks
- [Potential downside and impact]
## Rollback Plan
- Revert commit(s): [hash]
- Restore previous behavior with: [command]
## Testing ## Testing
[How you tested this] [How you tested this]
## Screenshots (if UI) ## Screenshots (if UI)
[Before/After images] [Before/After images]
``` ````
### After Submitting ### After Submitting
@@ -217,6 +266,9 @@ Contribution Workflow:
- [ ] Comment on issue to claim - [ ] Comment on issue to claim
- [ ] Fork and set up locally - [ ] Fork and set up locally
- [ ] Make focused changes - [ ] Make focused changes
- [ ] Run evidence loop (reproduce fail -> apply fix -> rerun same command pass)
- [ ] Add baseline vs fixed vs reference comparison
- [ ] Redact paths/secrets/internal hosts in logs and screenshots
- [ ] Test thoroughly - [ ] Test thoroughly
- [ ] Write clear PR description - [ ] Write clear PR description
- [ ] Respond to review feedback - [ ] Respond to review feedback
@@ -232,13 +284,13 @@ Contribution Workflow:
gh repo fork owner/repo --clone gh repo fork owner/repo --clone
# Create PR # Create PR
gh pr create --title "feat: ..." --body "..." gh pr create --title "feat(scope): ..." --body "..."
# Check PR status # Check PR status
gh pr status gh pr status
# View project issues # View project issues
gh issue list --repo owner/repo --label "good first issue" gh issue list --repo owner/repo --label "good first issue" --state=open
``` ```
### Commit Message Format ### Commit Message Format

View File

@@ -82,7 +82,7 @@ After:
### Feature Addition ### Feature Addition
```markdown ````markdown
## Summary ## Summary
Implements #[issue number] Implements #[issue number]
@@ -112,7 +112,7 @@ result = new_feature(...)
## Migration Guide (if breaking) ## Migration Guide (if breaking)
[Instructions for users to migrate] [Instructions for users to migrate]
``` ````
### Documentation Update ### Documentation Update
@@ -133,6 +133,92 @@ Improves documentation for [area].
[Screenshot or link to rendered docs] [Screenshot or link to rendered docs]
``` ```
### Required PR Addendum
Use this block in every PR description.
````markdown
## Evidence Loop
Command:
```bash
# Baseline (before fix)
[command]
# Fixed (after fix, same command)
[command]
```
Raw output:
```text
[baseline output]
```
```text
[fixed output]
```
## Comparison (Baseline vs Fixed vs Reference)
| Case | Command / Scenario | Result | Evidence |
|------|--------------------|--------|----------|
| Baseline | `[same command]` | Fail | [raw output block] |
| Fixed | `[same command]` | Pass | [raw output block] |
| Reference | [spec, issue, or main behavior] | Expected | [link or note] |
## Sources/Attribution
- [Issue, docs, benchmark source, or code reference]
## Risks
- [Risk and impact]
## Rollback Plan
- Revert commit(s): [hash]
- Restore previous behavior with: [command]
````
## Reproducible PR Comment
Use this template when maintainers ask for proof or rerun details.
````markdown
Validated with the same command before and after the fix.
### Command
```bash
[command]
```
### Environment
- OS: [name/version]
- Runtime: [language/runtime + version]
- Commit: [sha]
- Runner: [local shell or CI job URL]
### Baseline Output (before fix)
```text
[raw output]
```
### Fixed Output (after fix, same command)
```text
[raw output]
```
### Reference Output / Expected Behavior
```text
[spec output or expected result]
```
### Redaction Check
- [x] Removed local absolute paths (for example, `/Users/...`)
- [x] Removed tokens/secrets
- [x] Removed internal URLs/hostnames
````
## Responding to Reviews ## Responding to Reviews
### Accepting Feedback ### Accepting Feedback

View File

@@ -44,6 +44,20 @@ refactor/extract-validation-logic
- [ ] No unnecessary changes (whitespace, imports) - [ ] No unnecessary changes (whitespace, imports)
- [ ] Comments explain "why", not "what" - [ ] Comments explain "why", not "what"
### Evidence Loop
- [ ] Reproduce the failure with one command and capture baseline output
- [ ] Apply the fix
- [ ] Rerun the exact same command and capture passing output
- [ ] Add baseline vs fixed vs reference comparison
### Redaction Gate
- [ ] Remove local absolute paths (for example, `/Users/...`) from logs and screenshots
- [ ] Remove secrets/tokens/API keys from logs and screenshots
- [ ] Remove internal URLs/hostnames from logs and screenshots
- [ ] Recheck every pasted block before submitting
### Documentation ### Documentation
- [ ] README updated (if applicable) - [ ] README updated (if applicable)
@@ -59,6 +73,9 @@ refactor/extract-validation-logic
- [ ] Testing approach - [ ] Testing approach
- [ ] Screenshots (for UI changes) - [ ] Screenshots (for UI changes)
- [ ] Related issues linked - [ ] Related issues linked
- [ ] Sources/Attribution section added
- [ ] Risks section added
- [ ] Rollback Plan section added
## PR Title Format ## PR Title Format
@@ -76,7 +93,7 @@ chore(deps): update lodash to 4.17.21
## PR Description Template ## PR Description Template
```markdown ````markdown
## Summary ## Summary
Brief description of what this PR does. Brief description of what this PR does.
@@ -93,6 +110,47 @@ Closes #123
- Change 2 - Change 2
- Change 3 - Change 3
## Evidence Loop
Command:
```bash
# Baseline (before fix)
[command]
# Fixed (after fix, same command)
[command]
```
Raw output:
```text
[baseline output]
```
```text
[fixed output]
```
## Comparison (Baseline vs Fixed vs Reference)
| Case | Command / Scenario | Result | Evidence |
|------|--------------------|--------|----------|
| Baseline | `[same command]` | Fail | [raw output block] |
| Fixed | `[same command]` | Pass | [raw output block] |
| Reference | [spec, issue, or main behavior] | Expected | [link or note] |
## Sources/Attribution
- [Issue, docs, benchmark source, or code reference]
## Risks
- [Risk and impact]
## Rollback Plan
- Revert commit(s): [hash]
- Restore previous behavior with: [command]
## Testing ## Testing
How did you test this change? How did you test this change?
@@ -112,6 +170,16 @@ How did you test this change?
- [ ] Tests pass - [ ] Tests pass
- [ ] Documentation updated - [ ] Documentation updated
- [ ] Code follows project style - [ ] Code follows project style
````
## Comparison Table Template
```markdown
| Case | Command / Scenario | Result | Evidence |
|------|--------------------|--------|----------|
| Baseline | `[same command]` | Fail | [raw output block] |
| Fixed | `[same command]` | Pass | [raw output block] |
| Reference | [spec, issue, or main behavior] | Expected | [link or note] |
``` ```
## After Submitting ## After Submitting