nushell-plugins/guides/quick-start.md

1 line
6.9 KiB
Markdown
Raw Permalink Normal View History

# Quick Start Guide - Nushell 0.108.0 Update\n\n**Fast track to updating Nushell and creating distributions**\n\n---\n\n## ⚡ ONE-LINER UPDATE\n\nUpdate everything (Nushell + all plugins + distributions) in one command:\n\n```bash\n# Update to specific version (recommended)\n./scripts/complete_update.nu 0.108.0\n\n# Or use justfile\njust complete-update 0.108.0\n```\n\n**What it does:**\n\n1. ✅ Downloads Nushell 0.108.0\n2. ✅ Builds with MCP + all features (~3 minutes)\n3. ✅ Updates all plugin dependencies\n4. ✅ Builds all plugins\n5. ✅ Creates full distribution packages\n6. ✅ Creates bin archives\n7. ✅ Validates everything\n\n**Total time**: ~20-30 minutes (mostly build time)\n\n---\n\n## 🎯 ANSWER: "How do I update everything in one go?"\n\n**YES!** We have a complete automation system:\n\n### Option 1: All-in-One Script (Fastest)\n\n```bash\n# Update to 0.108.0 and create everything\n./scripts/complete_update.nu 0.108.0\n\n# Update to latest release\n./scripts/complete_update.nu --latest\n\n# Auto-approve (no prompts)\n./scripts/complete_update.nu 0.108.0 --auto-approve\n```\n\n### Option 2: Using Justfile (Easier to remember)\n\n```bash\n# Complete update\njust complete-update 0.108.0\n\n# Or update to latest\njust update-latest\n\n# Show all version update commands\njust update-help\n```\n\n### Option 3: Step-by-Step (More control)\n\n```bash\n# Step 1: Update Nushell core\njust update-nushell 0.108.0\n\n# Step 2: Update all plugins\njust update-plugins 0.108.0\n\n# Step 3: Create distributions\njust create-distribution\n\n# Step 4: Create bin archives\njust create-bin-archives\n```\n\n---\n\n## 📦 ANSWER: "How do I create distributions and bin_archives?"\n\n### Quick Method\n\n```bash\n# Create everything (full distributions + bin archives)\njust create-distribution\n\n# Create for all platforms\njust create-distribution-all\n\n# Create only bin archives\njust create-bin-archives\n\n# Rebuild and redistribute\njust rebuild-all\n```\n\n### What Gets Created\n\n**Full Distributions** (in `distribution/packages/`):\n\n```plaintext\nnushell-full-darwin-arm64-0.108.0.tar.gz # macOS ARM (120 MB)\nnushell-full-linux-x86_64-0.108.0.tar.gz # Linux x64 (110 MB)\nnushell-full-windows-x86_64-0.108.0.zip # Windows (115 MB)\nchecksums.txt # SHA256 checksums\n```\n\n**Bin Archives** (in `bin_archives/`):\n\n```plaintext\nnu_plugin_clipboard-0.108.0-darwin-arm64.tar.gz # Individual plugins\nnu_plugin_image-0.108.0-darwin-arm64.tar.gz # (~2-8 MB each)\nnu_plugin_hashes-0.108.0-darwin-arm64.tar.gz\n... (one for each custom plugin)\n```\n\n---\n\n## 🚀 Common Workflows\n\n### Workflow 1: Fresh Update to New Version\n\n```bash\n# All-in-one command\njust complete-update 0.109.0\n\n# That's it! Everything is done.\n```\n\n### Workflow 2: Update Only Plugins\n\n```bash\n# Update plugin dependencies to match nushell\njust sync-plugins\n\n# Or specify version\njust update-plugins 0.108.0\n\n# Check for version mismatches\njust check-versions\n```\n\n### Workflow 3: Create Distributions Only\n\n```bash\n# Build if needed\njust build-nushell\njust build\n\n# Create distributions\njust create-distribution\n\n# Verify\njust dist-status\n```\n\n### Workflow 4: Quick Development Iteration\n\n```bash\n# Make changes to plugins...\n\n# Rebuild and redistribute\njust rebuild-all\n\n# This rebuilds nushell + plugins + creates fresh distributions\n```\n\n---\n\n## 📊 Status Commands\n\nCheck what's happening at any time:\n\n```bash\n# Overall update status\njust update-status\n\n# Distribution status\njust dist-status\n\n# Plugin versions\njust list-versions\n\n# Check for version mismatches\njust check-versions\n\n# Dependency audit\njust audit-deps\n```\n\n---\n\n## 🔍 Analysis & Validation\n\n### Before Update\n\n```bash\n# Detect breaking changes\njust detect-breaking\n\n# Analyze available features\njust analyze-features\n\n# Show dependency tree for a feature\njust feature-tree mcp\n\n# Audit current dependencies\njust audit-deps\n```\n\n### After Update\n\n```bash\