-
-
Notifications
You must be signed in to change notification settings - Fork 152
Enhanced guidelines for AI and Humans #112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
lefticus
commented
Apr 30, 2025
- additional tool support
- strict settings on lizard
* Add AI_GUIDELINES.md with framework-agnostic instructions for AI tools * Add HUMAN_GUIDELINES.md with project philosophy and best practices * Implement Lizard code complexity analyzer with configurable thresholds * Add consistent missing tool warnings with option to treat as errors * Set up HTML and XML report generation for Lizard * Improve CMake warnings handling with myproject_WARNING_TYPE variable * Ensure clang-format is used to maintain consistent code style
* Add detailed Modern C++ Coding Guidelines section * Add guidelines for ensuring code quality with project tools * Implement copy-paste detection in Lizard * Add missing tools detection guidance * Include preferred build configuration * Add development workflow recommendations * Update guidelines with C++23 Best Practices book chapters These updates provide comprehensive guidance for AI assistants working with the project while encouraging proper tool usage.
* Add Bloaty.cmake module with comprehensive binary analysis targets * Create per-executable analysis targets and global target * Support CSV reports, baselines, and specialized template analysis * Disable by default since it's not available on all systems * Update AI_GUIDELINES.md with Bloaty usage instructions * Add Bloaty to the list of optional tools in guidelines This helps developers identify binary size issues like template bloat and large static data, which is valuable for performance optimization and embedded systems development.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the project documentation by introducing separate guidelines for human developers and AI agents, ensuring that best practices and strict analysis rules are clearly communicated.
- Adds comprehensive human developer guidelines including C++ best practices, static analysis, and CI/CD setup.
- Introduces AI agent guidelines that outline project configuration, testing workflows, dependency management, and modern C++ standards.
Reviewed Changes
Copilot reviewed 2 out of 9 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
HUMAN_GUIDELINES.md | New human-centric guidelines detailing project purpose, best practices, and tool usage. |
AI_GUIDELINES.md | New AI-centric guidelines outlining project overview, testing, dependency management, and workflows. |
Files not reviewed (7)
- CMakeLists.txt: Language not supported
- ProjectOptions.cmake: Language not supported
- cmake/Bloaty.cmake: Language not supported
- cmake/Cache.cmake: Language not supported
- cmake/Lizard.cmake: Language not supported
- cmake/Sanitizers.cmake: Language not supported
- cmake/StaticAnalyzers.cmake: Language not supported
40:If You Must Do Manual Resource Management, Follow the Rule of 5 | ||
41:Don’t Copy and Paste Code | ||
42:Prefer std::format, std::print Over iostream Or c-formatting Functions | ||
43:constexpr All The Things! (constexpr should be the prefered default as of C++23) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider correcting 'prefered' to 'preferred' for consistent spelling.
43:constexpr All The Things! (constexpr should be the prefered default as of C++23) | |
43:constexpr All The Things! (constexpr should be the preferred default as of C++23) |
Copilot uses AI. Check for mistakes.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #112 +/- ##
=======================================
Coverage 20.50% 20.50%
=======================================
Files 5 5
Lines 239 239
Branches 112 87 -25
=======================================
Hits 49 49
- Misses 179 188 +9
+ Partials 11 2 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|