
## Summary Comprehensive repository cleanup focusing on plugin dependency management, documentation improvements, and git tracking optimization. ## Key Changes ### 🔧 Core Infrastructure - Synchronized all nu-* dependencies across plugins for version consistency - Enhanced upstream tracking and automation systems - Removed nushell directory from git tracking for cleaner repository management ### 📚 Documentation - Significantly expanded README.md with comprehensive development guides - Added detailed workflow documentation and command references - Improved plugin collection overview and usage examples ### 🧹 Repository Cleanup - Removed legacy bash scripts (build-all.sh, collect-install.sh, make_plugin.sh) - Streamlined automation through unified justfile and nushell script approach - Updated .gitignore with nushell directory and archive patterns - Removed nushell directory from git tracking to prevent unwanted changes ### 🔌 Plugin Updates - **nu_plugin_image**: Major refactoring with modular architecture improvements - **nu_plugin_hashes**: Enhanced functionality and build system improvements - **nu_plugin_highlight**: Updated for new plugin API compatibility - **nu_plugin_clipboard**: Dependency synchronization - **nu_plugin_desktop_notifications**: Version alignment - **nu_plugin_port_extension & nu_plugin_qr_maker**: Consistency updates - **nu_plugin_kcl & nu_plugin_tera**: Submodule synchronization ### 🏗️ Git Tracking Optimization - Removed nushell directory from version control for cleaner repository management - Added comprehensive .gitignore patterns for build artifacts and archives ## Statistics - 2,082 files changed - 2,373 insertions, 339,936 deletions - Net reduction of 337,563 lines (primarily from removing nushell directory tracking) ## Benefits - Complete version consistency across all plugins - Cleaner repository with optimized git tracking - Improved developer experience with streamlined workflows - Enhanced documentation and automation - Reduced repository size and complexity 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
287 lines
10 KiB
Plaintext
287 lines
10 KiB
Plaintext
# Upstream Module - Repository Tracking and Synchronization
|
||
# Commands for managing upstream repositories and automated tracking
|
||
|
||
# 🔍 UPSTREAM CHECK COMMANDS
|
||
|
||
# Check upstream changes for all plugins
|
||
[no-cd]
|
||
upstream-check:
|
||
@echo "🔍 Checking upstream changes..."
|
||
@{{justfile_directory()}}/scripts/run.sh check_upstream_changes.nu
|
||
|
||
# Check upstream for specific plugin
|
||
[no-cd]
|
||
upstream-check-plugin PLUGIN:
|
||
@echo "🔍 Checking upstream for {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh check_upstream_changes.nu --plugin {{PLUGIN}}
|
||
|
||
# Check upstream with verbose output
|
||
[no-cd]
|
||
upstream-check-verbose:
|
||
@echo "🔍 Checking upstream changes (verbose)..."
|
||
@{{justfile_directory()}}/scripts/run.sh check_upstream_changes.nu --verbose
|
||
|
||
# Check only plugins with pending status
|
||
[no-cd]
|
||
upstream-check-pending:
|
||
@echo "🔍 Checking only pending plugins..."
|
||
@{{justfile_directory()}}/scripts/run.sh check_upstream_changes.nu --pending-only
|
||
|
||
# 👀 UPSTREAM PREVIEW COMMANDS
|
||
|
||
# Preview merge changes for a plugin
|
||
[no-cd]
|
||
upstream-preview PLUGIN:
|
||
@echo "👀 Preview merge for {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --preview {{PLUGIN}}
|
||
|
||
# Preview all pending merges
|
||
[no-cd]
|
||
upstream-preview-all:
|
||
@echo "👀 Preview all pending merges..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --preview --all
|
||
|
||
# Show diff for plugin
|
||
[no-cd]
|
||
upstream-diff PLUGIN:
|
||
@echo "📋 Showing diff for {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --diff {{PLUGIN}}
|
||
|
||
# 🔀 UPSTREAM MERGE COMMANDS
|
||
|
||
# Safely merge upstream changes for a plugin
|
||
[no-cd]
|
||
upstream-merge PLUGIN:
|
||
@echo "🔀 Merging upstream changes for {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu {{PLUGIN}}
|
||
|
||
# Merge all pending upstream changes
|
||
[no-cd]
|
||
upstream-merge-all:
|
||
@echo "🔀 Merging all pending upstream changes..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --all
|
||
|
||
# Force merge upstream for a plugin (even if status is OK)
|
||
[no-cd]
|
||
upstream-merge-force PLUGIN:
|
||
@echo "💪 Force merging {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --force {{PLUGIN}}
|
||
|
||
# Merge with auto-approval of dependency-only changes
|
||
[no-cd]
|
||
upstream-merge-auto PLUGIN:
|
||
@echo "🤖 Auto-merging {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --auto-approve {{PLUGIN}}
|
||
|
||
# Merge all with auto-approval
|
||
[no-cd]
|
||
upstream-merge-auto-all:
|
||
@echo "🤖 Auto-merging all pending changes..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --auto-approve --all
|
||
|
||
# 🔙 UPSTREAM ROLLBACK COMMANDS
|
||
|
||
# Rollback last merge for plugin
|
||
[no-cd]
|
||
upstream-rollback PLUGIN:
|
||
@echo "🔙 Rolling back {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --rollback {{PLUGIN}}
|
||
|
||
# Show rollback options for plugin
|
||
[no-cd]
|
||
upstream-rollback-info PLUGIN:
|
||
@echo "ℹ️ Rollback info for {{PLUGIN}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh safe_merge_upstream.nu --rollback-info {{PLUGIN}}
|
||
|
||
# 📊 UPSTREAM STATUS COMMANDS
|
||
|
||
# Show upstream status for all plugins
|
||
[no-cd]
|
||
upstream-status:
|
||
@echo "📊 Upstream Status"
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu
|
||
|
||
# Show detailed upstream status
|
||
[no-cd]
|
||
upstream-status-detailed:
|
||
@echo "📊 Detailed Upstream Status"
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu --all
|
||
|
||
# Show plugins requiring attention
|
||
[no-cd]
|
||
upstream-attention:
|
||
@echo "🚨 Plugins Requiring Attention"
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu attention
|
||
|
||
# Show upstream summary
|
||
[no-cd]
|
||
upstream-summary:
|
||
@echo "📊 Upstream Summary"
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu summary
|
||
|
||
# Update plugin status manually
|
||
upstream-status-update PLUGIN STATUS:
|
||
@echo "🔄 Updating {{PLUGIN}} status to {{STATUS}}..."
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu update {{PLUGIN}} {{STATUS}}
|
||
|
||
# Mark local development plugins as OK
|
||
[no-cd]
|
||
upstream-mark-locals-ok:
|
||
@echo "✅ Marking local development plugins as OK..."
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu update nu_plugin_image ok
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu update nu_plugin_hashes ok
|
||
@{{justfile_directory()}}/scripts/run.sh plugin_status.nu update nu_plugin_desktop_notifications ok
|
||
@echo "✅ All local plugins marked as OK"
|
||
|
||
# 🔧 UPSTREAM CONFIGURATION
|
||
|
||
# Show plugin registry information
|
||
[no-cd]
|
||
upstream-registry:
|
||
@echo "📋 Plugin Registry Information:"
|
||
@if [ -f etc/plugin_registry.toml ]; then \
|
||
echo "Registry file: etc/plugin_registry.toml"; \
|
||
echo ""; \
|
||
echo "Plugins with upstream:"; \
|
||
grep -A2 "upstream_url.*=" etc/plugin_registry.toml | grep -v "^--" || true; \
|
||
else \
|
||
echo "Registry file not found!"; \
|
||
fi
|
||
|
||
# Add plugin to upstream exclusion list
|
||
[no-cd]
|
||
upstream-exclude PLUGIN:
|
||
@echo "🚫 Adding {{PLUGIN}} to exclusion list..."
|
||
@EXCLUDE_FILE="etc/upstream_exclude.toml"; \
|
||
if grep -q "^plugins = \[" "$$EXCLUDE_FILE" 2>/dev/null; then \
|
||
sed -i.bak "/^plugins = \[/s/\]/\"{{PLUGIN}}\", \]/" "$$EXCLUDE_FILE"; \
|
||
echo "✅ Added {{PLUGIN}} to exclusions"; \
|
||
else \
|
||
echo "⚠️ Please manually add {{PLUGIN}} to $$EXCLUDE_FILE"; \
|
||
fi
|
||
|
||
# Remove plugin from upstream exclusion list
|
||
[no-cd]
|
||
upstream-include PLUGIN:
|
||
@echo "✅ Removing {{PLUGIN}} from exclusion list..."
|
||
@EXCLUDE_FILE="etc/upstream_exclude.toml"; \
|
||
sed -i.bak "s/\"{{PLUGIN}}\",*[[:space:]]*//" "$$EXCLUDE_FILE"; \
|
||
echo "✅ Removed {{PLUGIN}} from exclusions"
|
||
|
||
# Show excluded plugins
|
||
[no-cd]
|
||
upstream-excluded:
|
||
@echo "📋 Currently excluded plugins:"
|
||
@EXCLUDE_FILE="etc/upstream_exclude.toml"; \
|
||
if [ -f "$$EXCLUDE_FILE" ]; then \
|
||
grep -A10 "\[exclude\]" "$$EXCLUDE_FILE" | grep -E "^[[:space:]]*\"" | sed 's/[",]//g' | sed 's/^[[:space:]]*/ - /' || echo "No exclusions found"; \
|
||
else \
|
||
echo "No exclusions file found"; \
|
||
fi
|
||
|
||
# 🔄 UPSTREAM MAINTENANCE
|
||
|
||
# Fetch all upstream repositories
|
||
[no-cd]
|
||
upstream-fetch-all:
|
||
@echo "🔄 Fetching all upstream repositories..."
|
||
@for plugin in nu_plugin_*; do \
|
||
if [ -d "$$plugin/.git" ]; then \
|
||
echo "Fetching $$plugin..."; \
|
||
cd "$$plugin" && git fetch --all && cd ..; \
|
||
fi; \
|
||
done
|
||
|
||
# Show outdated upstream references
|
||
[no-cd]
|
||
upstream-outdated:
|
||
@echo "📅 Checking for outdated upstream references..."
|
||
@{{justfile_directory()}}/scripts/run.sh check_upstream_changes.nu --show-outdated
|
||
|
||
# Cleanup upstream tracking data
|
||
[no-cd]
|
||
upstream-cleanup:
|
||
@echo "🧹 Cleaning up upstream tracking data..."
|
||
@find . -name ".upstream_*" -type f -delete
|
||
@echo "✅ Cleanup completed"
|
||
|
||
# 🚨 UPSTREAM CONFLICT RESOLUTION
|
||
|
||
# Show conflicts for plugin
|
||
[no-cd]
|
||
upstream-conflicts PLUGIN:
|
||
@echo "🚨 Showing conflicts for {{PLUGIN}}..."
|
||
@cd {{PLUGIN}} && git status --porcelain | grep "^UU" || echo "No conflicts found"
|
||
|
||
# Reset plugin to clean state
|
||
[no-cd]
|
||
upstream-reset PLUGIN:
|
||
@echo "🔄 Resetting {{PLUGIN}} to clean state..."
|
||
@cd {{PLUGIN}} && git reset --hard HEAD && git clean -fd
|
||
|
||
# Create backup branch before merge
|
||
[no-cd]
|
||
upstream-backup PLUGIN:
|
||
@echo "💾 Creating backup branch for {{PLUGIN}}..."
|
||
@cd {{PLUGIN}} && git branch "backup-$(date +%Y%m%d-%H%M%S)" && echo "✅ Backup branch created"
|
||
|
||
# 📊 UPSTREAM INFORMATION
|
||
|
||
# Show upstream help
|
||
[no-cd]
|
||
upstream-help:
|
||
@echo "🔄 Upstream Module Help"
|
||
@echo "======================"
|
||
@echo ""
|
||
@echo "CHECK COMMANDS:"
|
||
@echo " upstream-check - Check all upstream changes"
|
||
@echo " upstream-check-plugin PLUGIN - Check specific plugin"
|
||
@echo " upstream-check-verbose - Check with verbose output"
|
||
@echo " upstream-check-pending - Check only pending plugins"
|
||
@echo ""
|
||
@echo "PREVIEW COMMANDS:"
|
||
@echo " upstream-preview PLUGIN - Preview merge changes"
|
||
@echo " upstream-preview-all - Preview all pending merges"
|
||
@echo " upstream-diff PLUGIN - Show diff for plugin"
|
||
@echo ""
|
||
@echo "MERGE COMMANDS:"
|
||
@echo " upstream-merge PLUGIN - Merge upstream changes"
|
||
@echo " upstream-merge-all - Merge all pending changes"
|
||
@echo " upstream-merge-force PLUGIN - Force merge"
|
||
@echo " upstream-merge-auto PLUGIN - Auto-merge dependencies"
|
||
@echo " upstream-merge-auto-all - Auto-merge all dependencies"
|
||
@echo ""
|
||
@echo "ROLLBACK COMMANDS:"
|
||
@echo " upstream-rollback PLUGIN - Rollback last merge"
|
||
@echo " upstream-rollback-info PLUGIN - Show rollback info"
|
||
@echo ""
|
||
@echo "STATUS COMMANDS:"
|
||
@echo " upstream-status - Show status for all plugins"
|
||
@echo " upstream-status-detailed - Show detailed status"
|
||
@echo " upstream-attention - Show plugins needing attention"
|
||
@echo " upstream-summary - Show summary"
|
||
@echo " upstream-status-update PLUGIN STATUS - Update status"
|
||
@echo " upstream-mark-locals-ok - Mark local plugins as OK"
|
||
@echo ""
|
||
@echo "CONFIGURATION:"
|
||
@echo " upstream-registry - Show registry information"
|
||
@echo " upstream-exclude PLUGIN - Add to exclusion list"
|
||
@echo " upstream-include PLUGIN - Remove from exclusion list"
|
||
@echo " upstream-excluded - Show excluded plugins"
|
||
@echo ""
|
||
@echo "MAINTENANCE:"
|
||
@echo " upstream-fetch-all - Fetch all repositories"
|
||
@echo " upstream-outdated - Show outdated references"
|
||
@echo " upstream-cleanup - Clean tracking data"
|
||
@echo ""
|
||
@echo "CONFLICT RESOLUTION:"
|
||
@echo " upstream-conflicts PLUGIN - Show conflicts"
|
||
@echo " upstream-reset PLUGIN - Reset to clean state"
|
||
@echo " upstream-backup PLUGIN - Create backup branch"
|
||
@echo ""
|
||
@echo "EXAMPLES:"
|
||
@echo " just upstream-check-plugin nu_plugin_clipboard"
|
||
@echo " just upstream-preview nu_plugin_highlight"
|
||
@echo " just upstream-merge-auto-all"
|
||
@echo " just upstream-exclude nu_plugin_custom"
|