{"id":37389842,"url":"https://github.com/nathan818fr/jetbrains-launcher","last_synced_at":"2026-01-16T05:28:24.731Z","repository":{"id":207302807,"uuid":"718872619","full_name":"nathan818fr/jetbrains-launcher","owner":"nathan818fr","description":"Command-line launcher for JetBrains IDE which stores .idea in a separate directory","archived":false,"fork":false,"pushed_at":"2025-07-09T12:31:33.000Z","size":97,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-12T05:52:58.888Z","etag":null,"topics":["clion","goland","intellij","intellij-idea","jetbrains","jetbrains-ides","phpstorm","pycharm","rubymine","rustrover","webstorm"],"latest_commit_sha":null,"homepage":"","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/nathan818fr.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}},"created_at":"2023-11-15T00:49:35.000Z","updated_at":"2025-07-09T12:31:36.000Z","dependencies_parsed_at":"2023-11-22T17:31:18.329Z","dependency_job_id":null,"html_url":"https://github.com/nathan818fr/jetbrains-launcher","commit_stats":null,"previous_names":["nathan818fr/jetbrains-scripts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nathan818fr/jetbrains-launcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathan818fr%2Fjetbrains-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathan818fr%2Fjetbrains-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathan818fr%2Fjetbrains-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathan818fr%2Fjetbrains-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nathan818fr","download_url":"https://codeload.github.com/nathan818fr/jetbrains-launcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathan818fr%2Fjetbrains-launcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477250,"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":["clion","goland","intellij","intellij-idea","jetbrains","jetbrains-ides","phpstorm","pycharm","rubymine","rustrover","webstorm"],"created_at":"2026-01-16T05:28:24.210Z","updated_at":"2026-01-16T05:28:24.706Z","avatar_url":"https://github.com/nathan818fr.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JetBrains Launcher\n\nA command-line launcher to open your projects in a JetBrains IDE, but with\na twist: **it stores the IDE config (`.idea`) in a separate directory!**\n\n## Why is this beneficial?\n\nStoring `.idea` in a separate directory has several advantages:\n1. **Version control friendly**: It's easier to manage your version control\n   system (like Git) as you don't have to worry about excluding IDE-specific\n   files. Also, your IDE will not break if a team member pushes its `.idea`\n   content ([it happens][issue-1]).\n2. **Cleaner project directory**: Your project directory remain clean and IDE\n   agnostic.\n3. **Support multiple IDEs**: You can open your project with different JetBrains\n   IDEs without having to worry about configuration conflicts (e.g. when using\n   both [IntelliJ IDEA and CLion][issue-2], or [PyCharm and CLion][issue-3]).\n\n[issue-1]: https://youtrack.jetbrains.com/issue/IDEA-170102#focus=Comments-27-7538571.0-0\n[issue-2]: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206607105\n[issue-3]: https://youtrack.jetbrains.com/issue/IDEA-140707\n\n## Installation\n\nSupported platforms:\n- 🐧 Linux and other Unix-like systems\n- 🍏 macOS (require [a recent bash version][brew-bash],\n  [coreutils][brew-coreutils] and [gnu-getopt][brew-gnu-getopt])\n- 🪟 Windows (using Bash: Git Bash/WSL/MinGW/MSYS/Cygwin)\n\n[brew-bash]: https://formulae.brew.sh/formula/bash\n[brew-coreutils]: https://formulae.brew.sh/formula/coreutils\n[brew-gnu-getopt]: https://formulae.brew.sh/formula/gnu-getopt\n\nTo install or update jetbrains-launcher, you should download\n`jetbrains-launcher.sh`, rename it to the name of the JetBrains IDE you want to\nuse (e.g. `idea` or `idea.sh`), and put it in your `PATH`.\n\nOne-liners to do this are available below:\n\n\u003c!--BEGIN ONE-LINERS--\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003eidea\u003c/code\u003e (\u003cimg alt=\"IntelliJ IDEA logo\" src=\".readme/logos/idea.svg?raw=true\" width=\"16\" height=\"16\"\u003e IntelliJ IDEA, ultimate or community - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/idea` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/idea\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/idea` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/idea \u0026\u0026 chmod +x ~/.local/bin/idea\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003epycharm\u003c/code\u003e (\u003cimg alt=\"PyCharm logo\" src=\".readme/logos/pycharm.svg?raw=true\" width=\"16\" height=\"16\"\u003e PyCharm, professional or community - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/pycharm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/pycharm\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/pycharm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/pycharm \u0026\u0026 chmod +x ~/.local/bin/pycharm\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003ewebstorm\u003c/code\u003e (\u003cimg alt=\"WebStorm logo\" src=\".readme/logos/webstorm.svg?raw=true\" width=\"16\" height=\"16\"\u003e WebStorm - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/webstorm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/webstorm\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/webstorm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/webstorm \u0026\u0026 chmod +x ~/.local/bin/webstorm\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003ephpstorm\u003c/code\u003e (\u003cimg alt=\"PhpStorm logo\" src=\".readme/logos/phpstorm.svg?raw=true\" width=\"16\" height=\"16\"\u003e PhpStorm - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/phpstorm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/phpstorm\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/phpstorm` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/phpstorm \u0026\u0026 chmod +x ~/.local/bin/phpstorm\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003eclion\u003c/code\u003e (\u003cimg alt=\"CLion logo\" src=\".readme/logos/clion.svg?raw=true\" width=\"16\" height=\"16\"\u003e CLion - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/clion` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/clion\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/clion` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/clion \u0026\u0026 chmod +x ~/.local/bin/clion\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003erubymine\u003c/code\u003e (\u003cimg alt=\"RubyMine logo\" src=\".readme/logos/rubymine.svg?raw=true\" width=\"16\" height=\"16\"\u003e RubyMine - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/rubymine` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/rubymine\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/rubymine` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/rubymine \u0026\u0026 chmod +x ~/.local/bin/rubymine\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003erustrover\u003c/code\u003e (\u003cimg alt=\"RustRover logo\" src=\".readme/logos/rustrover.svg?raw=true\" width=\"16\" height=\"16\"\u003e RustRover - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/rustrover` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/rustrover\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/rustrover` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/rustrover \u0026\u0026 chmod +x ~/.local/bin/rustrover\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003egoland\u003c/code\u003e (\u003cimg alt=\"GoLand logo\" src=\".readme/logos/goland.svg?raw=true\" width=\"16\" height=\"16\"\u003e GoLand - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/goland` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/goland\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/goland` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/goland \u0026\u0026 chmod +x ~/.local/bin/goland\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003edatagrip\u003c/code\u003e (\u003cimg alt=\"DataGrip logo\" src=\".readme/logos/datagrip.svg?raw=true\" width=\"16\" height=\"16\"\u003e DataGrip - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/datagrip` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/datagrip\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/datagrip` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/datagrip \u0026\u0026 chmod +x ~/.local/bin/datagrip\n    ```\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003edataspell\u003c/code\u003e (\u003cimg alt=\"DataSpell logo\" src=\".readme/logos/dataspell.svg?raw=true\" width=\"16\" height=\"16\"\u003e DataSpell - click to expand)\u003c/summary\u003e\n\n  - **🐧 Linux, 🪟 Windows (using Bash)**\\\n    Download the launcher to `~/.local/bin/dataspell` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh | install -vDT /dev/stdin ~/.local/bin/dataspell\n    ```\n\n  - **🍏 macOS** (see requirements above)\\\n    Download the launcher to `~/.local/bin/dataspell` (make sure `~/.local/bin` is in your PATH):\n    ```shell\n    mkdir -p ~/.local/bin \u0026\u0026 curl -fsSL https://github.com/nathan818fr/jetbrains-launcher/raw/main/jetbrains-launcher.sh -o ~/.local/bin/dataspell \u0026\u0026 chmod +x ~/.local/bin/dataspell\n    ```\n\u003c/details\u003e\n\u003c!--END ONE-LINERS--\u003e\n\n## Usage\n\nUse this launcher to open your projects from the command line rather than from\nthe JetBrains IDEs interfaces. e.g.:\n```shell\n# Open ~/projects/my-project with IntelliJ IDEA:\nidea ~/projects/my-project\n\n# Open the current directory with IntelliJ IDEA:\nidea .\n```\n\n👉️ If a project has been opened once with this launcher, you can re-open it\nfrom the \"Recent Projects\" interface (or you can use this launcher again).\n\n⚠️ But you should NOT open it from \"File \u003e Open...\".\n\n---\n\nUsage: `command [options] \u003cproject-path\u003e`\n\nOptions:\n- `-h`, `--help` – Show help message and exit.\u003cbr\u003e\n  _Use this to see all options and environment variables (this readme only\n  summarizes the most useful ones)._\n- `--reset` – Reset existing project configuration (if any) before starting\n  the IDE.\u003cbr\u003e\n  _This deletes the `.idea` directory created by this launcher, not the one\n  that may already exist in your project directory._\n- `--no-detach` – Start the IDE in foreground instead of detaching it.\n\n---\n\n## Configuration\n\n### Script naming\n\nThe launcher script should be named after the JetBrains IDE you want to use.\u003cbr\u003e\nThis check is case-insensitive and allows partial matches\n(e.g. `Idea` and `open-idea-ide` are valid names for IntelliJ IDEA).\n\n\u003cdetails\u003e\u003csummary\u003eSupported names (click to expand)\u003c/summary\u003e\n\nIt's case-insensitive.\n`*` is a wildcard that matches none or any character(s).\u003cbr\u003e\n\n- `*idea*` or `*intellij*` for IntelliJ IDEA\n- `*pycharm*` for PyCharm\n- `*webstorm*` for WebStorm\n- `*phpstorm*` for PhpStorm\n- `*clion*nova*` for CLion Nova\n- `*clion*` for CLion\n- `*rubymine*` for RubyMine\n- `*rustrover*` for RustRover\n- `*goland*` for GoLand\n- `*datagrip*` for DataGrip\n- `*dataspell*` for DataSpell\n\u003c/details\u003e\n\nIf this behavior is not suitable for you, you can override it by setting the\n`JETBRAINS_LAUNCHER_IDE_OVERRIDE` environment variable.\u003cbr\u003e\ne.g., adding an alias to your shell configuration:\n```shell\nalias java_ide='JETBRAINS_LAUNCHER_IDE_OVERRIDE=idea /path/to/jetbrains-launcher.sh'\n# now you can use: java_ide ~/projects/my-project\n```\n\n### Projects configuration directory\n\nBy default, this launcher stores the IDE projects' configurations under\n`~/.local/share/JetBrainsProjects`.\u003cbr\u003e\nYou can change this by setting the `JETBRAINS_PROJECTS_DIR` environment\nvariable.\n\n\u003e 👨‍🏫 If you open the project `/home/me/my-project` in IntelliJ IDEA with this\n\u003e launcher, the IDE configuration will be stored in\n\u003e `${JETBRAINS_PROJECTS_DIR}/idea/home/me/my-project`.\n\n## Contributing\n\nIf you encounter a bug or have a feature request, please\n[open an issue][issues] to let me know. 😄\n\nIf you are a developer and want to contribute to this project, consider\n[opening an issue][issues] to discuss your idea before submitting a pull\nrequest.\n\n[issues]: https://github.com/nathan818fr/jetbrains-launcher/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathan818fr%2Fjetbrains-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathan818fr%2Fjetbrains-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathan818fr%2Fjetbrains-launcher/lists"}