{"id":27414740,"url":"https://github.com/aui-framework/example_app","last_synced_at":"2025-04-14T08:48:29.900Z","repository":{"id":273309612,"uuid":"919265604","full_name":"aui-framework/example_app","owner":"aui-framework","description":"Full-fledged AUI app setup with GitHub Actions","archived":false,"fork":false,"pushed_at":"2025-04-13T18:25:03.000Z","size":104,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T19:38:58.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aui-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-20T04:30:14.000Z","updated_at":"2025-04-13T18:25:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"8acc5c90-25aa-4cea-a8fe-a26c5e2626bd","html_url":"https://github.com/aui-framework/example_app","commit_stats":null,"previous_names":["aui-framework/example_app"],"tags_count":9,"template":true,"template_full_name":"aui-framework/example_assets_ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aui-framework%2Fexample_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aui-framework%2Fexample_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aui-framework%2Fexample_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aui-framework%2Fexample_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aui-framework","download_url":"https://codeload.github.com/aui-framework/example_app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248851496,"owners_count":21171833,"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":[],"created_at":"2025-04-14T08:48:26.829Z","updated_at":"2025-04-14T08:48:29.894Z","avatar_url":"https://github.com/aui-framework.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full-fledged AUI App Template\n\n\u003e [!NOTE]\n\u003e Click the \u003ckbd\u003eUse this template\u003c/kbd\u003e button to setup your own AUI app project!\n\nIt is a template repository that provides a pure template to make it easier to create a new AUI-based application\nproject.\n\n![Screenshot](screenshot.png)\n\nThe main goal of this template is to speed up the setup phase of application development for both new and experienced\ndevelopers by preconfiguring the project scaffold and CI set up on GitHub.\n\nThis template project features:\n- Building, testing, code quality checking and releasing with [GitHub Actions](gh:actions)\n- Application auto updating (Windows only)\n- AUI assets\n- Tests\n\n# Getting Started\n\nIt is worth mentioning the benefits of using GitHub Templates. By created a new project using a template, you will start\nwith no history or reference to this repository.\n\n## Continuous Integration\n\nIn this project, continuous integration relies on [GitHub Actions](gh:actions), a set of workflows that enable\nautomation of building, testing and releasing process.\n\nIn the `.github/workflows` directory, you can find definitions for the following GitHub Actions workflows:\n- [Build](.github/workflows/build.yml)\n  - Triggered on `push` and `pull_request` events.\n  - Caches AUI.Boot (`~/.aui`).\n    - AUI.Boot will pull precompiled AUI binaries in most cases.\n    - Subsequent builds are faster thanks to `cache` job, no matter whether AUI Boot pulled precompiled binaries.\n  - Builds the project for the supported platforms.\n  - Runs Tests.\n  - Generates installable packages.\n  - Prepares a draft release of the GitHub Releases page for manual review.\n- [Code Quality](.github/workflows/code-quality.yml)\n  - Triggered on `pull_request` events.\n  - Performs `clang-tidy` checks (static analysis) and generates nice summary with `.github/tidy-summary.py`.\n  - Performs `valgrind` checks on tests (dynamic analysis).\n\n  See [Memleak Demo PR](https://github.com/aui-framework/example_app/pull/3).\n\n\n## Code Quality and Formatting\n\nThe template includes `.clang-format` and `.clang-tidy`, the latter is used for code quality checks.\n\n## Release Process\n\nTo create a release, simply push an update to version in `CMakeLists.txt`. Pipeline will create a GitHub Release Draft\nfor you. After release draft is created, perform manual review and submit release.\n\n# Syncing with this template\n\nIn some cases, you might want to sync with this template. Generally, you would want to sync with CI/CD stuff\n(`.github`). If such, use some git techniques:\n\n```shell\n# only for the first time\ngit remote add template https://github.com/aui-framework/example_app\n\n# syncing\ngit fetch template\ngit merge template/master --allow-unrelated-histories \n\n# from now on, check git status and throw out anything you don't need\n\n# remove unwanted files, i.e., SumTest.cpp:\ngit rm tests/SumTest.cpp -f\n\n# keep YOURS src, tests, CMakeLists:\ngit checkout HEAD -- CMakeLists.txt src tests\n```\n\n# IDE setup\n\n## CLion\n\nWorks out of the box.\n\n## VS Code\n\n1. Install extensions recommended by workspace. You can see them in `.vscode/extensions.json`.\n2. Check and adjust `.vscode/settings.json` if needed.\n3. Hit `F1` \u0026 type `CMake: Build`. If it asks for a toolchain, choose \"Unspecified\".\n4. After build is complete, in the left bar, choose CMake logo. In the tree view, right click on \"example_app\", choose\n   \"Set as Build Target\", and also \"Set as Debug Target\".\n5. `F1` \u0026 `CMake: Debug`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faui-framework%2Fexample_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faui-framework%2Fexample_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faui-framework%2Fexample_app/lists"}