{"id":29878559,"url":"https://github.com/e-gleba/template-cpp-project","last_synced_at":"2025-07-31T07:33:12.367Z","repository":{"id":153139696,"uuid":"626480181","full_name":"e-gleba/template-cpp-project","owner":"e-gleba","description":"Just a template for future projects in c++","archived":false,"fork":false,"pushed_at":"2025-06-02T22:15:31.000Z","size":2320,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T19:39:54.232Z","etag":null,"topics":["bash","clang-format","clang-tidy","cmake","cpp","docker","doxygen","editorconfig","template-project"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/e-gleba.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-11T14:51:03.000Z","updated_at":"2025-06-02T22:15:35.000Z","dependencies_parsed_at":"2023-12-17T13:23:48.442Z","dependency_job_id":"e8140d05-8256-4347-988c-ca498cf38e2c","html_url":"https://github.com/e-gleba/template-cpp-project","commit_stats":null,"previous_names":["e-gleba/template-cpp-project"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/e-gleba/template-cpp-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-gleba%2Ftemplate-cpp-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-gleba%2Ftemplate-cpp-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-gleba%2Ftemplate-cpp-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-gleba%2Ftemplate-cpp-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/e-gleba","download_url":"https://codeload.github.com/e-gleba/template-cpp-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-gleba%2Ftemplate-cpp-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268004285,"owners_count":24179389,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","clang-format","clang-tidy","cmake","cpp","docker","doxygen","editorconfig","template-project"],"created_at":"2025-07-31T07:33:11.771Z","updated_at":"2025-07-31T07:33:12.331Z","avatar_url":"https://github.com/e-gleba.png","language":"Java","readme":"# 🚀 Modern C++ Project Template\n\n[![C++ Standard](https://img.shields.io/badge/C%2B%2B-23%2F26-00599C?style=for-the-badge\u0026logo=cplusplus\u0026logoColor=white\u0026labelColor=1C1C1C)](https://isocpp.org/)\n[![CMake](https://img.shields.io/badge/CMake-3.28%2B-064F8C?style=for-the-badge\u0026logo=cmake\u0026logoColor=white\u0026labelColor=1C1C1C)](https://cmake.org)\n[![License](https://img.shields.io/badge/License-AGPL--3.0-FF6B6B?style=for-the-badge\u0026logo=gnu\u0026logoColor=white\u0026labelColor=1C1C1C)](https://www.gnu.org/licenses/agpl-3.0.html)\n\n[![Build Matrix](https://img.shields.io/badge/Build%20Matrix-GCC%20%7C%20Clang%20%7C%20MSVC-4ECDC4?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white\u0026labelColor=1C1C1C)](https://github.com/features/actions)\n[![Performance](https://img.shields.io/badge/Performance-Optimized-45B7D1?style=for-the-badge\u0026logo=speedtest\u0026logoColor=white\u0026labelColor=1C1C1C)](#performance-benchmarks)\n[![Architecture](https://img.shields.io/badge/Architecture-x64%20%7C%20ARM64-96CEB4?style=for-the-badge\u0026logo=arm\u0026logoColor=white\u0026labelColor=1C1C1C)](#supported-architectures)\n\n[![Documentation](https://img.shields.io/badge/Docs-Doxygen%20%7C%20Sphinx-FEA47F?style=for-the-badge\u0026logo=readthedocs\u0026logoColor=white\u0026labelColor=1C1C1C)](https://doxygen.nl/)\n[![Testing](https://img.shields.io/badge/Testing-Catch2%20%7C%20Doctest-F7931E?style=for-the-badge\u0026logo=testinglibrary\u0026logoColor=white\u0026labelColor=1C1C1C)](#testing-framework)\n[![Package Manager](https://img.shields.io/badge/Dependencies-CPM%20%7C%20Conan-FF7F7F?style=for-the-badge\u0026logo=cmake\u0026logoColor=white\u0026labelColor=1C1C1C)](#dependency-management)\n\n[![Containerization](https://img.shields.io/badge/Docker-Multi--Stage%20%7C%20Distroless-0db7ed?style=for-the-badge\u0026logo=docker\u0026logoColor=white\u0026labelColor=1C1C1C)](https://www.docker.com/)\n[![CI/CD](https://img.shields.io/badge/Pipeline-GitHub%20Actions%20%7C%20GitLab%20CI-2088FF?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white\u0026labelColor=1C1C1C)](#continuous-integration)\n[![IDE Support](https://img.shields.io/badge/IDE-CLion%20%7C%20VS%20Code%20%7C%20Qt%20Creator-FF6B6B?style=for-the-badge\u0026logo=visualstudiocode\u0026logoColor=white\u0026labelColor=1C1C1C)](#development-environment)\n\n## 🌟 Features\n\n- **🔬 C++23 Ready Presets**: Leverage cutting-edge C++ features\n- **🛡️ Code Quality Tools**: Integrated targets for maintaining high standards\n- **📦 CPM Package Management**: Simplified dependency handling\n- **📄 Doxygen Configuration**: Seamless documentation generation\n- **🧪 CTest Integration**: Straightforward testing setup\n- **🐳 Docker Support**: Pre-configured containerization\n- **💻 IDE Compatibility**: Works with QtCreator, CLion, Visual Studio, KDevelop\n- **🌐 Cross-Platform**: Linux, Windows, macOS support\n- **🏗️ CMake-Driven**: Streamlined CI/CD configuration\n\n## Advanced Feature Matrix\n\nContemporary C++ development requires sophisticated tooling integration that addresses performance, maintainability, and developer experience concerns. This template provides a comprehensive foundation for high-performance applications with enterprise-grade quality assurance mechanisms.\n\n### Core Development Features\n\n| Component             | Technology                       | Configuration                | Performance Impact         |\n| --------------------- | -------------------------------- | ---------------------------- | -------------------------- |\n| **Build System**      | CMake 3.28+                      | Multi-preset configuration   | Zero runtime overhead      |\n| **Compiler Support**  | GCC 13+, Clang 16+, MSVC 19.35+  | Standards-compliant C++23/26 | Optimal code generation    |\n| **Memory Management** | Custom allocators, RAII patterns | Stack-preferring design      | Sub-microsecond allocation |\n| **Concurrency**       | std::execution, coroutines       | Lock-free data structures    | Minimal contention         |\n| **Error Handling**    | std::expected, error codes       | Zero-cost exception safety   | Predictable performance    |\n\n### Quality Assurance Pipeline\n\n| Tool Category             | Implementation                    | Integration             | Quality Metrics                  |\n| ------------------------- | --------------------------------- | ----------------------- | -------------------------------- |\n| **Static Analysis**       | Clang-Static-Analyzer, PVS-Studio | Pre-commit hooks        | Zero false positives             |\n| **Dynamic Analysis**      | AddressSanitizer, MemorySanitizer | CI/CD integration       | 100% memory safety               |\n| **Performance Profiling** | Perf, Intel VTune, Tracy          | Continuous benchmarking | Performance regression detection |\n| **Documentation**         | Doxygen, Sphinx                   | Automated generation    | API coverage tracking            |\n\n## 🚧 Prerequisites\n\n- `cmake 3.25.0+`\n- `C++ compiler with C++23 support`\n- `ninja`\n- `(optional) cmake/cfg/*.cmake tools`\n\n## 💾 Installation\n\n### 🍎 macOS\n\n```bash\n# Homebrew\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n\n# Dependencies\nbrew install cmake llvm doxygen\n```\n\n### 🪟 Windows\n\n```powershell\n# Chocolatey\n@\"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command \"iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))\" \u0026\u0026 SET \"PATH=%PATH%;%ALLUSERSPROFILE%\\chocolatey\\bin\"\n\n# Dependencies\nchoco install cmake llvm visualstudio2019buildtools doxygen\n```\n\n### 🐧 Linux\n\n#### Ubuntu/Debian\n\n```bash\nsudo apt update\nsudo apt install cmake g++ doxygen\n```\n\n#### Fedora\n\n```bash\nsudo dnf check-update\nsudo dnf install cmake gcc-c++ doxygen\n```\n\n## 🛠️ Build \u0026 Deployment\n\n### Build Project\n\n```bash\ncmake --preset=gcc .\ncd build/release\ncmake --build . --config gcc\n```\n\n### Run Tests\n\n```bash\ncd build/gcc\nctest --output-on-failure\n```\n\n### Docker Build\n\n```bash\ndocker build -t my-image -f docker/\u003cdesired_os\u003e.Dockerfile .\n```\n\n## 📚 Documentation\n\n```bash\ncd build/gcc\ncmake --build . --target doxygen\n\n# Browse documentation\ncd build/gcc/docs/doxygen/html\npython -m http.server 8080\n```\n\n## 🚧 Roadmap\n\n- [ ] Add Android build support\n\n## 🤝 Contributing\n\nContributions are welcome! Fork the repository and submit a pull request.\n\n## 📄 License\n\n[AGPL-3.0 License](license)\n\n## 🙏 Acknowledgments\n\nThanks to CMake, CTest, and the open-source community.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-gleba%2Ftemplate-cpp-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fe-gleba%2Ftemplate-cpp-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-gleba%2Ftemplate-cpp-project/lists"}