Skip to content

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Conversation

lefticus
Copy link
Member

  • 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.
@lefticus lefticus requested a review from Copilot April 30, 2025 16:07
Copy link

@Copilot Copilot AI left a 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)
Copy link
Preview

Copilot AI Apr 30, 2025

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.

Suggested change
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.

Copy link

codecov bot commented Apr 30, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 20.50%. Comparing base (1015c6b) to head (0084e38).

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     
Flag Coverage Δ
Linux 17.43% <ø> (-0.22%) ⬇️
Windows 21.02% <ø> (ø)
macOS 17.88% <ø> (-0.21%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lefticus lefticus changed the title Enhanced guidelines for AI and Humands Enhanced guidelines for AI and Humans May 1, 2025
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.

1 participant