A collection of system administration scripts and tools. The main feature is ControlPanel - a project-agnostic menu system for managing git, docker, and deployment operations across multiple projects.
ControlPanel is the primary tool for managing git, docker, and deployment operations across multiple projects. It provides an interactive dialog-based interface that works with any git repository.
cd ControlPanel
./menu.shOr specify a project directly:
./ControlPanel/menu.sh /path/to/projectKey Features:
- Multi-Project Support: Save and manage multiple projects with persistent, per-device configuration
- Git Management: Branch operations, commits, merges, and status checks
- Docker Management: Container operations with project-specific compose files
- Deployment Management: Database migration checking and execution
- Project Switching: Switch between projects without restarting the script
- User-Local Config: Configuration stored in
~/.config/controlpanel/(not synced via git)
See docs/controlpanel.md for complete documentation.
To quickly access scripts from anywhere, add aliases to your ~/.zshrc:
# ControlPanel
alias cpanel='cd ~/Nextcloud/git_repos/mySCRIPTS/ControlPanel && ./menu.sh'
# macOS menu (macOS only)
alias macmenu='cd ~/Nextcloud/git_repos/mySCRIPTS/MACOS && ./menu.sh'After adding, reload your shell:
source ~/.zshrcExample usage:
cpanel- Opens ControlPanel menu from any directorycpanel /path/to/project- Opens ControlPanel for a specific projectmacmenu- Opens macOS menu system (macOS only)
ControlPanel/- Primary: Project-agnostic menu system for git, docker, and deployment managementarchive/- Legacy/archived scripts (Linux scripts and deprecated code, maintained for reference)docs/- Documentation (Router/Catalog system).cursor/rules/- Scoped Cursor rules for AI agentsscripts/- Utility scripts (e.g., documentation generator)
This repository uses a Router/Catalog system for documentation:
- Router:
docs/00_ROUTER.md- Quick lookup table for finding documentation - Catalog:
docs/01_CATALOG.md- Complete documentation listing - Agent Instructions:
AGENTS.md- Instructions for AI agents
For detailed information about specific script categories, see the Documentation directory.
Legacy and archived scripts (including old Linux scripts) are stored in the archive/ directory. These scripts are maintained for reference but are not actively used.
The macOS menu system provides access to macOS-specific scripts:
cd MACOS
./menu.shThis provides a dialog-based menu for accessing all macOS-specific scripts. See MACOS/README.md for detailed information about available macOS scripts.
Note: macOS scripts are secondary to ControlPanel. ControlPanel is the primary tool and works on both Linux and macOS.
When adding new scripts:
- Follow the script standards outlined in
AGENTS.md - Add appropriate documentation with YAML frontmatter
- Regenerate documentation indexes:
python3 scripts/generate_docs_index.py - Update relevant README files