{"id":21835882,"url":"https://github.com/vtex/releasy","last_synced_at":"2026-03-12T10:38:46.840Z","repository":{"id":12781518,"uuid":"15455110","full_name":"vtex/releasy","owner":"vtex","description":"CLI tool to release node applications with tag and auto semver bump","archived":false,"fork":false,"pushed_at":"2023-07-12T15:25:24.000Z","size":1196,"stargazers_count":54,"open_issues_count":9,"forks_count":9,"subscribers_count":192,"default_branch":"main","last_synced_at":"2025-08-15T22:04:42.867Z","etag":null,"topics":["xp-developer"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/vtex.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2013-12-26T15:25:40.000Z","updated_at":"2025-07-28T13:34:31.000Z","dependencies_parsed_at":"2024-06-18T18:29:23.269Z","dependency_job_id":"10a3e087-bb7f-4195-88fc-0ecc3e1e750a","html_url":"https://github.com/vtex/releasy","commit_stats":{"total_commits":215,"total_committers":18,"mean_commits":"11.944444444444445","dds":0.8232558139534883,"last_synced_commit":"498122b859dde774b657efd2903b569b6f39e567"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/vtex/releasy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtex%2Freleasy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtex%2Freleasy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtex%2Freleasy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtex%2Freleasy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vtex","download_url":"https://codeload.github.com/vtex/releasy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtex%2Freleasy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271205900,"owners_count":24718691,"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-08-19T02:00:09.176Z","response_time":63,"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":["xp-developer"],"created_at":"2024-11-27T20:25:49.908Z","updated_at":"2026-03-12T10:38:41.807Z","avatar_url":"https://github.com/vtex.png","language":"JavaScript","readme":"# Releasy\n\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/vtex/releasy?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nReleasy helps you release versions of your projects easily! It currently works with [NodeJS package.json files](#json-files) and [C# AssemblyInfo.cs files](#c-files).\n\nReleasy will automatically do the following:\n\n- Increment the version in the `manifest.json` or `package.json` file;\n- Commit the changed version file;\n- Create a Git tag with the version;\n- Push the tag and changes to the Git remote;\n- If exists, increment version and date in the `CHANGELOG.md`;\n  - For this, you need to follow the format of CHANGELOG of [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)\n  - See [CHANGELOG example area](#changelog-example)\n- Post the release notes from CHANGELOG on GitHub release.\n\n## Settings\n\nA [GitHub Personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) will be needed to create the release on GitHub and with all `repo` permissions. When you created, add the token to an environment variable named `GITHUB_API_TOKEN` in your `~/.bash_profile` (for bash users) or `~/.config/fish/config.fish` (for fish users) by adding the following line at the end of the file.\n\n```\nexport GITHUB_API_TOKEN=\u003cyour_token\u003e\n```\n\n## Usage\n\nIf you want to see what happens, grab it (`npm i -g releasy`) and run anything with the **`--dry-run`** flag. This mode will only show you what would happen, without actually applying any changes. At any time, calling `releasy -h` or `releasy --help` will show you the list of options available. Try it.\n\nThe **default behavior** increments the `patch` and creates a `beta` prerelease using the `package.json` file.\n\n```sh\n$ releasy\n\nOld version: 1.0.0\nNew version: 1.0.1-beta\nprompt: Are you sure?:  (yes)\nStarting release...\nVersion bumped to 1.0.1-beta\nFile package.json added # git add package.json\nFile package.json committed # git commit package.json -m \"Release v1.0.1-beta\"\nTag created: v1.0.1-beta #git tag v1.0.1-beta -m \"Release v1.0.1-beta\"\nPushed commit and tags # git push \u0026\u0026 git push --tags\nAll steps finished successfully.\n```\n\nYou can **increment other parts** of the version by providing a first argument:\n\n```sh\n$ releasy patch # 1.2.3 =\u003e 1.2.4-beta\n$ releasy minor # 1.2.3 =\u003e 1.3.0-beta\n$ releasy major # 1.2.3 =\u003e 2.0.0-beta\n$ releasy prerelease # 1.2.3-beta.4 =\u003e 1.2.3-beta.5\n$ releasy pre # is an alias to 'prerelease'\n```\n\nWhen you are ready to **promote a beta version to stable**, use the `promote` argument:\n\n```sh\n$ releasy promote # 1.2.3-beta.4 =\u003e 1.2.3\n```\n\nOr, if you want to **increment directly as stable** version, use the `--stable` option:\n\n```sh\n$ releasy --stable # 1.2.3 =\u003e 1.2.4\n```\n\nTo apply a **custom prerelease identifier**:\n\n```sh\n$ releasy --tag-name alpha # 1.2.3 =\u003e 1.2.4-alpha\n```\n\nIf you want to **post the release notes on GitHub**, use the `--notes` option:\n\n```sh\n$ releasy --stable --notes # Release Notes submitted\n```\n\nIf you want to prevent releasy from automatically **committing, tagging or pushing**, use the `--no-commit`/`--no-tag`/`--no-push` options:\n\n```sh\n$ releasy --stable --no-tag --no-push\n```\n\n## Options file\n\nYou **may** create a file called `_releasy.yaml` to any values set in this file will be used as default. If you prefer, `.yml` and `.json` extensions will also work. Below is a sample `_releasy.yaml` file.\n\n```yaml\n# https://github.com/vtex/releasy\ntype: prerelease # prerelease as default increment\nfilename: otherpackage.json # different version file as default\n\n# you may also use any other options available on the command line\nstable: true # release stable version\ntag: alpha # use alpha as prerelease name\ndry-run: true # always use dry-run mode\n\nno-tag: true # don't tag the release commit\nno-push: true # don't push to the remote repository\nno-commit: true # don't create the release commit\ndisplay-name: true # add the project name to the tag and release commit\n# etc\n```\n\n## Different version files\n\nReleasy currently supports both NodeJS' package.json and .NET C#'s AssemblyInfo.cs. The default file used is `package.json`, but you may specify a different value through the options file or in the command line.\n\n### JSON files\n\nIf the specified file has a `.json` extension, it will be treated as Node's `package.json`. This means that the version will be read from and written to your package's `version` field.\n\n### C# files\n\nIf the specified file has a `.cs` extension, it will be treated as an `AssemblyInfo.cs` file. As such, the version will be read from and written to assembly version attributes, which are: [`AssemblyVersion`](\u003chttp://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute(v=vs.110).aspx\u003e), [`AssemblyFileVersion`](\u003chttp://msdn.microsoft.com/en-us/library/system.reflection.assemblyfileversionattribute(v=vs.110).aspx\u003e) and [`AssemblyInformationalVersion`](\u003chttp://msdn.microsoft.com/en-us/library/system.reflection.assemblyinformationalversionattribute(v=vs.110).aspx\u003e).\n\nTo conform to the .NET Framework's specification, only the `AssemblyInformationalVersion` attribute will retain any prerelease version information, while the other two will be stripped of it, keeping just the version numbers.\n\n### CHANGELOG example\n\nThe format of your changelog is according to [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) that requires an `## [Unreleased]` section for the next release, and the types of changes below this section.\n\nAn example of a first CHANGELOG.md to create before using a `releasy` command:\n\n```markdown\n# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)\nand this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n\n### Added\n\n- My new feature\n\n### Fixed\n\n- An bug\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtex%2Freleasy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvtex%2Freleasy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtex%2Freleasy/lists"}