feat: bypass Cloudflare block & convert close/mark issue shell scripts to Python

This commit is contained in:
2026-06-21 22:32:37 -04:00
parent 51296c88a3
commit 80a71f2020
8 changed files with 232 additions and 162 deletions
+8 -8
View File
@@ -132,8 +132,8 @@ The MCP tools can also be used as standalone CLI scripts:
|---------------------|--------------------------------------------------------------------|
| `create_issue.py` | Create an issue (`--remote`, `--title`, `--body`, `--body-file`) |
| `create_pr.py` | Open a Pull Request (`--remote`, `--title`, `--head`, `--base`) |
| `close_issue.sh` | Close a specific issue (dadeschools only) |
| `mark_issue.sh` | Claim/release an issue via `status:in-progress` label |
| `close_issue.py` | Close a specific issue |
| `mark_issue.py` | Claim/release an issue via `status:in-progress` label |
| `manage_labels.py` | Create label set and apply label mappings (`--dry` to preview) |
| `mirror_refs.sh` | Mirror branches + tags between dadeschools ⇄ prgs |
@@ -150,13 +150,13 @@ The MCP tools can also be used as standalone CLI scripts:
./create_pr.py --title "feat: add validation" --head feat/validation --body "Closes #12"
# Close issue #5
./close_issue.sh 5
./close_issue.py 5
# Claim an issue before working on it
./mark_issue.sh 10 start
./mark_issue.py 10 start
# Release when done
./mark_issue.sh 10 done
./mark_issue.py 10 done
# Mirror refs (dry-run by default)
./mirror_refs.sh
@@ -175,8 +175,8 @@ mcp_server.py ← MCP server (FastMCP, stdio transport)
create_issue.py ← CLI: create issues
create_pr.py ← CLI: create PRs
manage_labels.py ← CLI: label management
close_issue.sh ← CLI: close issues
mark_issue.sh ← CLI: claim/release issues
close_issue.py ← CLI: close issues
mark_issue.py ← CLI: claim/release issues
mirror_refs.sh ← CLI: ref mirroring
```
@@ -195,7 +195,7 @@ python3 -m pytest tests/ -v
| `test_create_pr.py` | CLI arg parsing, remote resolution, payload, auth, errors |
| `test_credentials.py` | `get_credentials()`, `get_auth_header()`, `repo_api_url()` |
| `test_manage_labels.py` | Label create/skip, dry run, mapping, constant validation |
| `test_shell_scripts.py` | `close_issue.sh` + `mark_issue.sh` arg validation |
| `test_python_cli.py` | `close_issue.py` + `mark_issue.py` CLI validation |
| `test_mirror_refs.py` | Flags, safety defaults, local integration tests |
All tests mock network and keychain access — no real API calls are made.