You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+51-3Lines changed: 51 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ These instructions define how GitHub Copilot should assist with this project. Th
23
23
-**Documentation**: The project provides documentation in the form of wiki pages available at [Documentation](https://github.com/microsoft/DirectXTex/wiki/).
24
24
-**Error Handling**: Use C++ exceptions for error handling and uses RAII smart pointers to ensure resources are properly managed. For some functions that return HRESULT error codes, they are marked `noexcept`, use `std::nothrow` for memory allocation, and should not throw exceptions.
25
25
-**Testing**: Unit tests for this project are implemented in this repository [Test Suite](https://github.com/walbourn/directxtextest/) and can be run using CTest per the instructions at [Test Documentation](https://github.com/walbourn/directxtextest/wiki).
26
-
-**Security**: This project uses secure coding practices from the Microsoft Secure Coding Guidelines, and is subject to the `SECURITY.md` file in the root of the repository. Functions that read input from geometry files are subject to OneFuzz testing to ensure they are secure against malformed files.
26
+
-**Security**: This project uses secure coding practices from the Microsoft Secure Coding Guidelines, and is subject to the `SECURITY.md` file in the root of the repository. Functions that read input from geometry files are subject to OneFuzz fuzz testing to ensure they are secure against malformed files.
27
27
-**Dependencies**: The project uses CMake and VCPKG for managing dependencies, making optional use of DirectXMath and DirectX-Headers. The project can be built without these dependencies, relying on the Windows SDK for core functionality.
28
28
-**Continuous Integration**: This project implements GitHub Actions for continuous integration, ensuring that all code changes are tested and validated before merging. This includes building the project for a number of configurations and toolsets, running a subset of unit tests, and static code analysis including GitHub super-linter, CodeQL, and MSVC Code Analysis.
29
29
-**Code of Conduct**: The project adheres to the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). All contributors are expected to follow this code of conduct in all interactions related to the project.
@@ -70,11 +70,13 @@ Tests/ # Tests are designed to be cloned from a separate repository a
70
70
71
71
## References
72
72
73
+
-[Source git repository on GitHub](https://github.com/microsoft/DirectXTex.git)
74
+
-[DirectXTex documentation git repository on GitHub](https://github.com/microsoft/DirectXTex.wiki.git)
75
+
-[DirectXTex test suite git repository on GitHub](https://github.com/walbourn/directxtextest.wiki.git).
When reviewing code, focus on the following aspects:
131
+
132
+
- Adherence to coding standards defined in `.editorconfig` and on the [wiki](https://github.com/microsoft/DirectXTK/wiki/Implementation).
133
+
- Make coding recommendations based on the *C++ Core Guidelines*.
134
+
- Proper use of RAII and smart pointers.
135
+
- Correct error handling practices and C++ Exception safety.
136
+
- Clarity and maintainability of the code.
137
+
- Adequate comments where necessary.
138
+
- Public interfaces located in `DirectXTex.h` should be clearly defined and documented on the GitHub wiki.
139
+
- Optional functions are located in `DirectXTexEXR.h`, `DirectXTexJPEG.h`, `DirectXTexPNG.h`, and `DirectXTexXbox.h` in the `Auxiliary` folder.
140
+
- Standalone modules for loading textures from DDS Files are located in `DDSTextureLoader9.h`, `DDSTextureLoader11.h`, and `DDSTextureLoader12.h` in the `DDSTextureLoader` folder.
141
+
- Standalone modules are loading textures using WIC are located in `WICTextureLoader9.h`, `WICTextureLoader11.h`, and `WICTextureLoader12.h` in the `WICTextureLoader` folder.
142
+
- Standalone modules for capturing screenshots are located in `ScreenGrab9.h`, `ScreenGrab11.h`, and `ScreenGrab12.h` in the `ScreenGrab` folder.
143
+
- Compliance with the project's architecture and design patterns.
144
+
- Ensure that all public functions and classes are covered by unit tests located on [GitHub](https://github.com/walbourn/directxtextest.git) where applicable. Report any gaps in test coverage.
145
+
- Check for performance implications, especially in geometry processing algorithms.
146
+
- Provide brutally honest feedback on code quality, design, and potential improvements as needed.
147
+
148
+
## Documentation Review Instructions
149
+
150
+
When reviewing documentation, do the following:
151
+
152
+
- Read the code located in [this git repository](https://github.com/microsoft/DirectXTex.git) in the main branch.
153
+
- Review the public interface defined in `DirectXTex.h`.
154
+
- Read the documentation on the wiki located in [this git repository](https://github.com/microsoft/DirectXTex.wiki.git).
155
+
- Report any specific gaps in the documentation compared to the public interface
0 commit comments