Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,10 @@ The `Publish Atlas website` workflow revalidates and regenerates `site/` before

The atlas covers interactive commands, nested subcommands, CLI flags, configuration, environment variables, shortcuts, hooks, permissions, MCP, skills, and agent controls across all six ecosystems. It stays a living reference rather than a claim that fast-moving vendor surfaces can ever be permanently complete. See [the roadmap](docs/ROADMAP.md).

## Acknowledgements

Thanks to the people who have improved the atlas beyond its data:

- [@WhiteHades](https://github.com/WhiteHades) — case-sensitive CLI flag ranking, accessible skip links and mobile navigation, route collision checks, HTTPS redirect enforcement, and validation that reports malformed records instead of raising.

Released under the [MIT License](LICENSE).
10 changes: 8 additions & 2 deletions tests/test_check_sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,15 @@ class SourceCheckerTests(unittest.TestCase):
def setUp(self):
self.responses = {}
self.requests = []
self.enterContext(patch.object(urllib.request, "_opener", None))
# TestCase.enterContext is 3.11+; start/addCleanup keeps the suite runnable on 3.10.
self.start_patch(patch.object(urllib.request, "_opener", None))
for handler, method in ((urllib.request.HTTPSHandler, "https_open"), (urllib.request.HTTPHandler, "http_open")):
self.enterContext(patch.object(handler, method, side_effect=self.respond))
self.start_patch(patch.object(handler, method, side_effect=self.respond))

def start_patch(self, patcher):
value = patcher.start()
self.addCleanup(patcher.stop)
return value

def respond(self, request):
self.requests.append(request.full_url)
Expand Down
Loading