MetaImGui

hackernews | | 📰 뉴스
#ai개발 #c++20 #imgui #데스크톱앱 #메타imgui
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

AI 보조 개발에 특화된 ImGui 데스크톱 애플리케이션용 C++20 템플릿 프로젝트가 공개되었습니다. 이 템플릿은 CMake 기반 빌드 시스템과 다양한 개발 도구를 포함하여 프로젝트 구축을 위한 견고한 기초를 제공합니다. CI/CD 파이프라인, 테스트(Catch2), 정적 분석(clang-tidy), 보안 스캔(CodeQL), 성능 벤치마크 등 완전한 개발 인프라가 사전에 구축되어 있어 설정 시간을 절약할 수 있습니다. 또한 프로젝트 이름 변경 및 네임스페이스 업데이트를 지원하는 초기화 스크립트와 다국어 지원, ISS 추적 데모 등 실용적인 기능을 기본적으로 제공합니다.

본문

A C++20 template for ImGui desktop applications. Includes build system, CI/CD, and basic application structure. Skip the setup. Start building. MetaImGUI is a project starter built for AI-assisted development. This template gives you and your AI coding partner a clean foundation—consistent patterns, clear architecture, and straightforward documentation mean less explaining and more building. Fork it, customize it with the included init script, and start shipping features instead of fighting configuration. Everything you need is here: CI/CD pipelines, cross-platform builds, automated releases, testing, and security scanning. No hype, just working infrastructure. Ubuntu 25.10 - 🚀 C++20 codebase - 🔧 CMake build system for Linux, Windows, macOS - 🎨 ImGui v1.92.4 with GLFW and OpenGL 4.6 (4.1 on macOS) - 🖼️ Menu bar and about dialog - ⚙️ JSON configuration (window size, language preference) - 📝 Thread-safe logging (console and file) - 💬 Dialog system (message boxes, confirmation, input, progress) - 🌍 Localization (English, Spanish, French, German) - 🛰️ ISS Tracker demo (real-time plotting with ImPlot) - ⚡ CI/CD workflows (builds on every push) - 📦 Automated releases (create tag, get installers) - 🔔 Update checker (GitHub API) - 🏷️ Git-based versioning - 🎯 Init script (renames project, updates namespaces) - ✅ Catch2 tests - 🧪 Code coverage tracking (Codecov) - 🛡️ Sanitizers (AddressSanitizer, UndefinedBehaviorSanitizer, ThreadSanitizer) - 🔍 Static analysis (clang-tidy with 400+ checks, cppcheck) - enforced on every push/PR - 🔒 Security scanning (CodeQL) - 📊 Performance benchmarks (Google Benchmark) - 📋 Packaging (AppImage, .deb, NSIS installer, DMG) - 🤖 VS Code configuration See META_FEATURES.md for detailed documentation of all features. MetaImGUI/ ├── CMakeLists.txt # Main build configuration ├── CMakePresets.json # CMake preset configurations ├── README.md # This file ├── LICENSE # GPL v3.0 license ├── AUTHORS # Project contributors ├── CHANGELOG.md # Version history and changes ├── CODE_OF_CONDUCT.md # Community guidelines ├── CONTRIBUTING.md # Contribution guidelines ├── SECURITY.md # Security policy ├── SECURITY_CHECKLIST.md # Security best practices ├── META_FEATURES.md # Detailed feature documentation ├── QUICK_REFERENCE.md # Quick reference guide ├── SETUP_GUIDE.md # Setup instructions ├── GITHUB_ACTIONS_GUIDE.md # GitHub Actions documentation ├── Doxyfile # Doxygen configuration ├── entitlements.plist # macOS entitlements │ ├── src/ # Source files │ ├── main.cpp # Application entry point │ ├── Application.cpp # Main application logic │ ├── WindowManager.cpp # Window management │ ├── ThemeManager.cpp # Theme/styling system │ ├── UIRenderer.cpp # UI rendering logic │ ├── UpdateChecker.cpp # Update notification system │ ├── ConfigManager.cpp # Settings persistence │ ├── Logger.cpp # Logging system │ ├── DialogManager.cpp # Dialog system │ ├── Localization.cpp # Localization/translations │ └── ISSTracker.cpp # ISS position tracking │ ├── include/ # Header files │ ├── Application.h # Application header │ ├── WindowManager.h # Window manager header │ ├── ThemeManager.h # Theme manager header │ ├── UIRenderer.h # UI renderer header │ ├── UpdateChecker.h # Update checker header │ ├── ConfigManager.h # Config manager header │ ├── Logger.h # Logger header │ ├── DialogManager.h # Dialog manager header │ ├── Localization.h # Localization header │ ├── ISSTracker.h # ISS tracker header │ └── version.h.in # Version template │ ├── tests/ # Test suite (Catch2) │ ├── test_main.cpp # Test runner │ ├── test_theme_manager.cpp # Theme tests │ ├── test_update_checker.cpp# Update checker tests │ ├── test_version.cpp # Version tests │ ├── test_config_manager.cpp# Config manager tests │ ├── test_logger.cpp # Logger tests │ └── test_window_manager.cpp# Window manager tests │ ├── benchmarks/ # Performance benchmarks (Google Benchmark) │ ├── CMakeLists.txt # Benchmark build configuration │ ├── benchmark_main.cpp # Benchmark entry point │ ├── benchmark_config.cpp # ConfigManager benchmarks │ ├── benchmark_logger.cpp # Logger benchmarks │ └── benchmark_localization.cpp # Localization benchmarks │ ├── cmake/ # CMake modules │ ├── GetGitVersion.cmake # Git version extraction │ ├── CodeCoverage.cmake # Code coverage configuration │ ├── Sanitizers.cmake # Sanitizer configuration │ └── StaticAnalysis.cmake # Static analysis configuration │ ├── scripts/ # Utility scripts │ ├── monitor_actions.sh # Linux/macOS workflow monitor │ ├── monitor_actions.ps1 # Windows workflow monitor │ ├── prepare_release.sh # Interactive release preparation │ ├── quick_status.sh # Quick status check │ ├── run_clang_tidy.sh # Run clang-tidy locally │ ├── run_coverage.sh # Generate coverage report │ ├── run_sanitizers.sh # Run sanitizers locally │ ├── run_static_analysis.sh # Run static analysis │ └── README.md # Scripts documentation │ ├── packaging/ # Platform-specific packaging │ ├── create_linux_packages.sh # Linux package creation │ ├── create_windows_instal

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →