{"id":28833050,"url":"https://github.com/kh4f/relion","last_synced_at":"2026-04-06T05:03:21.059Z","repository":{"id":293931599,"uuid":"985047838","full_name":"kh4f/relion","owner":"kh4f","description":"🔖 Modern Release Workflow Helper","archived":false,"fork":false,"pushed_at":"2026-01-14T16:29:44.000Z","size":1475,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-14T19:44:31.158Z","etag":null,"topics":["release","release-automation","release-helper","release-workflow","release-workflow-helper","relion"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/relion","language":"TypeScript","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/kh4f.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-17T01:08:07.000Z","updated_at":"2026-01-14T16:29:48.000Z","dependencies_parsed_at":"2026-01-14T18:02:43.405Z","dependency_job_id":null,"html_url":"https://github.com/kh4f/relion","commit_stats":null,"previous_names":["kh4f/ryly","kh4f/relow","kh4f/relion"],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/kh4f/relion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kh4f%2Frelion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kh4f%2Frelion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kh4f%2Frelion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kh4f%2Frelion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kh4f","download_url":"https://codeload.github.com/kh4f/relion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kh4f%2Frelion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["release","release-automation","release-helper","release-workflow","release-workflow-helper","relion"],"created_at":"2025-06-19T08:40:08.578Z","updated_at":"2026-04-06T05:03:21.046Z","avatar_url":"https://github.com/kh4f.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cpicture\u003e\n\t\t\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\".github/logo-dark.png\"\u003e\n\t\t\u003cimg alt=\"logo\" src=\".github/logo-light.png\"\u003e\n\t\u003c/picture\u003e\n\t\u003cbr\u003e\n\t\u003ca href=\"https://www.npmjs.com/package/relion\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/relion?label=npm\u0026logo=npm\u0026style=flat-square\u0026color=BCC7EC\u0026labelColor=303145\" alt=\"npm version\"/\u003e\u003c/a\u003e\u0026nbsp;\n\t\u003ca href=\"https://www.npmjs.com/package/relion\"\u003e\u003cimg src=\"https://img.badgesize.io/https:/unpkg.com/relion/dist/cli.js?label=Size\u0026logo=hackthebox\u0026logoColor=c97026\u0026style=flat-square\u0026color=BCC7EC\u0026labelColor=303145\" alt=\"bundle size\"/\u003e\u003c/a\u003e\u0026nbsp;\n\t\u003ca href=\"https://github.com/kh4f/relion/issues?q=is%3Aissue+is%3Aopen+label%3Abug\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/kh4f/relion/bug?label=%F0%9F%90%9B%20Bugs\u0026style=flat-square\u0026color=BCC7EC\u0026labelColor=303145\" alt=\"open bugs\"\u003e\u003c/a\u003e\n\t\u003cbr\u003e\u003cbr\u003e\n\t\u003cb\u003eA zero‑config npm lib for automating the release workflow:\u003cbr\u003e\u003c/b\u003e version bumping, release commit \u0026 tag creation, and AI‑assisted changelog generation\n\t\u003cbr\u003e\u003cbr\u003e\n\t\u003cp\u003e\u003cb\u003e\n\t\t\u003ca href=\"#%EF%B8%8F-usage\"\u003eUsage\u003c/a\u003e\u0026nbsp; •\u0026nbsp;\n\t\t\u003ca href=\"#%EF%B8%8F-release-workflow\"\u003eRelease Workflow\u003c/a\u003e\u0026nbsp; •\u0026nbsp;\n\t\t\u003ca href=\"#-changelog-generation\"\u003eChangelog Generation\u003c/a\u003e\n\t\u003c/b\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## 🕹️ Usage\n\n```bash\n$ bunx relion -h\n\nOptions:\n  -b \u003cfiles\u003e    Files to bump the version in ['package.json']\n  -v \u003cversion\u003e  Release version [calculated from commits]\n  -t \u003cprefix\u003e   Tag prefix [v]\n  -d            Dry run [false]\n  -y            Skip prompts [false]\n\nExamples:\n  bunx relion -b src/manifest.json  Bump a custom file\n  bunx relion -d -v 1.2.3           Dry run with a custom version\n```\n\n- `package.json` is **always included** in the bump list if exists\n- to create a tag without a prefix, use `-t ''`\n\n\u003cdetails\u003e\u003csummary\u003eExample output of running \u003ccode\u003ebunx relion\u003c/code\u003e:\u003c/summary\u003e\n\n```\nProject: relion\nRepo: github.com/kh4f/relion\nCurrent tag: v0.42.1\nCurrent version: 0.42.1\nParsed commits: 26\nNew version: 0.43.0\nNew tag: v0.43.0\n------------------------------\n\n('' to continue / 's' to skip)\nAbout to write context to 'RELEASE.md'\nAbout to bump version in files: package.json\nAbout to commit changes: 'git commit -m \"chore(release): v0.43.0\"'\nAbout to create a tag: 'git tag v0.43.0 -m \"chore(release): v0.43.0\"'\n```\n\u003c/details\u003e\n\n## ♻️ Release Workflow\n\n1. **Context**: generates a `RELEASE.md` file with upcoming release metadata and commit log  \n\tThe log is [automatically filtered](tests/context.test.ts) to exclude non-user-facing commits.\n2. **Bump**: updates version in specified files  \n\tMost files are bumped with a [generic pattern](https://regex101.com/r/t570Gh/1); `.rc` files use a dedicated one.\n3. **Commit**: creates a release commit  \n\tChanges are **not staged automatically** before committing, unless `-y` is passed.\n4. **Tag**: creates an annotated release tag\n\n\u003cdetails\u003e\u003csummary\u003eGenerated release context example (*):\u003c/summary\u003e\n\n```markdown\n---\ntag: v0.33.0\nprevTag: v0.32.1\ndate: Jan 10, 2026\nrepoURL: github.com/kh4f/relion\n---\n\n## Commit Log\n\n[8f29acf] fix(versioner): ensure breaking changes take priority over features in release type calculation\n\nPreviously, if commits contained both features and breaking changes, features would be checked last and could incorrectly override the 'major' release type with 'minor'.\n------------------------------\n[e105d51] feat(config-merger): add `mergeConfigs` implementation and export\n\n- Implement `mergeConfigs` to support merging config profiles in `config-merger.ts`\n- Export `mergeConfigs` from `src/index.ts`\n```\n\u003c/details\u003e\n\n## 📋 Changelog Generation\n\nRelion doesn’t format the changelog itself. Instead, it generates a `RELEASE.md` file with release metadata and commit log, and provides a [`generate-changelog`](skills/generate-changelog/SKILL.md) skill to turn that context into a polished changelog entry with AI.\n\nRecommended workflow:\n\n1. Install the skill: `bunx skills add kh4f/relion [-g]`  \n  (see the [`skills` CLI docs](https://www.npmjs.com/package/skills))\n2. Run Relion to generate `RELEASE.md`\n3. Review the generated release context\n4. Ask your AI agent to generate a changelog\n\n\u003cdetails\u003e\u003csummary\u003eGenerated changelog example (from the (*) release context; Gemini 3 Pro)\u003c/summary\u003e\n\n```markdown\n## \u0026ensp; [` 📦 v0.33.0  `](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0)\n\n### \u0026emsp; 🎁 Features\n- **Config merging utility**: added `mergeConfigs` implementation to support merging config profiles. [🡥](https://github.com/kh4f/relion/commit/e105d51)\n\n### \u0026emsp; 🩹 Fixes\n- **Correct release type calculation**: breaking changes now correctly take priority over features when determining the release type, preventing incorrect minor bumps. [🡥](https://github.com/kh4f/relion/commit/8f29acf)\n\n##### \u0026emsp;\u0026emsp; [Full Changelog](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0) \u0026ensp;•\u0026ensp; Jan 10, 2026\n```\n\u003c/details\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkh4f%2Frelion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkh4f%2Frelion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkh4f%2Frelion/lists"}