Mise is a polyglot version manager and task runner that makes development setup easier and more consistent across team members.
Mise:
- 🔧 Manages multiple language runtimes (Bun, Node.js, Python, etc.)
- 📋 Defines development tasks in
.mise.toml - 📦 Ensures everyone has the same tool versions
- ⚡ Fast and lightweight
- 🤝 Works with
direnvfor automatic environment setup
curl https://mise.jdx.dev/install.sh | shbrew install misemise --versionOnce you have Mise installed, the project is fully configured via .mise.toml:
cd /home/bigmichi1/projects/codebot
mise installThis will:
- ✅ Install Bun 1.3.14
- ✅ Set up the environment
# View all available tasks
mise tasks
# Install dependencies
mise run install
# Start development
mise run dev
# Build the project
mise run build
# Start bot with Docker
mise run docker-upmise run install # Install dependencies
mise run dev # Run bot in dev mode (with TypeScript support)
mise run build # Build TypeScript to JavaScript
mise run watch # Watch & rebuild on file changes
mise run start # Run production botmise run docker-build # Build Docker image
mise run docker-up # Start with docker-compose
mise run docker-down # Stop containers
mise run docker-logs # View logs
mise run docker-restart # Restart botmise run lint # Check code quality with ESLint
mise run lint:fix # Auto-fix ESLint issues
mise run audit # Check for vulnerabilities
mise run update # Update all dependencies
mise run clean # Remove build artifactsmise run help # Show all tasksIf you prefer not to use Mise tasks, you can still run everything manually:
# Activate tools manually
eval "$(mise activate)"
# Then use bun directly
bun install
bun run devMise integrates with direnv for automatic environment loading:
# Install direnv
brew install direnv # or apt-get install direnv
# Setup direnv hook in your shell
# Add this to ~/.zshrc or ~/.bashrc:
eval "$(direnv hook zsh)" # or bash
# Allow direnv in this project
direnv allowNow when you cd into the project, tools and environment variables load automatically!
[tools]
bun = "1.3.14" # Pinned version for reproducibilityMise command not found?
# Add to ~/.zshrc or ~/.bashrc and reload shell
export PATH="$HOME/.local/bin:$PATH"Tools not installed?
mise install
mise cache clean # Clear cache if issues persistEnvironment not loading?
eval "$(mise activate)"