
Some checks failed
Build and Test / Validate Setup (push) Has been cancelled
Build and Test / Build (darwin-amd64) (push) Has been cancelled
Build and Test / Build (darwin-arm64) (push) Has been cancelled
Build and Test / Build (linux-amd64) (push) Has been cancelled
Build and Test / Build (windows-amd64) (push) Has been cancelled
Build and Test / Build (linux-arm64) (push) Has been cancelled
Build and Test / Security Audit (push) Has been cancelled
Build and Test / Package Results (push) Has been cancelled
Build and Test / Quality Gate (push) Has been cancelled
## Major Features Added - **Complete distribution infrastructure**: Build, package, and distribute Nushell binary alongside plugins - **Zero-prerequisite installation**: Bootstrap installers work on fresh systems without Rust/Cargo/Nushell - **Cross-platform support**: Linux, macOS, Windows (x86_64, ARM64) - **Self-contained packages**: Everything needed for complete Nushell environment ## New Components ### Build System - `scripts/build_nushell.nu` - Build nushell with all workspace plugins - `scripts/collect_full_binaries.nu` - Collect nu binary + all plugins - `justfiles/full_distro.just` - 40+ new recipes for distribution workflows ### Bootstrap Installers (Zero Prerequisites) - `installers/bootstrap/install.sh` - Universal POSIX installer (900+ lines) - `installers/bootstrap/install.ps1` - Windows PowerShell installer (800+ lines) - Complete platform detection, PATH setup, plugin registration ### Distribution System - `scripts/create_distribution_packages.nu` - Multi-platform package creator - `scripts/install_full_nushell.nu` - Advanced nu-based installer - `scripts/verify_installation.nu` - Installation verification suite - `scripts/lib/common_lib.nu` - Shared utilities and logging ### Configuration Management - `scripts/templates/default_config.nu` - Complete nushell configuration (500+ lines) - `scripts/templates/default_env.nu` - Cross-platform environment setup - `etc/distribution_config.toml` - Central distribution settings - `scripts/templates/uninstall.sh` & `uninstall.ps1` - Clean removal ## Key Workflows ```bash just build-full # Build nushell + all plugins just pack-full-all # Create packages for all platforms just verify-full # Verify installation just release-full-cross # Complete cross-platform release ``` ## Installation Experience - One-liner: `curl -sSf https://your-url/install.sh | sh` - Multiple modes: user, system, portable installation - Automatic plugin registration with verification - Professional uninstall capability ## Benefits - ✅ Solves bootstrap problem - no prerequisites needed - ✅ Production-ready distribution system - ✅ Complete cross-platform support - ✅ Professional installation experience - ✅ Integrates seamlessly with existing plugin workflows - ✅ Enterprise-grade verification and logging
101 lines
2.6 KiB
Makefile
101 lines
2.6 KiB
Makefile
# Nushell Plugins Development Justfile
|
|
# Modular task runner with organized command categories
|
|
|
|
# Set shell to bash for compatibility
|
|
set shell := ["bash", "-c"]
|
|
|
|
# Import all module justfiles
|
|
import 'justfiles/alias.just'
|
|
import 'justfiles/help.just'
|
|
import 'justfiles/build.just'
|
|
import 'justfiles/distro.just'
|
|
import 'justfiles/full_distro.just'
|
|
import 'justfiles/upstream.just'
|
|
import 'justfiles/qa.just'
|
|
import 'justfiles/tools.just'
|
|
|
|
# Default recipe - show modular help
|
|
[no-cd]
|
|
default:
|
|
@just help
|
|
|
|
|
|
# 📊 CORE STATUS COMMANDS (Most frequently used)
|
|
|
|
# Show plugin status dashboard
|
|
[no-cd]
|
|
status:
|
|
@echo "📊 Plugin Status Dashboard"
|
|
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu
|
|
|
|
# Show detailed status for all plugins
|
|
[no-cd]
|
|
status-all:
|
|
@echo "📊 All Plugins Status"
|
|
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu --all
|
|
|
|
# Show plugins requiring attention
|
|
[no-cd]
|
|
status-attention:
|
|
@echo "🚨 Plugins Requiring Attention"
|
|
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu attention
|
|
|
|
# Update plugin status manually
|
|
[no-cd]
|
|
status-update PLUGIN STATUS:
|
|
@echo "🔄 Updating {{PLUGIN}} status to {{STATUS}}..."
|
|
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu update {{PLUGIN}} {{STATUS}}
|
|
|
|
# 🎯 MULTI-MODULE WORKFLOW COMMANDS
|
|
# These workflows combine commands from multiple modules
|
|
|
|
# Complete development workflow: validate → upstream check → build → test → status
|
|
[no-cd]
|
|
dev-flow:
|
|
@echo "🎯 Running complete development workflow..."
|
|
@just validate-nushell
|
|
@just upstream-check
|
|
@just build
|
|
@just test
|
|
@just status
|
|
|
|
# Complete release workflow: validate → build → collect → package
|
|
[no-cd]
|
|
release-flow:
|
|
@echo "🚀 Running complete release workflow..."
|
|
@just validate-nushell
|
|
@just build
|
|
@just collect
|
|
@just pack
|
|
|
|
# Cross-platform development workflow
|
|
[no-cd]
|
|
dev-flow-cross:
|
|
@echo "🌍 Running cross-platform development workflow..."
|
|
@just validate-nushell
|
|
@just upstream-check
|
|
@just build-cross-all
|
|
@just status
|
|
|
|
# CI simulation workflow (what GitHub Actions will run)
|
|
[no-cd]
|
|
ci-flow:
|
|
@echo "🤖 Simulating CI workflow..."
|
|
@just validate-nushell
|
|
@just fmt-check
|
|
@just lint
|
|
@just build-cross-all
|
|
@just test
|
|
@just collect-all
|
|
@just pack-checksums
|
|
|
|
# Update workflow: update nushell → fix version → update versions → check upstream
|
|
[no-cd]
|
|
update-flow:
|
|
@echo "🔄 Running update workflow..."
|
|
@just update-nushell
|
|
@just fix-nushell
|
|
@just update-nu-versions
|
|
@just upstream-check
|
|
|