awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jdx avatar

jdx/mise

0
View on GitHub↗
29,929 stars·1,225 forks·Rust·MIT·25 viewsmise.jdx.dev↗

Mise

Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible.

The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based command interception to dynamically inject the correct tool versions and environment variables into the shell session as you navigate between projects. This approach allows for seamless transitions between different runtime versions and project contexts without manual intervention.

Beyond core version management, the system provides comprehensive environment control, including support for secret redaction, template expansion, and the loading of external configuration files. It enables project-scoped task automation, allowing developers to define and execute custom commands within isolated environments that are pre-configured with the necessary dependencies. The platform is extensible through a plugin model that supports custom installation logic and dynamic environment generation.

Features

  • Environment Managers - The development environment manager automatically installs required software runtimes when executing commands or when a shell identifies that a necessary tool is missing from the local environment.
  • Context-Aware Environment Managers - Switching between different software versions and runtimes automatically as you navigate between various project directories in your terminal.
  • Development Environment Orchestrators - Synchronizes tool versions and environment settings to ensure consistent project environments.
  • Version Managers - Executes lightweight binary proxies that intercept shell commands to resolve and inject the correct tool versions into the runtime path.
  • Task Runners - Automates repetitive development workflows through project-scoped script execution.
  • Version Managers - Automates the installation and switching of project-specific software runtimes.
  • Configuration Management Systems - Applies configuration settings by layering global, user, and project-specific files to determine the final state of the shell session.
  • Dependency Orchestrators - The development environment manager establishes installation sequences between tools to enforce specific ordering and ensure that required software is fully configured before secondary tools begin their setup.
  • Development Workflow Integration - Connecting disparate command-line tools and shell environments into a unified system that handles installation and path resolution automatically.
  • Environment Discovery Tools - The development environment manager discovers configuration files by walking the directory tree to resolve tool versions and automatically install missing software required for the current project context.
  • Environment Variable Management - Provides centralized control over environment variables for project-specific configurations.
  • Environment Variable Managers - Injects project-specific settings and secrets into shell sessions dynamically.
  • Developer Tools - Polyglot tool version manager and task runner.
  • Development Tools - Polyglot tool version manager and task runner.
  • Path Management Tools - The development environment manager prioritizes project-specific tool versions by modifying the system path to ensure that commands execute the correct binaries defined within local configuration files.
  • Shell Integration Utilities - The development environment manager connects software to shell environments using automatic activation or lightweight shims to guarantee that the correct tool versions remain available throughout the current session.
  • Secret Management - Managing sensitive configuration data and secrets by injecting them into development sessions while preventing them from leaking into logs.
  • Configuration Cascading Systems - The development environment manager cascades settings from global defaults down to project-specific overrides to maintain precise control over tool versions across different directory structures and development contexts.
  • Execution Sandboxes - Wraps command execution in a controlled environment context that injects specific variables and dependencies without polluting the global shell state.
  • External Environment File Loaders - Imports environment variables from external configuration files to populate session settings.
  • Project Task Definitions - Defines custom project commands to automate and streamline development workflows.
  • Configuration Management - Aggregates and merges configuration files by traversing the file system hierarchy.
  • Environment Caching Utilities - The development environment manager reduces latency in development workflows by storing version lists, installation artifacts, and environment metadata locally to speed up subsequent operations and repeated tool lookups.
  • Environment Variable Enforcement - Ensures project consistency by enforcing the presence of required environment variables.
  • Installation Hooks - The development environment manager tailors software setups with platform-specific settings and automated post-install commands that trigger immediately after a tool version finishes its installation process.
  • Task-Specific Environment Isolation - Ensures clean execution environments by isolating variables to specific tasks.

Star history

Star history chart for jdx/miseStar history chart for jdx/mise

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Mise

Similar open-source projects, ranked by how many features they share with Mise.
  • homebrew/brewHomebrew avatar

    Homebrew/brew

    48,527View on GitHub↗

    Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing u

    Rubybrewhomebrewmacos
    View on GitHub↗48,527
  • cachix/devenvcachix avatar

    cachix/devenv

    7,005View on GitHub↗

    Devenv is a Nix-based development environment manager that provides declarative definitions for reproducible shells and toolchains. It functions as a declarative task runner for executing dependency-aware pipelines and a service orchestration tool for supervising background processes. The project distinguishes itself by generating OCI container images directly from environment definitions without requiring a separate container engine. It also implements the Model Context Protocol to expose project context and package search to AI agents, and supports AI-assisted scaffolding to generate config

    Rustdeveloper-toolsdevenvnix
    View on GitHub↗7,005
  • casey/justcasey avatar

    casey/just

    34,302View on GitHub↗

    This project is a command-line task runner designed to manage project-specific workflows through a centralized, configuration-driven interface. It functions as a declarative tool for organizing build logic, environment variables, and task dependencies into a structured format, enabling the automation of complex development pipelines. The tool distinguishes itself by providing a shell-agnostic execution layer that ensures consistent behavior across Windows, macOS, and Linux. It supports advanced workflow orchestration by constructing directed acyclic graphs to manage task prerequisites, while

    Rust
    View on GitHub↗34,302
  • nushell/nushellnushell avatar

    nushell/nushell

    39,743View on GitHub↗

    Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer

    Rustnushellrustshell
    View on GitHub↗39,743
See all 30 alternatives to Mise→

Frequently asked questions

What does jdx/mise do?

Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible.

What are the main features of jdx/mise?

The main features of jdx/mise are: Environment Managers, Context-Aware Environment Managers, Development Environment Orchestrators, Version Managers, Task Runners, Configuration Management Systems, Dependency Orchestrators, Development Workflow Integration.

What are some open-source alternatives to jdx/mise?

Open-source alternatives to jdx/mise include: homebrew/brew — Homebrew is a command-line package management tool designed to automate the installation, configuration, and… cachix/devenv — Devenv is a Nix-based development environment manager that provides declarative definitions for reproducible shells… casey/just — This project is a command-line task runner designed to manage project-specific workflows through a centralized,… nushell/nushell — Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data… asdf-vm/asdf — This project is a command-line tool designed to manage multiple versions of programming language runtimes and… direnv/direnv — direnv is a shell environment manager and directory-based environment loader that automatically loads and unloads…