{"id":19196975,"url":"https://github.com/jitesoft/cc-gen-sharp","last_synced_at":"2025-06-17T04:05:14.426Z","repository":{"id":88326065,"uuid":"495564479","full_name":"jitesoft/cc-gen-sharp","owner":"jitesoft","description":"Changelog generator for conventional commits written in C#.","archived":false,"fork":false,"pushed_at":"2024-05-16T14:44:13.000Z","size":104,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T04:45:09.435Z","etag":null,"topics":["changelog-generator","cli","conventional-commits","csharp","git","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"C#","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/jitesoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-05-23T20:32:13.000Z","updated_at":"2024-05-16T14:44:17.000Z","dependencies_parsed_at":"2023-03-10T06:30:28.608Z","dependency_job_id":null,"html_url":"https://github.com/jitesoft/cc-gen-sharp","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jitesoft/cc-gen-sharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jitesoft%2Fcc-gen-sharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jitesoft%2Fcc-gen-sharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jitesoft%2Fcc-gen-sharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jitesoft%2Fcc-gen-sharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jitesoft","download_url":"https://codeload.github.com/jitesoft/cc-gen-sharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jitesoft%2Fcc-gen-sharp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260288461,"owners_count":22986665,"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":["changelog-generator","cli","conventional-commits","csharp","git","hacktoberfest"],"created_at":"2024-11-09T12:15:02.245Z","updated_at":"2025-06-17T04:05:14.405Z","avatar_url":"https://github.com/jitesoft.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CC-GEN\n\nA generator of changelog from conventional commits.\n\n## Work in progress\n\nThis program is a work in progress, some features works basically as intended, \nbut more should be added and the code is quite messy.\nUse at your own risk!\n\n## Why?\n\nThere are a lot of changelog generators out there, the reason for this one is \nthat the ones already existing either did not work with lightweight tags\nor required a lot of extra things installed to work.  \nThe idea of cc-gen is to have a simple single binary which is easy to\nrun and easy to modify both in form of code and the templates/configuration\nwhich is used to generate output.\n\n## How?\n\nThere are currently two commands, `init` and `generate|gen`.  \nThe former creates a configuration file locally or globally which allows\nyou to change the templates used to generate the changelogs.  \nThe later will generate a changelog.\n\n### Init\n\nThe init command can be invoked with a --global flag, in which case it will\ncreate a .cc-gen file in your home directory with the default configuration.  \n\nWithout the --global flag, the file will be created in the directory where\nthe command was invoked.\n\nThe following configuration values are available:\n\n`Header` - The header of the changelog, defaults to '# Change Log'  \n`Footer` - The footer of the changelog, defaults to ''  \n`GroupBreakingChanges` - If any breaking changes should have their own section\nin the changelog, defaults to true.  \n`GroupBreakingHeader` - Header for breaking changes, defautls to '## Breaking changes'  \n`Type` - Template for 'Types'  \n`DefaultType` - Type any non-matched commits will go under (commits following cc but not found in TypeMap)  \n`TypeMap` - A map of 'types' and their possible values in the commit messages  \n`BreakingCommit` - Template for breaking changes, only used if 'GroupBreakingChanges' is false  \n`Commit` - Template for commits  \n\n```text \nDefault for 'Commit':\n  * [ {{ commit.sha | string.slice1 0 6 }} ] {{ header }} ({{ commit.committer.name }}) {{ commit.committer.when }}  \n\nDefault for 'BreakingCommit' \n  * [ {{ commit.sha | string.slice1 0 6 }} ] **breaking** {{ header }} ({{ commit.committer.name }}) {{ commit.committer.when }}  \n```\n\n_Will later fill this part with a bit more information on what is passed to the template engine,\nfor now, check the 'Conventional.cs' class_\n\n### gen | generate\n\nThe generate command will generate a full changelog by default. It will order each commit under a tag and its types.  \nThe following options can be passed: `--latest`, `--from \u003ctag\u003e` `--to \u003ctag\u003e`\n\nIf `--latest` is used, cc-gen will print the changes between current tip and the last tag.  \nIf `--from` is used, a changelog without tags (will change in later version) will be \nprinted from the given tag til the `--to` tag or first commit.\n\n## With what?\n\nThe application makes use of [LibGit2Sharp](https://github.com/libgit2/libgit2sharp/) to \nwork with the git log, [Scriban](https://github.com/scriban/scriban) to handle the templates \nand [YamlDotNet](https://github.com/aaubry/YamlDotNet) for Yaml parsing.  \nThe command line helper used is [System.CommandLine](https://github.com/dotnet/command-line-api) \nand tests makes use of [XUnit](https://xunit.net/) and [NSubstitute](https://nsubstitute.github.io/)\n\n## Examples!\n\nFor an example, check the tags for cc-gen at [GitLab](https://gitlab.com/jitesoft/open-source/c-sharp/cc-gen/-/tags) \nor [GitHub](github.com/jitesoft/cc-gen-sharp/releases).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjitesoft%2Fcc-gen-sharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjitesoft%2Fcc-gen-sharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjitesoft%2Fcc-gen-sharp/lists"}