{"id":25580285,"url":"https://github.com/gashmob/yeschief","last_synced_at":"2026-03-07T09:32:56.023Z","repository":{"id":278639629,"uuid":"935662406","full_name":"Gashmob/YesChief","owner":"Gashmob","description":"C++ library helping you to easily create and manage options and commands of your CLI","archived":false,"fork":false,"pushed_at":"2025-02-20T21:27:22.000Z","size":15,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-20T21:33:58.954Z","etag":null,"topics":["cli","cpp","cpp23"],"latest_commit_sha":null,"homepage":"https://gashmob.github.io/YesChief/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gashmob.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2025-02-19T20:09:12.000Z","updated_at":"2025-02-20T21:24:51.000Z","dependencies_parsed_at":"2025-02-20T21:44:05.465Z","dependency_job_id":null,"html_url":"https://github.com/Gashmob/YesChief","commit_stats":null,"previous_names":["gashmob/yeschief"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gashmob%2FYesChief","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gashmob%2FYesChief/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gashmob%2FYesChief/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gashmob%2FYesChief/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gashmob","download_url":"https://codeload.github.com/Gashmob/YesChief/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239952637,"owners_count":19723924,"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":["cli","cpp","cpp23"],"created_at":"2025-02-21T04:15:22.556Z","updated_at":"2026-03-07T09:32:56.016Z","avatar_url":"https://github.com/Gashmob.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YesChief!\n\n[![License: MIT](https://img.shields.io/github/license/gashmob/yeschief)](https://opensource.org/licenses/MIT)\n![Version](https://img.shields.io/github/v/release/gashmob/yeschief?include_prereleases)\n\nC++ library helping you to easily create manage options and commands of your CLI.\n\n## Use it in your project\n\nYou can retrieve rpm/deb package attached to [latest release](https://github.com/Gashmob/YesChief/releases/latest).\n\nDevel packages are also build for each push to master branch in [package workflow](https://github.com/Gashmob/YesChief/actions/workflows/package.yml?query=branch%3Amaster).\n\nA nix flake package is also available inside [flake.nix](./flake.nix).\n\nFor CMake based projects, you can simply use `FetchContent` this way:\n\n```cmake\nFetchContent_Declare(\n        yeschief\n        GIT_REPOSITORY https://github.com/Gashmob/YesChief.git\n        GIT_TAG v1.0.0\n)\nFetchContent_GetProperties(yeschief)\n\nif(NOT yeschief_POPULATED)\n    message(STATUS \"Fetching yeschief...\")\n    FetchContent_Populate(yeschief)\n    add_subdirectory(${yeschief_SOURCE_DIR})\nendif()\n\ntarget_link_libraries(my_target PUBLIC yeschief)\n```\n\nThen the include path is just `#include \u003cyeschief.h\u003e`\n\n## Building\n\nAll following commands should be run inside a `nix-shell`, it allows you to have all needed tools and binary in your PATH.\n\nEntire project is based on cmake. So you can just run cmake as for every cmake project.\n\nOr you can run a pre-defined script:\n\n```shell\nbuild_release\n```\n\n## Testing\n\n```shell\nrun_unit_tests\n```\n\nYou can then get coverage of these tests with:\n\n```shell\nbuild_coverage\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgashmob%2Fyeschief","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgashmob%2Fyeschief","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgashmob%2Fyeschief/lists"}