Skip to content

Latest commit

 

History

History

README.md

Elixir Script Manager

A modern, Elixir-based TUI for managing reusable scripts and functions across repositories.

Features

  • Wiki Audit: Check wiki content for issues
  • Project Tabs Audit: Verify GitHub project tab configurations
  • Branch Protection: Apply branch protection rules
  • MD to ADOC Converter: Convert Markdown to AsciiDoc format
  • Standardize READMEs: Ensure consistent README formatting
  • Update Repos: Mass update repositories
  • Audit Scripts: Security and quality checks
  • Verify: Repository configuration verification
  • GH CLI: GitHub CLI utilities
  • Repository Cleanup: Comprehensive cleanup and maintenance

Architecture

  • Language: Elixir (OTP-based, fault-tolerant)
  • Pattern: Modular OTP application with supervisor
  • Interface: Interactive TUI with menu system
  • Execution: Standalone escript (no runtime dependencies)

Usage

Run the TUI:

cd /var/mnt/eclipse/repos/git-scripts
./launchers/git-scripts-launcher-enhanced.sh

Build from source:

mix deps.get
mix compile
mix escript.build

Implementation Details

Each function is implemented as an Elixir module:

  • ScriptManager.WikiAudit - Wiki auditing
  • ScriptManager.ProjectTabsAudit - Project tab verification
  • ScriptManager.BranchProtection - Branch protection rules
  • ScriptManager.MDConverter - Format conversion
  • ScriptManager.ReadmeStandardizer - README standardization
  • ScriptManager.RepoUpdater - Repository updates
  • ScriptManager.ScriptAuditor - Script auditing
  • ScriptManager.Verifier - Configuration verification
  • ScriptManager.GHCLI - GitHub CLI utilities
  • ScriptManager.RepoCleanup - Repository cleanup and maintenance

Future Development

  • Add real file system operations
  • Implement GitHub API integration
  • Add configuration management
  • Enhance error handling and logging
  • Add progress reporting

Shortcuts

  • Desktop: launchers/git-scripts.desktop
  • Start Menu: ~/.local/share/applications/git-scripts.desktop

Benefits over Bash Version

  1. Type Safety: Elixir's strong typing prevents many runtime errors
  2. Concurrency: Built-in support for parallel operations
  3. Fault Tolerance: OTP supervision trees handle errors gracefully
  4. Maintainability: Clear module structure and documentation
  5. Extensibility: Easy to add new functions as modules
  6. Performance: Compiled BEAM bytecode runs efficiently