Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions extensions/mise/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules

# Raycast specific files
raycast-env.d.ts
.raycast-swift-build
.swiftpm
compiled_raycast_swift
compiled_raycast_rust

# misc
.DS_Store

# local agent tooling (verify-mise harness); not part of the extension
.agents/
7 changes: 7 additions & 0 deletions extensions/mise/.oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"printWidth": 120,
"singleQuote": false,
"sortPackageJson": false,
"ignorePatterns": ["raycast-env.d.ts", "**/*.md", "metadata"]
}
24 changes: 24 additions & 0 deletions extensions/mise/.oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"options": {
"denyWarnings": true
},
"env": {
"node": true
},
"ignorePatterns": ["raycast-env.d.ts"],
"jsPlugins": [
{
"name": "raycast",
"specifier": "@raycast/eslint-plugin"
}
],
"rules": {
"raycast/prefer-title-case": "error",
"raycast/prefer-ellipsis": "error",
"raycast/prefer-placeholders": "error",
"raycast/prefer-common-shortcut": "error",
"raycast/no-reserved-shortcut": "error",
"raycast/no-ambiguous-platform-shortcut": "error"
}
}
6 changes: 6 additions & 0 deletions extensions/mise/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.md
raycast-env.d.ts
node_modules
metadata
.agents
*.txt
4 changes: 4 additions & 0 deletions extensions/mise/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 120,
"singleQuote": false
}
3 changes: 3 additions & 0 deletions extensions/mise/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Mise Changelog

## [Initial Version] - {PR_MERGE_DATE}
41 changes: 41 additions & 0 deletions extensions/mise/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Mise

Raycast commands for [mise](https://mise.jdx.dev) (mise-en-place), the polyglot dev-tool version manager by [jdx](https://github.com/jdx/mise): search, install and upgrade the tools it manages, and run its tasks, from Raycast.

## Requirements

mise must be installed. The extension looks for it at `~/.local/bin/mise`, `/opt/homebrew/bin/mise` and `/usr/local/bin/mise`, then asks your login shell. If none of those find it, set the **Mise Path** preference to the binary's absolute path.

Every mise command runs with your login shell's environment (`zsh -il` or `bash -il`, read once a day), so the `PATH` and exports such as `CARGO_HOME` from your `.zshrc` apply exactly as they do in a terminal.

Install mise with the one-liner from [mise.jdx.dev](https://mise.jdx.dev/getting-started.html):

```sh
curl https://mise.run | sh
```

## Commands

- **Search Tools** browses the mise registry and adds a tool to your global config (`mise use -g`).
- **Show Installed Tools** shows every installed tool and version, and can set the global version, upgrade, uninstall, or reveal the install directory.
- **Show Outdated Tools** lists the tools behind their latest version with Upgrade and Upgrade All, and shows the count as its own subtitle in Raycast's root search.
- **Manage Tasks** lists your global mise tasks and runs one in your terminal (`mise run <task>`), or runs it behind a toast and shows the captured output.
- **Tools Menu Bar** sits in the menu bar with the number of outdated tools, refreshed every twelve hours, and upgrades them with one click.
- **Upgrade All Tools** runs `mise upgrade` for every tool behind a progress toast, without opening a window.
- **Prune Unused Versions** runs `mise prune`, deleting installed versions that no config uses.
- **Clear Cache** runs `mise cache clear`. It is disabled by default; enable it in the extension's settings.

All commands work on your global mise configuration, which is what applies when no project config is active.

## Preferences

- **Mise Path** points at the binary when automatic detection fails.
- **Terminal Application** is where **Run in Terminal** (⌘T on a tool, an upgrade or a version) opens the same mise command instead of running it behind a toast. Ghostty, iTerm2 and Terminal are supported; anything else falls back to Terminal.
- **Upgrade past the configured range** adds `--bump` to `mise upgrade` and `mise outdated`, rewriting the version in your config.
- **Include inactive tools** adds `--inactive` to `mise outdated` and `mise upgrade`.
- **Remove the tool from config when uninstalling a configured version** runs `mise unuse` on the config file instead of `mise uninstall`.
- **Parallel Jobs** passes `-j <n>` to `mise use` and `mise upgrade`.
- **Show inactive tools in Show Installed Tools** toggles the Inactive section.
- **Close window after actions** closes Raycast when an install, upgrade or uninstall starts and shows the result as a HUD.
- **Log mise commands to the console** prints every mise command line, exit code and duration to the extension's console.
- **Search Tools › Show details panel by default**, **Prune Unused Versions › What to prune** (`--tools` or `--configs`) and **Upgrade All Tools › Uninstall replaced versions** (`--prune`) are set on their own command.
Binary file added extensions/mise/assets/mise.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions extensions/mise/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import raycast from "@raycast/eslint-config";

export default [...raycast, { ignores: ["raycast-env.d.ts"] }];
Binary file added extensions/mise/metadata/mise-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/mise/metadata/mise-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/mise/metadata/mise-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/mise/metadata/mise-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/mise/metadata/mise-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/mise/metadata/mise-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading