{"id":17301876,"url":"https://github.com/egecetin/repo-init","last_synced_at":"2025-10-19T06:43:00.145Z","repository":{"id":37957382,"uuid":"480123583","full_name":"egecetin/Repo-Init","owner":"egecetin","description":"C++ Application Template. It has already integrated a Telnet and ZeroMQ server to receive commands, Crashpad handler to generate minidump, a Prometheus server to broadcast performance metrics. Also, it can send logs to syslog using Spdlog, to a Sentry server and Grafana Loki instance","archived":false,"fork":false,"pushed_at":"2025-03-15T11:52:57.000Z","size":29580,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T01:53:30.529Z","etag":null,"topics":["application-template","cmake","cpp","cpp-template","grafana-loki-client","prometheus-client","sentry-client","template"],"latest_commit_sha":null,"homepage":"https://egecetin.github.io/Repo-Init/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/egecetin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"egecetin"}},"created_at":"2022-04-10T19:49:06.000Z","updated_at":"2025-03-15T11:52:04.000Z","dependencies_parsed_at":"2023-02-19T04:45:49.198Z","dependency_job_id":"a2549c0f-31a6-4707-81b6-ce5375f6afae","html_url":"https://github.com/egecetin/Repo-Init","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egecetin%2FRepo-Init","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egecetin%2FRepo-Init/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egecetin%2FRepo-Init/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egecetin%2FRepo-Init/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/egecetin","download_url":"https://codeload.github.com/egecetin/Repo-Init/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248883235,"owners_count":21177184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-template","cmake","cpp","cpp-template","grafana-loki-client","prometheus-client","sentry-client","template"],"created_at":"2024-10-15T11:45:49.142Z","updated_at":"2025-10-19T06:43:00.123Z","avatar_url":"https://github.com/egecetin.png","language":"C++","funding_links":["https://github.com/sponsors/egecetin"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Repo-Init\n\n\u003cimg src=\"doc/logo.png\" alt=\"Repo-Init Logo\" width=\"200\"\u003e\n\n### ⚡ **Modern C++ Application Template with Enterprise-Grade Features** ⚡\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/top/egecetin/Repo-Init?style=for-the-badge\u0026logo=cplusplus\u0026logoColor=white\" alt=\"Top Language\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/egecetin/Repo-Init?style=for-the-badge\u0026color=brightgreen\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/egecetin/Repo-Init/actions/workflows/build_and_test.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/egecetin/Repo-Init/build_and_test.yml?label=Build%20%26%20Test\u0026branch=master\u0026logo=github\u0026style=for-the-badge\" alt=\"Build Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/summary/new_code?id=egecetin_Repo-Init\"\u003e\n    \u003cimg src=\"https://img.shields.io/sonar/coverage/egecetin_Repo-Init?server=https%3A%2F%2Fsonarcloud.io\u0026style=for-the-badge\u0026logo=sonarqubecloud\" alt=\"Coverage\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://sonarcloud.io/summary/new_code?id=egecetin_Repo-Init\"\u003e\n    \u003cimg src=\"https://img.shields.io/sonar/quality_gate/egecetin_Repo-Init?server=https%3A%2F%2Fsonarcloud.io\u0026style=for-the-badge\u0026logo=sonarqubecloud\" alt=\"Quality Gate\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://scorecard.dev/viewer/?uri=github.com/egecetin/Repo-Init\"\u003e\n    \u003cimg src=\"https://img.shields.io/ossf-scorecard/github.com/egecetin/Repo-Init?label=OpenSSF%20Score\u0026style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHBhdGggZD0ibTcgMTFWN0E1IDUgMCAwIDEgMTcgN3Y0Ij48L3BhdGg+PC9zdmc+\" alt=\"OpenSSF Score\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003c/div\u003e\n\n## What is Repo-Init?\n\n**Repo-Init** is a powerful, production-ready CMake template designed to kickstart your C++ applications with enterprise-grade features built-in. Say goodbye to boilerplate code and hello to modern, robust software development!\n\n\u003e 🔧 **Requires**: C++17 supported compiler\n\n\u003e 💡 **Perfect for**: Microservices, CLI tools, system applications, and performance-critical software\n\n\u003cdiv align=\"center\"\u003e\n\n### **Key Features at a Glance**\n\n\u003c/div\u003e\n\n\u003ctable align=\"center\"\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\" width=\"33%\"\u003e\n            \u003ch3\u003e🛡️ \u003cstrong\u003eCrash Protection\u003c/strong\u003e\u003c/h3\u003e\n            \u003cp\u003eAutomatic minidump generation with \u003ca\n                    href=\"https://chromium.googlesource.com/crashpad/crashpad/\"\u003e\u003cstrong\u003eCrashpad\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\n            \u003cp\u003e\u003cem\u003eNever lose critical debugging information\u003c/em\u003e\u003c/p\u003e\n        \u003c/td\u003e\n        \u003ctd align=\"center\" width=\"33%\"\u003e\n            \u003ch3\u003e📊 \u003cstrong\u003eAdvanced Logging\u003c/strong\u003e\u003c/h3\u003e\n            \u003cp\u003eMulti-output logging with \u003cstrong\u003eSpdlog\u003c/strong\u003e\u003c/p\u003e\n            \u003cp\u003e\u003cem\u003eFile rotation • Syslog • Colorized console\u003c/em\u003e\u003c/p\u003e\n        \u003c/td\u003e\n        \u003ctd align=\"center\" width=\"33%\"\u003e\n            \u003ch3\u003e🔗 \u003cstrong\u003eService Integration\u003c/strong\u003e\u003c/h3\u003e\n            \u003cp\u003e\u003ca href=\"https://sentry.io/\"\u003e\u003cstrong\u003eSentry\u003c/strong\u003e\u003c/a\u003e • \u003ca\n                    href=\"https://grafana.com/oss/loki/\"\u003e\u003cstrong\u003eGrafana Loki\u003c/strong\u003e\u003c/a\u003e • \u003ca\n                    href=\"https://prometheus.io/\"\u003e\u003cstrong\u003ePrometheus\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\n            \u003cp\u003e\u003cem\u003eReal-time monitoring \u0026 alerting\u003c/em\u003e\u003c/p\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ch3\u003e⚡ \u003cstrong\u003ePerformance Metrics\u003c/strong\u003e\u003c/h3\u003e\n            \u003cul\u003e\n                \u003cli\u003eSuccess/failure counters\u003c/li\u003e\n                \u003cli\u003eMin/max timing analysis\u003c/li\u003e\n                \u003cli\u003eQuantile-based bottleneck detection\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ch3\u003e🌐 \u003cstrong\u003eNetwork Ready\u003c/strong\u003e\u003c/h3\u003e\n            \u003cul\u003e\n                \u003cli\u003eBuilt-in Telnet server\u003c/li\u003e\n                \u003cli\u003e\u003ca href=\"https://zeromq.org/\"\u003e\u003cstrong\u003eZeroMQ\u003c/strong\u003e\u003c/a\u003e messaging\u003c/li\u003e\n                \u003cli\u003eHTTP connectivity\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ch3\u003e🚀 \u003cstrong\u003eDeveloper Experience\u003c/strong\u003e\u003c/h3\u003e\n            \u003cul\u003e\n                \u003cli\u003eOne-command setup\u003c/li\u003e\n                \u003cli\u003eComprehensive testing\u003c/li\u003e\n                \u003cli\u003eAuto-generated docs\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n\u003e 💬 **Questions? Issues? Contributions?**\n\u003e Feel free to ask, use, and report any bugs you encounter! We ❤️ community feedback.\n\n\u003cdiv align=\"center\"\u003e\n\n[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-orange.svg)](https://sonarcloud.io/summary/new_code?id=egecetin_Repo-Init)\n\n---\n\n\u003c/div\u003e\n\n## Table of Contents\n\n- [What is Repo-Init?](#-what-is-repo-init)\n- [Table of Contents](#-table-of-contents)\n- [CMake Modules](#-cmake-modules)\n- [Utility Scripts](#-utility-scripts)\n- [Dependencies](#-dependencies)\n- [Testing Setup](#-testing-setup)\n- [Build Targets](#-build-targets)\n- [Grafana Integration](#-grafana-integration)\n\n## CMake Modules\n\nOur carefully crafted CMake modules provide powerful build automation:\n\n| Module | 🎯 Purpose | ✨ Benefits |\n|--------|------------|-------------|\n| **CodeCoverage** | Detects and enables `gcovr` | 📊 Automatic test coverage reports |\n| **CompilerSecurityOptions** | Enables/Disables secure compiler flags | 🛡️ Hardened binary security |\n| **Doxy** | Finds Doxygen package and prepares docs | 📖 Auto-generated documentation |\n| **GenerateSymbols** | Adds target for symbol file generation | 🔍 Enhanced debugging with minidumps |\n| **GitVersion** | Gets SHA1 hash of current commit | 🏷️ Version tracking and build reproducibility |\n| **GraphViz** | Finds GraphViz and dot executable | 🎨 Visual dependency graphs |\n\n---\n\n## Utility Scripts\n\n\u003e 💡 **Tip**: All scripts should be executed from the top-level directory\n\n| Script | 🚀 Function | 📝 Description |\n|--------|-------------|----------------|\n| `firstName.sh` | **Name Changer** | Replaces placeholder names throughout the project |\n| `crashpad_manual_upload.py` | **Manual Minidump Uploader** | Uploads bulk of minidump files in given directory |\n| `dump_syms.py` | **Symbol Dumper** | Generates symbol files for crash analysis |\n\n---\n\n## Dependencies\n\n\u003cdiv align=\"center\"\u003e\n\n### **Core Runtime Libraries**\n\n\u003c/div\u003e\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003ch4\u003e🔥 \u003cstrong\u003eIntegrated Dependencies\u003c/strong\u003e\u003c/h4\u003e\n            \u003cp\u003e\u003cem\u003eBuilt and bundled automatically\u003c/em\u003e\u003c/p\u003e\n            \u003cul\u003e\n                \u003cli\u003e🔌 \u003ca href=\"https://github.com/zeromq/cppzmq.git\"\u003e\u003cstrong\u003eCppZMQ\u003c/strong\u003e\u003c/a\u003e - Modern C++ ZeroMQ\n                    bindings\u003c/li\u003e\n                \u003cli\u003e💥 \u003ca href=\"https://chromium.googlesource.com/crashpad/crashpad/\"\u003e\u003cstrong\u003eCrashpad\u003c/strong\u003e\u003c/a\u003e -\n                    Crash reporting system\u003c/li\u003e\n                \u003cli\u003e📅 \u003ca href=\"https://github.com/HowardHinnant/date.git\"\u003e\u003cstrong\u003eDate\u003c/strong\u003e\u003c/a\u003e - C++ date/time\n                    library\u003c/li\u003e\n                \u003cli\u003e🌐 \u003ca\n                        href=\"https://github.com/j-ulrich/http-status-codes-cpp.git\"\u003e\u003cstrong\u003eHttp-status-codes\u003c/strong\u003e\u003c/a\u003e\n                    - HTTP utilities\u003c/li\u003e\n                \u003cli\u003e📊 \u003ca href=\"https://github.com/jupp0r/prometheus-cpp.git\"\u003e\u003cstrong\u003ePrometheus-cpp\u003c/strong\u003e\u003c/a\u003e -\n                    Metrics collection\u003c/li\u003e\n                \u003cli\u003e⚡ \u003ca href=\"https://github.com/Tencent/rapidjson.git\"\u003e\u003cstrong\u003eRapidJSON\u003c/strong\u003e\u003c/a\u003e - Ultra-fast\n                    JSON parser\u003c/li\u003e\n                \u003cli\u003e🔐 \u003ca href=\"https://github.com/getsentry/sentry-native.git\"\u003e\u003cstrong\u003eSentry\u003c/strong\u003e\u003c/a\u003e - Error\n                    monitoring\u003c/li\u003e\n                \u003cli\u003e🖥️ \u003ca href=\"https://github.com/lukemalcolm/TelnetServLib.git\"\u003e\u003cstrong\u003eTelnetServLib\u003c/strong\u003e\u003c/a\u003e -\n                    \u003cem\u003eModified \u0026 embedded\u003c/em\u003e\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003ch4\u003e🛠️ \u003cstrong\u003eDevelopment Dependencies\u003c/strong\u003e\u003c/h4\u003e\n            \u003cp\u003e\u003cem\u003eFor building and testing only\u003c/em\u003e\u003c/p\u003e\n            \u003cul\u003e\n                \u003cli\u003e🔧 \u003ca href=\"https://chromium.googlesource.com/breakpad/breakpad/\"\u003e\u003cstrong\u003eBreakpad\u003c/strong\u003e\u003c/a\u003e -\n                    Symbol dumping\u003c/li\u003e\n                \u003cli\u003e✅ \u003ca href=\"https://github.com/google/googletest.git\"\u003e\u003cstrong\u003eGoogleTest\u003c/strong\u003e\u003c/a\u003e - Unit testing\n                    framework\u003c/li\u003e\n                \u003cli\u003e🔍 \u003ca href=\"https://github.com/seladb/MemPlumber.git\"\u003e\u003cstrong\u003eMemPlumber\u003c/strong\u003e\u003c/a\u003e - Memory leak\n                    detection\u003c/li\u003e\n                \u003cli\u003e📦 \u003cstrong\u003eZLIB\u003c/strong\u003e - Compression (required by Breakpad)\u003c/li\u003e\n            \u003c/ul\u003e\n            \u003ch4\u003e🌐 \u003cstrong\u003eSystem Dependencies\u003c/strong\u003e\u003c/h4\u003e\n            \u003cp\u003e\u003cem\u003eInstall via package manager (apt/dnf/brew)\u003c/em\u003e\u003c/p\u003e\n            \u003cul\u003e\n                \u003cli\u003e🌍 \u003ca href=\"https://github.com/curl/curl\"\u003e\u003cstrong\u003ecURL\u003c/strong\u003e\u003c/a\u003e - HTTP client library\u003c/li\u003e\n                \u003cli\u003e📝 \u003ca href=\"https://github.com/gabime/spdlog.git\"\u003e\u003cstrong\u003eSpdlog\u003c/strong\u003e\u003c/a\u003e - Fast logging library\n                \u003c/li\u003e\n                \u003cli\u003e⚡ \u003ca href=\"https://github.com/zeromq/libzmq.git\"\u003e\u003cstrong\u003eZeroMQ\u003c/strong\u003e\u003c/a\u003e - High-performance\n                    messaging\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e 📊 **Want to see the full picture?** Check out our complete [**dependency graph**](doc/dependency-tree.svg)!\n\n---\n\n\u003c/div\u003e\n\n## Testing Setup\n\n\u003cdiv align=\"center\"\u003e\n\n### **Python Test Dependencies**\n\n\u003c/div\u003e\n\nOur test suite requires some Python dependencies for comprehensive testing. Here's how to set them up:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003ch4\u003e🚀 \u003cstrong\u003eQuick Setup\u003c/strong\u003e\u003c/h4\u003e\n            \u003cpre\u003e\u003ccode class=\"bash\"\u003e\n    # Create virtual environment\n    python3 -m venv .venv\n    \u003cbr\u003e\n    # Activate virtual environment\n    source .venv/bin/activate  # Linux/macOS\n    # OR\n    .venv\\Scripts\\activate     # Windows\n    \u003cbr\u003e\n    # Install test dependencies\n    pip install -r tests/data/requirements.txt\u003c/code\u003e\u003c/pre\u003e\n        \u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003ch4\u003e📋 \u003cstrong\u003eRequired Dependencies\u003c/strong\u003e\u003c/h4\u003e\n            \u003cul\u003e\n                \u003cli\u003e\u003cstrong\u003epyzmq\u003c/strong\u003e - Python ZeroMQ bindings for testing messaging functionality\u003c/li\u003e\n            \u003c/ul\u003e\n            \u003ch4\u003e⚠️ \u003cstrong\u003eImportant Notes\u003c/strong\u003e\u003c/h4\u003e\n            \u003cul\u003e\n                \u003cli\u003eVirtual environment \u003cstrong\u003emust be activated\u003c/strong\u003e before running tests\u003c/li\u003e\n                \u003cli\u003eDependencies are automatically detected by the test suite\u003c/li\u003e\n                \u003cli\u003eDeactivate with \u003ccode\u003edeactivate\u003c/code\u003e when done\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Build Targets\n\n\u003cdiv align=\"center\"\u003e\n\n### **One Command, Multiple Possibilities**\n\n\u003c/div\u003e\n\n| Target | 🚀 Command | 📋 Description |\n|--------|------------|----------------|\n| **all** | `cmake --build .` | Builds the complete project with all components |\n| **coverage** | `cmake --build . --target coverage` | Generates comprehensive test coverage reports |\n| **docs** | `cmake --build . --target docs` | Creates beautiful documentation with Doxygen |\n| **dependency-graph** | `cmake --build . --target dependency-graph` | Visualizes project dependencies with GraphViz |\n| **package** | `cmake --build . --target package` | Creates distribution packages (DEB/RPM + systemd service) |\n| **test** | `ctest . --parallel` | Runs the complete test suite with GoogleTest |\n\n\u003cdiv align=\"center\"\u003e\n\n\u003e 💡 **Pro Tips**:\n\u003e - For packages, specify your preferred format with `-DCPACK_GENERATOR=\"DEB\"` or `\"RPM\"`\n\u003e - Ensure Python virtual environment is activated before running tests!\n\n---\n\n\u003c/div\u003e\n\n### **Build Options**\n\n\u003cdiv align=\"center\"\u003e\n\n**Customize your build with powerful CMake configuration options**\n\n\u003c/div\u003e\n\n\u003e 💡 **Important**: Re-run CMake configuration (`cmake -B build`) after changing any options\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"60%\"\u003e\n            \u003ch4\u003e🧪 \u003cstrong\u003eTesting \u0026 Quality Assurance\u003c/strong\u003e\u003c/h4\u003e\n            \u003ctable\u003e\n                \u003ctr\u003e\n                    \u003cth\u003eOption\u003c/th\u003e\n                    \u003cth\u003eDescription\u003c/th\u003e\n                    \u003cth\u003eDefault\u003c/th\u003e\n                    \u003cth\u003e🎯 Use Case\u003c/th\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_BUILD_TESTS\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e🔧 Build all test suites\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eON\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eComplete testing pipeline\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_BUILD_UNITTESTS\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e✅ Build unit tests only\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eON\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eFast development feedback\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_BUILD_FUZZTESTS\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e🎲 Build fuzz testing suite\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eOFF\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eSecurity \u0026 robustness testing\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_ENABLE_COVERAGE\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e📊 Generate test coverage reports\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eOFF\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eCode quality metrics\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_ENABLE_MEMLEAK_CHECK\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e🔍 Memory leak detection with MemPlumber\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eOFF\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eDebug memory issues\u003c/td\u003e\n                \u003c/tr\u003e\n            \u003c/table\u003e\n            \u003ch4\u003e🚀 \u003cstrong\u003eRelease \u0026 Distribution\u003c/strong\u003e\u003c/h4\u003e\n            \u003ctable\u003e\n                \u003ctr\u003e\n                    \u003cth\u003eOption\u003c/th\u003e\n                    \u003cth\u003eDescription\u003c/th\u003e\n                    \u003cth\u003eDefault\u003c/th\u003e\n                    \u003cth\u003e🎯 Use Case\u003c/th\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_ENABLE_SYMBOL_GENERATION\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e🔧 Generate debug symbols for crash dumps\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eOFF\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eProduction debugging\u003c/td\u003e\n                \u003c/tr\u003e\n                \u003ctr\u003e\n                    \u003ctd\u003e\u003ccode\u003eXXX_ENABLE_PACKAGING\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003e📦 Enable DEB/RPM packaging with systemd\u003c/td\u003e\n                    \u003ctd\u003e\u003ccode\u003eOFF\u003c/code\u003e\u003c/td\u003e\n                    \u003ctd\u003eDistribution \u0026 deployment\u003c/td\u003e\n                \u003c/tr\u003e\n            \u003c/table\u003e\n        \u003c/td\u003e\n        \u003ctd width=\"40%\"\u003e\n            \u003ch4\u003e💡 \u003cstrong\u003eQuick Examples\u003c/strong\u003e\u003c/h4\u003e\n            \u003cpre\u003e\u003ccode class=\"bash\"\u003e# Development build with all tests\ncmake -B build -DXXX_BUILD_TESTS=ON \\\n                -DXXX_ENABLE_COVERAGE=ON\n\u003cbr\u003e\n# Production build with packaging\ncmake -B build -DXXX_BUILD_TESTS=OFF \\\n                -DXXX_ENABLE_PACKAGING=ON \\\n                -DXXX_ENABLE_SYMBOL_GENERATION=ON\n\u003cbr\u003e\n# Security testing build\ncmake -B build -DXXX_BUILD_FUZZTESTS=ON \\\n                -DXXX_ENABLE_MEMLEAK_CHECK=ON\n\u003cbr\u003e\n# Minimal build (fastest)\ncmake -B build -DXXX_BUILD_TESTS=OFF\u003c/code\u003e\u003c/pre\u003e\n            \u003ch4\u003e⚡ \u003cstrong\u003ePro Tips\u003c/strong\u003e\u003c/h4\u003e\n            \u003cul\u003e\n                \u003cli\u003e🏃 \u003cstrong\u003eFast Iteration\u003c/strong\u003e: Disable tests for quick builds during development\u003c/li\u003e\n                \u003cli\u003e🔒 \u003cstrong\u003eSecurity Focus\u003c/strong\u003e: Enable fuzz tests and memory checks for critical code\u003c/li\u003e\n                \u003cli\u003e📈 \u003cstrong\u003eCI/CD\u003c/strong\u003e: Use coverage reports in your automated pipelines\u003c/li\u003e\n                \u003cli\u003e🚀 \u003cstrong\u003eProduction\u003c/strong\u003e: Always enable symbol generation for crash analysis\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Grafana Integration\n\n\u003cdiv align=\"center\"\u003e\n\n### **Real-Time Monitoring Made Beautiful**\n\nThanks to our integrated **Prometheus server**, monitoring your application has never been easier! Get instant insights into your application's performance, health, and behavior.\n\n\u003c/div\u003e\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003ch4\u003e🚀 \u003cstrong\u003eQuick Setup\u003c/strong\u003e\u003c/h4\u003e\n            \u003col\u003e\n                \u003cli\u003e\u003cstrong\u003eImport Dashboard\u003c/strong\u003e: Use our pre-built \u003ca\n                        href=\"scripts/GrafanaDashboard-1730032129887.json\"\u003e\u003cstrong\u003eGrafana template\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n                \u003cli\u003e\u003cstrong\u003eConnect Prometheus\u003c/strong\u003e: Point to your app's metrics endpoint\u003c/li\u003e\n                \u003cli\u003e\u003cstrong\u003eMonitor\u003c/strong\u003e: Watch real-time metrics flow in!\u003c/li\u003e\n            \u003c/ol\u003e\n            \u003ch4\u003e✨ \u003cstrong\u003eWhat You Get\u003c/strong\u003e\u003c/h4\u003e\n            \u003cul\u003e\n                \u003cli\u003e\u003cstrong\u003ePerformance Metrics\u003c/strong\u003e: Response times, throughput, resource usage\u003c/li\u003e\n                \u003cli\u003e\u003cstrong\u003eError Tracking\u003c/strong\u003e: Real-time error rates and alerting\u003c/li\u003e\n                \u003cli\u003e\u003cstrong\u003eResource Monitoring\u003c/strong\u003e: CPU, memory, and system metrics\u003c/li\u003e\n                \u003cli\u003e\u003cstrong\u003eCustom Metrics\u003c/strong\u003e: Track your application-specific KPIs\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\n            \u003cdiv align=\"center\"\u003e\n                \u003ch4\u003e📸 \u003cstrong\u003eLive Dashboard Preview\u003c/strong\u003e\u003c/h4\u003e\n                \u003cimg src=\"doc/GrafanaDashboard.png\" alt=\"Grafana Dashboard\" width=\"100%\"\u003e\n                \u003cp\u003e\u003cem\u003eBeautiful, responsive, and information-rich monitoring\u003c/em\u003e\u003c/p\u003e\n            \u003c/div\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n---\n\n## **Contributing \u0026 Support**\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/egecetin/Repo-Init/issues\"\u003e🐛 Report Issues\u003c/a\u003e •\n  \u003ca href=\"https://github.com/egecetin/Repo-Init/discussions\"\u003e💬 Discussions\u003c/a\u003e •\n  \u003ca href=\"https://github.com/egecetin/Repo-Init/pulls\"\u003e🔧 Pull Requests\u003c/a\u003e\n\u003c/p\u003e\n\n**Made with ❤️ for the C++ community**\n\n*Star ⭐ this repo if you find it useful!*\n\n---\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegecetin%2Frepo-init","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegecetin%2Frepo-init","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegecetin%2Frepo-init/lists"}