{"id":50697609,"url":"https://github.com/sjet47/m3","last_synced_at":"2026-06-09T07:33:38.091Z","repository":{"id":220693062,"uuid":"740280609","full_name":"sjet47/m3","owner":"sjet47","description":"Download/Update/Manage your Minecraft mods in different version all together","archived":false,"fork":false,"pushed_at":"2025-02-23T11:13:29.000Z","size":6967,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T12:20:14.623Z","etag":null,"topics":["commandline-tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sjet47.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,"publiccode":null,"codemeta":null}},"created_at":"2024-01-08T02:35:55.000Z","updated_at":"2025-02-23T11:13:32.000Z","dependencies_parsed_at":"2024-02-03T17:45:06.275Z","dependency_job_id":"40fabdac-8b25-4fdc-8251-24b55539985e","html_url":"https://github.com/sjet47/m3","commit_stats":null,"previous_names":["asjet/m3","sjet47/m3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sjet47/m3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjet47%2Fm3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjet47%2Fm3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjet47%2Fm3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjet47%2Fm3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjet47","download_url":"https://codeload.github.com/sjet47/m3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjet47%2Fm3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34096950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","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":["commandline-tool"],"created_at":"2026-06-09T07:33:37.424Z","updated_at":"2026-06-09T07:33:38.085Z","avatar_url":"https://github.com/sjet47.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# m\u003csup\u003e3\u003c/sup\u003e: A Minecraft Mod Manager\n\nDownload/Update/Manage your Minecraft mods in different version all together\n\n## Install\n\n```shell\ngo install github.com/sjet47/m3\n```\n\n## Usage\n\n### Acquire CurseForge API Key\n\nTo use `m3`, you must have an available CurseForge API key. And you need to set the `CURSE_FORGE_APIKEY` environment variable to your CurseForge API key.\nTo get the API key, you need a [CurseForge For Studios](https://console.curseforge.com/#/) account and generate an API key from [there](https://console.curseforge.com/#/api-keys).\n\nThen you can export this environment variable in your shell configuration file.\n\nFor Bash:\n\n```\necho export CURSE_FORGE_APIKEY='your_api_key' \u003e\u003e ~/.bashrc\n```\n\nFor ZSH:\n\n```\necho export CURSE_FORGE_APIKEY='your_api_key' \u003e\u003e ~/.zshrc\n```\n\nOr pass the environment variable directly each time running `m3`(which is more annoying but more secure):\n\n```shell\nCURSE_FORGE_APIKEY='your_api_key' m3 \u003csubcommand\u003e...\n```\n\n### Init\n\nFirst `cd` to the `mods` directory that contains the mods you want to manage, e.g. `.minecraft/mods` or `.minecraft/versions/\u003cversion\u003e/mods`\n\n\n```shell\nm3 init \u003cminecraft_version\u003e\n```\n\n\u003e It's recommended to use a separate directory for each version of Minecraft, which can be done by setting the **Game Directory** in the installation profile of the Minecraft Launcher, so you can isolate the `mods` directory from different versions of Minecraft.\n\n### Add Mods\n\nAdd mods into `m3`'s index.\n\n```shell\nm3 add \u003cmod_id\u003e... [-l mod_loader] [-o]\n```\n\n- `-l --option`: Specify the mod loader, e.g. `Forge`, `Fabric`, `NeoForge`, etc. The name is not case sensitive. Default mod loader is `Forge`.\n- `-o --option`: Whether to download optional dependencies. Only necessary dependencies will be downloaded by default.\n\nYou can also use file to provide mod ids with `-f` flag when there are too many mods to add at once.\n\n```shell\nm3 add -f \u003cfile\u003e [-l mod_loader] [-o]\n```\n\nThe file should be a csv format file without header line and mod id is in the first column. All other columns will be ignored. A example file is like this:\n\n```csv\n238222,JET\n240630,JER\n32274,Journey Map\n248787,AppleSkin\n```\n\n### Update Mods\n\nUpdate mods in `m3`'s index.\n\n```shell\nm3 update\n```\n\nThis command will only update the mods with the same mod loader and whether to download optional dependencies as `m3 add`. To change that, you can rerun `m3 add` to update the mod index.\n\n### List Mods In Index\n\nWanna know what mods are in the index? Just run:\n\n```shell\nm3 ls\n```\n\n### Remove Mods From Index\n\nIf you decide to remove some mods from the index, you can run:\n\n```shell\nm3 remove \u003cmod_id\u003e...\n```\n\nThe mod files will also be removed from the `mods` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjet47%2Fm3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjet47%2Fm3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjet47%2Fm3/lists"}