{"id":25763380,"url":"https://github.com/whitecloakph/changelog-sh","last_synced_at":"2025-06-20T01:11:26.383Z","repository":{"id":50930011,"uuid":"126028912","full_name":"whitecloakph/changelog-sh","owner":"whitecloakph","description":"A tool to keep a changelog without conflicts","archived":false,"fork":false,"pushed_at":"2024-07-19T01:13:08.000Z","size":29,"stargazers_count":19,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T09:02:00.302Z","etag":null,"topics":["bash","git"],"latest_commit_sha":null,"homepage":"https://changelog.sh/","language":"Shell","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/whitecloakph.png","metadata":{"files":{"readme":"README.md","changelog":"changelog-helpers.sh","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-20T14:19:07.000Z","updated_at":"2024-07-17T07:38:22.000Z","dependencies_parsed_at":"2022-08-25T10:31:57.974Z","dependency_job_id":null,"html_url":"https://github.com/whitecloakph/changelog-sh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/whitecloakph/changelog-sh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitecloakph%2Fchangelog-sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitecloakph%2Fchangelog-sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitecloakph%2Fchangelog-sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitecloakph%2Fchangelog-sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whitecloakph","download_url":"https://codeload.github.com/whitecloakph/changelog-sh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitecloakph%2Fchangelog-sh/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260857428,"owners_count":23073439,"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":["bash","git"],"created_at":"2025-02-26T20:16:42.075Z","updated_at":"2025-06-20T01:11:21.372Z","avatar_url":"https://github.com/whitecloakph.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Changelog.sh\n\nChangelog.sh is a tool to keep a changelog without conflicts. It supports rendering your changelog into a standard [keepachangelog](https://keepachangelog.com) format.\n\n## Motivation\n\nMaintaining a CHANGELOG.md is annoying because it's prone to merge conflict. Multiple developer adding line to a single file will confuse git as to which change should go first. \n\n## Solution\n\nThe solution is to create a file for each changelog entry that can be commited to git. This strategy avoid merge conflicts when multiple developers add a changelog entry.\n\n## How it works\n\nHaving a `changelog` directory looking like this:\n\n```\nchangelog/\n  2.0.1/\n    added/\n      20180406201409\n    fixed/\n      20180406202703\n      20180411092409\n  2.0.0/\n    changed/\n      20180322144612\n  1.1.0/\n    added/\n      20180402183256\n  1.0.0/\n    added/\n      20180405192450\n```\n\nwould yield a CHANGELOG.md that would like like this:\n\n```\n## [2.0.1]\n### Added\n- Never gonna give you up\n\n### Fixed\n- [123] Never gonna let you down\n- [124] Never gonna run around and desert you\n\n## [2.0.0]\n### Changed\n- Never gonna make you cry\n\n## [1.1.0]\n### Added\n- Never gonna say good bye\n\n## [1.0.0]\n### Added\n- Never gonna tell a lie and hurt you\n```\n\n## Getting Started\n\n### Basic Installation\n\nChangelog.sh is installed by running one of the following commands in your terminal. You can install this via the command-line with either `curl` or `wget`.\n\n#### via curl\n\n```shell\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/whitecloakph/changelog-sh/master/tools/install.sh)\"\n```\n\n#### via wget\n\n```shell\nsh -c \"$(wget https://raw.githubusercontent.com/whitecloakph/changelog-sh/master/tools/install.sh)\"\n```\n\n\n### Basic Usage\n\n#### Initialize\n\n```shell\nchange init\n```\n\n#### Add new change\n\n```shell\nchange new {type_of_change} {message}\n```\n\n#### Preview changelog in Markdown format\n\n```shell\nchange preview\n```\n\n#### Release changes\n\n```shell\nchange release {version}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitecloakph%2Fchangelog-sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitecloakph%2Fchangelog-sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitecloakph%2Fchangelog-sh/lists"}