{"id":20153550,"url":"https://github.com/seqan/app-template","last_synced_at":"2025-10-14T15:35:43.862Z","repository":{"id":44156679,"uuid":"236746248","full_name":"seqan/app-template","owner":"seqan","description":"This template comes pre-configured with various SeqAn libraries and a basic Continuous Integration setup. It is designed to provide a robust starting point for your projects, while offering the flexibility to customize and adapt to your specific requirements.","archived":false,"fork":false,"pushed_at":"2025-10-07T12:12:15.000Z","size":34494,"stargazers_count":6,"open_issues_count":20,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-10-07T14:14:49.975Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seqan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-01-28T13:52:34.000Z","updated_at":"2025-10-07T12:12:18.000Z","dependencies_parsed_at":"2024-03-05T22:29:33.510Z","dependency_job_id":"171af51f-5a42-4e53-8530-5ab62cdc9e34","html_url":"https://github.com/seqan/app-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/seqan/app-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fapp-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fapp-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fapp-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fapp-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seqan","download_url":"https://codeload.github.com/seqan/app-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seqan%2Fapp-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019318,"owners_count":26086711,"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-10-14T02:00:06.444Z","response_time":60,"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":[],"created_at":"2024-11-13T23:19:41.449Z","updated_at":"2025-10-14T15:35:43.857Z","avatar_url":"https://github.com/seqan.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2006-2025 Knut Reinert \u0026 Freie Universität Berlin\nSPDX-FileCopyrightText: 2016-2025 Knut Reinert \u0026 MPI für molekulare Genetik\nSPDX-License-Identifier: CC0-1.0\n--\u003e\n\n# SeqAn App Template [![build status][1]][2] [![codecov][3]][4]\n\u003c!--\n    Above uses reference-style links with numbers.\n    See also https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#links.\n\n    For example, `[![build status][1]][2]` evaluates to the following:\n        `[link_text][2]`\n        `[2]` is a reference to a link, i.e. `[link_text](https://...)`\n\n        `[link_text]` = `[![build status][1]]`\n        `[1]` is once again a reference to a link - this time an image, i.e. `[![build status](https://...)]\n        `![build status]` is the text that should be displayed if the linked resource (`[1]`) is not available\n\n    `[![build status][1]][2]` hence means:\n    Show the picture linked under `[1]`. In case it cannot be displayed, show the text \"build status\" instead.\n    The picture, or alternative text, should link to `[2]`.\n--\u003e\n\n\u003c!--\n    This is the CI badge image:\n        `https://img.shields.io/github/workflow/status/` - we do not use GitHub's badges as they are not customisable.\n        `/seqan/app-template/` - owner/repository\n        `CI%20on%20Linux` - name of the workflow as encoded URL (e.g., whitespace = %20)\n        `main` - branch to show\n        `?style=flat\u0026logo=github` - use a GitHub-style badge\n        `\u0026label=App-Template%20CI` - text on the badge\n        `\"Open GitHub actions page\"` - this text will be shown on hover\n--\u003e\n[1]: https://img.shields.io/github/actions/workflow/status/seqan/app-template/ci_linux.yml?branch=main\u0026style=flat\u0026logo=github\u0026label=App-Template%20CI \"Open GitHub actions page\"\n\u003c!--\n    This is the CI badge link:\n        `https://github.com/seqan/app-template/actions` - actions page of owner/repository\n        `?query=branch%3Amain` - only show actions that ran on the mater branch\n--\u003e\n[2]: https://github.com/seqan/app-template/actions?query=branch%3Amain\n\u003c!--\n    This is the Codecov badge image:\n        Codecov offers badges: https://app.codecov.io/gh/seqan/app-template/settings/badge\n        While being logged in into Codecov, navigate to Settings-\u003eBadge and copy the markdown badge.\n        Copy the image part of the markdown badge here.\n    `\"Open Codecov page\"` - this text will be shown on hover\n--\u003e\n[3]: https://codecov.io/gh/seqan/app-template/branch/main/graph/badge.svg \"Open Codecov page\"\n\u003c!--\n    This is the Codecov badge link:\n        Codecov offers badges: https://app.codecov.io/gh/seqan/app-template/settings/badge\n        While being logged in into Codecov, navigate to Settings-\u003eBadge and copy the markdown badge.\n        Copy the URL part of the markdown badge here.\n--\u003e\n[4]: https://codecov.io/gh/seqan/app-template\n\nThis is a template for C++ app developers.\nYou can easily use this template and modify the existing code to suit your needs.\nIt provides an elementary CMake set-up, some useful SeqAn libraries, and an example application.\n\nFor requirements, check the [Software section of the SeqAn3 Quick Setup](https://docs.seqan.de/seqan3/main_user/setup.html#autotoc_md109).\n\n## Instructions for App Developers:\n\nIf you want to build an app, do the following:\n\n0. You need to be signed in with a **GitHub account**.\n1. Press the `Use this template`-Button to create your own repository. See [GitHub's documentation](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template) for more information.\n2. **Wait** for GitHub actions to create a commit in your new repository. The commit message will be `Initialise repository` and it will replace placeholders in the code. Afterwards, the README in your repository will be customised to your repository, among other things.\n\u003c!-- InitDelete --\u003e\n---\n### :warning: Important :warning:\n\nFrom here on out, follow the instructions in your repository.\n\nYou will probably need to reload your repository page to see the changes.\n\nThe instructions below are for the template repository and will not work for your repository.\n\n---\n\u003c!-- DeleteInit --\u003e\n3. **Clone** your repository locally: `git clone git@github.com:seqan/app-template.git`\n4. \u003cdetails\u003e\u003csummary\u003eBuild and test the app (example) \u003c/summary\u003e\n    In your local repository clone, you can do the following to build and test your app:\n\n    ```bash\n    mkdir build        # create build directory\n    cd build           # step into build directory\n    cmake ..           # call cmake on the repository\n    make               # build the app app-template\n    make check         # build and run tests\n    ./bin/app-template # Execute the app (prints a short help page)\n    ```\n   \u003c/details\u003e\n\n## Setting up Codecov (optional)\n\n1. Go to https://codecov.io/gh/seqan/app-template.\n2. Sign in with your GitHub account.\n3. Go to https://app.codecov.io/gh/seqan/app-template/config/general.\u003cbr\u003e\n   If the repository cannot be found, go to https://app.codecov.io/gh/seqan and click `Resync`.\u003cbr\u003e\n   Then try again.\n4. Copy the `Repository Upload Token`.\n5. Go to https://github.com/seqan/app-template/settings/secrets/actions.\n6. Add a `New repository secret` with the name `CODECOV_TOKEN` and the value of the `Repository Upload Token`.\n7. Done! The next push to your repository will create a Codecov report.\n\n## Setting up permissions for Lint action (optional)\n\n1. Go to https://github.com/seqan/app-template/settings/actions.\n2. Under `Workflow permissions`, at the very bottom, tick `Allow GitHub Actions to create and approve pull requests` and click `Save`.\n3. You can go to https://github.com/seqan/app-template/actions/workflows/lint.yml and click `Run workflow` to run linting.\n\n## Instructions for SeqAn3 Tutorial Purposes:\n\nIf you just some quick hands-on experience with SeqAn Libraries, you can also just clone this repository and start editing the `src/main.cpp` file.\n\n### Adding a new cpp file\n\nIf you want to add a new cpp file (e.g., `tutorial1.cpp`) that is compiled and linked with the current infrastructure, do the following:\n\n1. Create a new file `tutorial1.cpp` in the `src/` directory.\n   \u003cdetails\u003e\u003csummary\u003eThe file content could look like this:\u003c/summary\u003e\n\n   ```cpp\n   #include \u003cseqan3/core/debug_stream.hpp\u003e\n\n   int main()\n   {\n       seqan3::debug_stream \u003c\u003c \"Hello, World!\" \u003c\u003c std::endl;\n   }\n   ```\n   \u003c/details\u003e\n2. Add the following lines at the bottom of `src/CMakeLists.txt`\n    ```cmake\n    # Add another cpp file.\n    add_executable (tutorial01 tutorial01.cpp)\n    target_link_libraries (tutorial01 PRIVATE \"${PROJECT_NAME}_lib\")\n    ```\n3. Go to the build directory `cd build`\n4. Refresh CMake `cmake .`\n5. Build your new cpp file `make tutorial01`\n6. Execute your new binary with `./tutorial01`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseqan%2Fapp-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseqan%2Fapp-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseqan%2Fapp-template/lists"}