Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 19, 2025

This PR adds a comprehensive .github/copilot-instructions.md file to onboard coding agents to the mssql-python repository efficiently. The instructions are designed to significantly reduce the likelihood of failed PRs, build errors, and exploration time for future coding agents.

What's Included

The copilot instructions provide detailed information about:

  • Repository Overview: Architecture, size, languages, and key dependencies
  • Build System: Complete instructions for Windows, macOS, and Linux with platform-specific requirements
  • Testing Procedures: Test execution, coverage reporting, and dependency validation
  • Project Architecture: Core components, file structure, and configuration files
  • CI/CD Pipeline Details: GitHub workflows and Azure DevOps pipeline matrix
  • Common Issues & Workarounds: Platform-specific build problems and their solutions
  • Contributing Guidelines: PR requirements, title formats, and development workflow

Key Benefits

Reduces PR Rejection Risk: Documents the complex multi-platform build system, required dependencies, and validation processes that agents need to understand to create working code changes.

Minimizes Build Failures: Provides exact command sequences, prerequisites, and expected failure modes (like missing ODBC headers on Linux) with clear explanations.

Accelerates Development: Eliminates the need for agents to discover repository structure, build processes, and testing requirements through trial and error.

The instructions follow the required format (under 2 pages, non-task-specific) and provide comprehensive coverage of the repository's unique characteristics, including its pybind11/CMake native extension build system, platform-specific library distribution, and sophisticated CI/CD matrix across multiple operating systems and architectures.

Future coding agents can now reference these instructions to work effectively with the repository immediately, rather than spending time exploring and potentially making incorrect assumptions about the build and test processes.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: bewithgaurav <8655500+bewithgaurav@users.noreply.github.com>
Copilot AI changed the title [WIP] Your task is to "onboard" this repository to Copilot coding agent by adding a .github/copilot-instructions.md file in the repository that contains information describing how a coding agent seeing it for the first time can work most efficiently. You wi... DOC: Add comprehensive .github/copilot-instructions.md for coding agent onboarding Sep 19, 2025
Copilot AI requested a review from bewithgaurav September 19, 2025 14:14
@dlevy-msft-sql
Copy link
Contributor

Review: Minor fixes needed before merge

Great work on this comprehensive Copilot instructions file! The content is well-structured and will significantly help AI agents work with this repository. I found a few minor inaccuracies that should be fixed:

Issues to Fix

1. Incorrect file name reference (Line 87)

- ├── logging_config.py       # Logging configuration
+ ├── logging.py              # Logging configuration

The actual file is logging.py, not logging_config.py.

2. Incorrect module reference (Line 82)

- ├── ddbc_bindings.py         # Native extension loader with architecture detection
+ ├── ddbc_bindings.py         # Native extension bindings (auto-generated stub)

The architecture detection and loading logic is actually in __init__.py, not ddbc_bindings.py. The ddbc_bindings.py file is just a .pyi stub for type hints.

3. Missing files from architecture

Consider adding these important files to the Core Components section:

  • connection_string_builder.py - Connection string construction
  • connection_string_parser.py - Connection string parsing
  • parameter_helper.py - Query parameter handling
  • row.py - Row object implementation

After Fixes

Once these are addressed:

  1. Mark as "Ready for Review" (take out of draft)
  2. Re-run any stale CI checks

The content is otherwise accurate and comprehensive - good coverage of build system, CI/CD, platform specifics, and contributing guidelines! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants