- Add asio dependency for async signal handling
- Register SIGINT and SIGTERM to quit the application
- Poll signals each frame for non-blocking shutdown
- Q key and Ctrl+C both cleanly exit the program
- Add cbt::window class in cbt/ directory with RAII lifecycle
- Add setup_opengl and info_opengl for glad init and GL info
- Add Q key to quit the application
- Update CMakeLists.txt with glfw3 and glad dependencies
- Update AGENTS.md with snake_case naming and shell conventions