{"owner":"mongodb","repo":"mongo-python-driver","hasSkills":true,"totalSkillsCount":2,"totalTokensCount":959,"categories":["copilot-instructions","root-instruction"],"hasMcp":false,"mcpConfig":null,"found":[".github/copilot-instructions.md","AGENTS.md"],"skills":{".github/copilot-instructions.md":"When reviewing code, focus on:\n\n## Security Critical Issues\n- Check for hardcoded secrets, API keys, or credentials.\n- Check for instances of potential method call injection, dynamic code execution, symbol injection or other code injection vulnerabilities.\n\n## Performance Red Flags\n- Spot inefficient loops and algorithmic issues.\n- Check for memory leaks and resource cleanup.\n\n## Code Quality Essentials\n- Methods should be focused and appropriately sized. If a method is doing too much, suggest refactorings to split it up.\n- Use clear, descriptive naming conventions.\n- Avoid encapsulation violations and ensure proper separation of concerns.\n- All public classes, modules, and methods should have clear documentation in Sphinx format.\n\n## PyMongo-specific Concerns\n- Do not review files within `pymongo/synchronous` or files in `test/` that also have a file of the same name in `test/asynchronous` unless the reviewed changes include a `_IS_SYNC` statement. PyMongo generates these files from `pymongo/asynchronous` and `test/asynchronous` using `tools/synchro.py`.\n- All asynchronous functions must not call any blocking I/O.\n\n## Review Style\n- Be specific and actionable in feedback.\n- Explain the \"why\" behind recommendations.\n- Acknowledge good patterns when you see them.\n- Ask clarifying questions when code intent is unclear.\n\nAlways prioritize security vulnerabilities and performance issues that could impact users.\n\nAlways suggest changes to improve readability and testability. For example, this suggestion seeks to make the code more readable, reusable, and testable:\n\n```python\n# Instead of:\nif user.email and \"@\" in user.email and len(user.email) > 5:\n    submit_button.enabled = True\nelse:\n    submit_button.enabled = False\n\n# Consider:\ndef valid_email(email):\n    return email and \"@\" in email and len(email) > 5\n\n\nsubmit_button.enabled = valid_email(user.email)\n```\n","AGENTS.md":"# AGENTS.md - PyMongo (mongo-python-driver)\n\n## Overview\nOfficial Python driver for MongoDB.\n\n## Tech Stack\n- **Task runner:** `just` (Justfile at repo root)\n- **Linter/formatter:** `ruff` via pre-commit\n- **Type checker:** `mypy` (strict)\n- **Docs:** Sphinx / reStructuredText; use Sphinx docstring format for all docstrings\n\n> **Never** run `pip install bson`. PyMongo ships its own `bson`; the PyPI `bson` package silently breaks things.\n\n## Project Structure\n- `pymongo/asynchronous/` — async driver (AsyncMongoClient, AsyncCollection, etc.)\n- `pymongo/synchronous/` — sync driver (MongoClient, Collection, etc.) generated from `pymongo/asynchronous/` using `just synchro`\n- `bson/` — BSON implementation\n- `gridfs/` — GridFS API\n- `test/asynchronous/` — async test suite\n- `test/` — sync test suite (generated from `test/asynchronous/` by `just synchro`) and shared test suite\n- `test/unified_format/` — cross-driver spec tests (Unified Test Format)\n- `fuzz/` — BSON fuzz tests (not pytest; see `fuzz/README.md`)\n\nDo not edit files in `pymongo/synchronous/` or mirrored files in `test/` directly: they are generated by `just synchro` from `pymongo/asynchronous/` and `test/asynchronous/`.\nA file in `test/` is mirrored if a file of the same name exists in `test/asynchronous/`.\n\n## Commands\n```bash\njust install                # set up venv + pre-commit hooks\njust typing                 # type check\njust lint-manual            # pre-commit linting and synchro\njust synchro                # generate synchronous driver and mirrored tests\njust test                   # run all tests\njust test test/asynchronous # run async tests\nMONGODB_VERSION=8.0 just run-server  # start a local MongoDB 8.0 server\n```\n\n## Testing\nTests require a live MongoDB server (`just run-server` above).\n\nAsync functions must not call blocking I/O.\n\nNew features need integration tests. Bug fixes need regression tests.\n\n## Commit and PR Conventions\n- Prefix commits and PR titles with the JIRA ticket: `PYTHON-1234 Fix retryable write on mongos`\n- Backport PRs: append the target branch in brackets — `PYTHON-1234 [v4.9] Fix retryable write`\n- Merge via **Squash and Merge** only\n\nSee .github/copilot-instructions.md for more details.\n"},"files":{".github/copilot-instructions.md":"When reviewing code, focus on:\n\n## Security Critical Issues\n- Check for hardcoded secrets, API keys, or credentials.\n- Check for instances of potential method call injection, dynamic code execution, symbol injection or other code injection vulnerabilities.\n\n## Performance Red Flags\n- Spot inefficient loops and algorithmic issues.\n- Check for memory leaks and resource cleanup.\n\n## Code Quality Essentials\n- Methods should be focused and appropriately sized. If a method is doing too much, suggest refactorings to split it up.\n- Use clear, descriptive naming conventions.\n- Avoid encapsulation violations and ensure proper separation of concerns.\n- All public classes, modules, and methods should have clear documentation in Sphinx format.\n\n## PyMongo-specific Concerns\n- Do not review files within `pymongo/synchronous` or files in `test/` that also have a file of the same name in `test/asynchronous` unless the reviewed changes include a `_IS_SYNC` statement. PyMongo generates these files from `pymongo/asynchronous` and `test/asynchronous` using `tools/synchro.py`.\n- All asynchronous functions must not call any blocking I/O.\n\n## Review Style\n- Be specific and actionable in feedback.\n- Explain the \"why\" behind recommendations.\n- Acknowledge good patterns when you see them.\n- Ask clarifying questions when code intent is unclear.\n\nAlways prioritize security vulnerabilities and performance issues that could impact users.\n\nAlways suggest changes to improve readability and testability. For example, this suggestion seeks to make the code more readable, reusable, and testable:\n\n```python\n# Instead of:\nif user.email and \"@\" in user.email and len(user.email) > 5:\n    submit_button.enabled = True\nelse:\n    submit_button.enabled = False\n\n# Consider:\ndef valid_email(email):\n    return email and \"@\" in email and len(email) > 5\n\n\nsubmit_button.enabled = valid_email(user.email)\n```\n","AGENTS.md":"# AGENTS.md - PyMongo (mongo-python-driver)\n\n## Overview\nOfficial Python driver for MongoDB.\n\n## Tech Stack\n- **Task runner:** `just` (Justfile at repo root)\n- **Linter/formatter:** `ruff` via pre-commit\n- **Type checker:** `mypy` (strict)\n- **Docs:** Sphinx / reStructuredText; use Sphinx docstring format for all docstrings\n\n> **Never** run `pip install bson`. PyMongo ships its own `bson`; the PyPI `bson` package silently breaks things.\n\n## Project Structure\n- `pymongo/asynchronous/` — async driver (AsyncMongoClient, AsyncCollection, etc.)\n- `pymongo/synchronous/` — sync driver (MongoClient, Collection, etc.) generated from `pymongo/asynchronous/` using `just synchro`\n- `bson/` — BSON implementation\n- `gridfs/` — GridFS API\n- `test/asynchronous/` — async test suite\n- `test/` — sync test suite (generated from `test/asynchronous/` by `just synchro`) and shared test suite\n- `test/unified_format/` — cross-driver spec tests (Unified Test Format)\n- `fuzz/` — BSON fuzz tests (not pytest; see `fuzz/README.md`)\n\nDo not edit files in `pymongo/synchronous/` or mirrored files in `test/` directly: they are generated by `just synchro` from `pymongo/asynchronous/` and `test/asynchronous/`.\nA file in `test/` is mirrored if a file of the same name exists in `test/asynchronous/`.\n\n## Commands\n```bash\njust install                # set up venv + pre-commit hooks\njust typing                 # type check\njust lint-manual            # pre-commit linting and synchro\njust synchro                # generate synchronous driver and mirrored tests\njust test                   # run all tests\njust test test/asynchronous # run async tests\nMONGODB_VERSION=8.0 just run-server  # start a local MongoDB 8.0 server\n```\n\n## Testing\nTests require a live MongoDB server (`just run-server` above).\n\nAsync functions must not call blocking I/O.\n\nNew features need integration tests. Bug fixes need regression tests.\n\n## Commit and PR Conventions\n- Prefix commits and PR titles with the JIRA ticket: `PYTHON-1234 Fix retryable write on mongos`\n- Backport PRs: append the target branch in brackets — `PYTHON-1234 [v4.9] Fix retryable write`\n- Merge via **Squash and Merge** only\n\nSee .github/copilot-instructions.md for more details.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/mongodb/mongo-python-driver/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# AGENTS.md - PyMongo (mongo-python-driver)\n\n## Overview\nOfficial Python driver for MongoDB.\n\n## Tech Stack\n- **Task runner:** `just` (Justfile at repo root)\n- **Linter/formatter:** `ruff` via pre-commit\n- **Type checker:** `mypy` (strict)\n- **Docs:** Sphinx / reStructuredText; use Sphinx docstring format for all docstrings\n\n> **Never** run `pip install bson`. PyMongo ships its own `bson`; the PyPI `bson` package silently breaks things.\n\n## Project Structure\n- `pymongo/asynchronous/` — async driver (AsyncMongoClient, AsyncCollection, etc.)\n- `pymongo/synchronous/` — sync driver (MongoClient, Collection, etc.) generated from `pymongo/asynchronous/` using `just synchro`\n- `bson/` — BSON implementation\n- `gridfs/` — GridFS API\n- `test/asynchronous/` — async test suite\n- `test/` — sync test suite (generated from `test/asynchronous/` by `just synchro`) and shared test suite\n- `test/unified_format/` — cross-driver spec tests (Unified Test Format)\n- `fuzz/` — BSON fuzz tests (not pytest; see `fuzz/README.md`)\n\nDo not edit files in `pymongo/synchronous/` or mirrored files in `test/` directly: they are generated by `just synchro` from `pymongo/asynchronous/` and `test/asynchronous/`.\nA file in `test/` is mirrored if a file of the same name exists in `test/asynchronous/`.\n\n## Commands\n```bash\njust install                # set up venv + pre-commit hooks\njust typing                 # type check\njust lint-manual            # pre-commit linting and synchro\njust synchro                # generate synchronous driver and mirrored tests\njust test                   # run all tests\njust test test/asynchronous # run async tests\nMONGODB_VERSION=8.0 just run-server  # start a local MongoDB 8.0 server\n```\n\n## Testing\nTests require a live MongoDB server (`just run-server` above).\n\nAsync functions must not call blocking I/O.\n\nNew features need integration tests. Bug fixes need regression tests.\n\n## Commit and PR Conventions\n- Prefix commits and PR titles with the JIRA ticket: `PYTHON-1234 Fix retryable write on mongos`\n- Backport PRs: append the target branch in brackets — `PYTHON-1234 [v4.9] Fix retryable write`\n- Merge via **Squash and Merge** only\n\nSee .github/copilot-instructions.md for more details.\n","isInternal":false,"tokens":573,"sizeBytes":2235},{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","rawUrl":"https://raw.githubusercontent.com/mongodb/mongo-python-driver/HEAD/.github/copilot-instructions.md","title":"GitHub Copilot Instructions","category":"copilot-instructions","format":"markdown","content":"When reviewing code, focus on:\n\n## Security Critical Issues\n- Check for hardcoded secrets, API keys, or credentials.\n- Check for instances of potential method call injection, dynamic code execution, symbol injection or other code injection vulnerabilities.\n\n## Performance Red Flags\n- Spot inefficient loops and algorithmic issues.\n- Check for memory leaks and resource cleanup.\n\n## Code Quality Essentials\n- Methods should be focused and appropriately sized. If a method is doing too much, suggest refactorings to split it up.\n- Use clear, descriptive naming conventions.\n- Avoid encapsulation violations and ensure proper separation of concerns.\n- All public classes, modules, and methods should have clear documentation in Sphinx format.\n\n## PyMongo-specific Concerns\n- Do not review files within `pymongo/synchronous` or files in `test/` that also have a file of the same name in `test/asynchronous` unless the reviewed changes include a `_IS_SYNC` statement. PyMongo generates these files from `pymongo/asynchronous` and `test/asynchronous` using `tools/synchro.py`.\n- All asynchronous functions must not call any blocking I/O.\n\n## Review Style\n- Be specific and actionable in feedback.\n- Explain the \"why\" behind recommendations.\n- Acknowledge good patterns when you see them.\n- Ask clarifying questions when code intent is unclear.\n\nAlways prioritize security vulnerabilities and performance issues that could impact users.\n\nAlways suggest changes to improve readability and testability. For example, this suggestion seeks to make the code more readable, reusable, and testable:\n\n```python\n# Instead of:\nif user.email and \"@\" in user.email and len(user.email) > 5:\n    submit_button.enabled = True\nelse:\n    submit_button.enabled = False\n\n# Consider:\ndef valid_email(email):\n    return email and \"@\" in email and len(email) > 5\n\n\nsubmit_button.enabled = valid_email(user.email)\n```\n","isInternal":false,"tokens":386,"sizeBytes":1889}],"systemPromptSnippet":"<yakaai_skills repo=\"mongodb/mongo-python-driver\">\n<!-- File: AGENTS.md (Tokens: ~573 | Category: root-instruction) -->\n# AGENTS.md - PyMongo (mongo-python-driver)\n\n## Overview\nOfficial Python driver for MongoDB.\n\n## Tech Stack\n- **Task runner:** `just` (Justfile at repo root)\n- **Linter/formatter:** `ruff` via pre-commit\n- **Type checker:** `mypy` (strict)\n- **Docs:** Sphinx / reStructuredText; use Sphinx docstring format for all docstrings\n\n> **Never** run `pip install bson`. PyMongo ships its own `bson`; the PyPI `bson` package silently breaks things.\n\n## Project Structure\n- `pymongo/asynchronous/` — async driver (AsyncMongoClient, AsyncCollection, etc.)\n- `pymongo/synchronous/` — sync driver (MongoClient, Collection, etc.) generated from `pymongo/asynchronous/` using `just synchro`\n- `bson/` — BSON implementation\n- `gridfs/` — GridFS API\n- `test/asynchronous/` — async test suite\n- `test/` — sync test suite (generated from `test/asynchronous/` by `just synchro`) and shared test suite\n- `test/unified_format/` — cross-driver spec tests (Unified Test Format)\n- `fuzz/` — BSON fuzz tests (not pytest; see `fuzz/README.md`)\n\nDo not edit files in `pymongo/synchronous/` or mirrored files in `test/` directly: they are generated by `just synchro` from `pymongo/asynchronous/` and `test/asynchronous/`.\nA file in `test/` is mirrored if a file of the same name exists in `test/asynchronous/`.\n\n## Commands\n```bash\njust install                # set up venv + pre-commit hooks\njust typing                 # type check\njust lint-manual            # pre-commit linting and synchro\njust synchro                # generate synchronous driver and mirrored tests\njust test                   # run all tests\njust test test/asynchronous # run async tests\nMONGODB_VERSION=8.0 just run-server  # start a local MongoDB 8.0 server\n```\n\n## Testing\nTests require a live MongoDB server (`just run-server` above).\n\nAsync functions must not call blocking I/O.\n\nNew features need integration tests. Bug fixes need regression tests.\n\n## Commit and PR Conventions\n- Prefix commits and PR titles with the JIRA ticket: `PYTHON-1234 Fix retryable write on mongos`\n- Backport PRs: append the target branch in brackets — `PYTHON-1234 [v4.9] Fix retryable write`\n- Merge via **Squash and Merge** only\n\nSee .github/copilot-instructions.md for more details.\n\n<!-- File: .github/copilot-instructions.md (Tokens: ~386 | Category: copilot-instructions) -->\nWhen reviewing code, focus on:\n\n## Security Critical Issues\n- Check for hardcoded secrets, API keys, or credentials.\n- Check for instances of potential method call injection, dynamic code execution, symbol injection or other code injection vulnerabilities.\n\n## Performance Red Flags\n- Spot inefficient loops and algorithmic issues.\n- Check for memory leaks and resource cleanup.\n\n## Code Quality Essentials\n- Methods should be focused and appropriately sized. If a method is doing too much, suggest refactorings to split it up.\n- Use clear, descriptive naming conventions.\n- Avoid encapsulation violations and ensure proper separation of concerns.\n- All public classes, modules, and methods should have clear documentation in Sphinx format.\n\n## PyMongo-specific Concerns\n- Do not review files within `pymongo/synchronous` or files in `test/` that also have a file of the same name in `test/asynchronous` unless the reviewed changes include a `_IS_SYNC` statement. PyMongo generates these files from `pymongo/asynchronous` and `test/asynchronous` using `tools/synchro.py`.\n- All asynchronous functions must not call any blocking I/O.\n\n## Review Style\n- Be specific and actionable in feedback.\n- Explain the \"why\" behind recommendations.\n- Acknowledge good patterns when you see them.\n- Ask clarifying questions when code intent is unclear.\n\nAlways prioritize security vulnerabilities and performance issues that could impact users.\n\nAlways suggest changes to improve readability and testability. For example, this suggestion seeks to make the code more readable, reusable, and testable:\n\n```python\n# Instead of:\nif user.email and \"@\" in user.email and len(user.email) > 5:\n    submit_button.enabled = True\nelse:\n    submit_button.enabled = False\n\n# Consider:\ndef valid_email(email):\n    return email and \"@\" in email and len(email) > 5\n\n\nsubmit_button.enabled = valid_email(user.email)\n```\n</yakaai_skills>"}