{"id":18315330,"url":"https://github.com/dmitrydodzin/mol","last_synced_at":"2025-06-26T14:36:01.950Z","repository":{"id":45304426,"uuid":"392994374","full_name":"DmitryDodzin/mol","owner":"DmitryDodzin","description":"Automatic versioning of packages with mono-repos in mind","archived":false,"fork":false,"pushed_at":"2022-10-10T17:21:03.000Z","size":517,"stargazers_count":13,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T04:16:46.055Z","etag":null,"topics":["cargo","changelog","crate","rust","semantic-release"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/DmitryDodzin.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}},"created_at":"2021-08-05T10:08:01.000Z","updated_at":"2024-01-20T13:59:31.000Z","dependencies_parsed_at":"2022-09-07T13:41:45.688Z","dependency_job_id":null,"html_url":"https://github.com/DmitryDodzin/mol","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DmitryDodzin/mol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitryDodzin%2Fmol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitryDodzin%2Fmol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitryDodzin%2Fmol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitryDodzin%2Fmol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DmitryDodzin","download_url":"https://codeload.github.com/DmitryDodzin/mol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmitryDodzin%2Fmol/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262085829,"owners_count":23256524,"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":["cargo","changelog","crate","rust","semantic-release"],"created_at":"2024-11-05T16:39:20.751Z","updated_at":"2025-06-26T14:36:01.901Z","avatar_url":"https://github.com/DmitryDodzin.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e This project is still in development and api may change\n\n# Mol\n\nMol - מו\"ל  (Motzi Laor) is a versioning and publishig toolset with much inspiration from [atlassian/changesets](https://github.com/atlassian/changesets) but with no specific coupling to any package mananger or versioning scheme. \u003cbr /\u003e\nSimply manage the act of adding code to the codebase and the version change of the library without requiring commit message formatting nor multiple publishes for changes that can be summed up together\n\n## cargo-mol\n\nCargo + Semantic Versioning implemintation of Mol bundled with current version of Mol\n\n```bash\ncargo install mol\ncargo mol --help\n```\n\nMost of the api is either cli wizard or very similar to [changesets](https://github.com/atlassian/changesets)\n\n![](./images/add-sample.gif)\n\n### 101 Commands\n\nCreate a new changeset to describe the change you are plannig to add\n```bash\ncargo mol add -v patch -p packge1 -p package2 -m \"I did some changes\"\n\n# what changed\n# + .changeset/lorem_ipsum.md \u003e\n#   + ---\n#   + packge1: patch\n#   + package2: patch\n#   + --- \n#   +\n#   + I did some changes\n#   +\n```\n\nNow when you want to update all the versions you requested. Packages will be updated by the most severe version that is requested, ie 0.1.4 + (patch + patch + minor) == 0.2.0\n```bash\ncargo mol version\n\n# what changed\n# - .changeset/lorem_ipsum.md\n# - .changeset/lorem_minor.md\n#   ~ CHANGELOG.md \u003e\n#   ~ # package1\n#   ~\n#   + ## 0.8.0\n#   +\n#   + ### Minor Changes\n#   +\n#   + - I did some minor changes i did\n#   +\n#   + ### Patch Changes\n#   +\n#   + - I did some changes\n#   +\n#   ~\n#   ~ ## 0.7.1\n```\n\n\n#### mol --dry-run\n\nYou can always preview the changes you are about to add by runnig with --dry-run before the coomand\n\n```bash\ncargo mol --dry-run version\n\n# Will print out all the changes that would have happend\n```\n\n## Roadmap\n- Github action recipe\n- Plugins\n- mol-nodejs (npm/yarn)\n- mol-pip?\n- mol-maven?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrydodzin%2Fmol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmitrydodzin%2Fmol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmitrydodzin%2Fmol/lists"}