isle CLI reference
This directory contains complete documentation of the IsleMesh CLI architecture and all available commands.
Documentation Files
Quick Start
- QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Command reference and common tasks- All CLI commands in table format
- Common workflows
- Troubleshooting tips
- Quick examples
- Best for: Quick lookup of commands
Architecture & Design
- CLI-ARCHITECTURE.md (
CLI-ARCHITECTURE.md) - Complete CLI architecture documentation- Command structure and routing
- Current commands and organization
- Networking and router features
- Execution patterns
- Configuration management
- Validation and error handling
- Best for: Understanding how CLI works
Extension Guide
- EXTENSION-GUIDE.md (
EXTENSION-GUIDE.md) - How to add new features- File locations and line numbers
- Detailed code examples
- Implementation patterns
- Testing guidance
- Bash script patterns
- Error handling examples
- Best for: Adding new features to CLI
Feature Documentation
- DISCOVER.md - Network discovery command details
- Discovery methods explanation
- All subcommands
- Detection examples
- Advanced features
- Best for: Understanding service discovery
Summary
- CLI-EXPLORATION-SUMMARY.txt (
CLI-EXPLORATION-SUMMARY.txt) - High-level summary- Current commands overview
- Router management features
- Network discovery capabilities
- Architecture patterns
- Extension recommendations
- Best for: Getting oriented quickly
File Organization
isle-cli/
├── index.js # Main entry point (command routing)
├── package.json # Node package config
├── README.md # Original README
├── DISCOVER.md # Discovery command details
├──
├── CLI-ARCHITECTURE.md # Complete architecture documentation
├── EXTENSION-GUIDE.md # How to extend with new commands
├── QUICK-REFERENCE.md # Command reference and common tasks
├── CLI-EXPLORATION-SUMMARY.txt # High-level summary
├── INDEX.md # This file
│
└── scripts/
├── router.sh # Router management commands
├── discover.sh # Network/service discovery
├── isle-core.sh # Core project commands
├── config.sh # Configuration management
├── install.sh # System dependencies
├── mesh-proxy.sh # Mesh-proxy tool
├── embed-jinja.sh # Embed-jinja tool
├── ssl.sh # SSL certificate management
├── scaffold.sh # Docker-compose conversion
├── mdns.sh # mDNS system management
├── sample.sh # Sample environments
├── uninstall.sh # CLI uninstallation
├── run.sh # Legacy run command
└── localhost-mdns.sh # Legacy mDNS
Quick Navigation Guide
I want to...
Use the CLI
- Start with QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Look up commands in command reference tables
- Follow example workflows
- Use troubleshooting section if needed
Understand how CLI works
- Read CLI-EXPLORATION-SUMMARY.txt (
CLI-EXPLORATION-SUMMARY.txt) - Review CLI-ARCHITECTURE.md (
CLI-ARCHITECTURE.md) - Check script execution patterns
- Understand command routing
Add a new command
- Review EXTENSION-GUIDE.md (
EXTENSION-GUIDE.md) - Look at implementation examples (3 detailed examples provided)
- Check file locations and line numbers
- Follow bash script patterns
- Update index.js and help text
Discover services
- Check QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Discovery section - Read DISCOVER.md - Full discovery documentation
- Try commands:
isle discover,isle discover test - Review detection methods
Manage router
- Check QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Router section - Review AUTOMATED-ROUTER-SETUP.md (
../AUTOMATED-ROUTER-SETUP.md) (in project root) - Follow router workflow: setup -> verify -> use
- Check openwrt-router/README.md for detailed info
Troubleshoot issues
- See QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Error Messages section - Check CLI-ARCHITECTURE.md (
CLI-ARCHITECTURE.md) - Validation section - Review CLI-EXPLORATION-SUMMARY.txt (
CLI-EXPLORATION-SUMMARY.txt)
Command Categories
Core Project Commands
init- Initialize mesh-appup,down- Start/stop serviceslogs,ps- Monitor servicesprune- Clean up resources
Documentation: QUICK-REFERENCE.md (QUICK-REFERENCE.md)
Router Management
router test basic- Automated setuprouter test verify- Verify setuprouter status- Show statusrouter configure- Configure routerrouter detect- Detect hardware
Documentation: QUICK-REFERENCE.md (QUICK-REFERENCE.md), AUTOMATED-ROUTER-SETUP.md (../AUTOMATED-ROUTER-SETUP.md)
Network Discovery
discover- Discover all servicesdiscover docker- Check Dockerdiscover mdns- Check mDNSdiscover test- Test URLsdiscover export- Export to JSON
Documentation: QUICK-REFERENCE.md (QUICK-REFERENCE.md), DISCOVER.md
Project Tools
mesh-proxy- Manage proxyembed-jinja- Manage automationssl- Manage certificatesscaffold- Convert docker-composeconfig- Manage configuration
Documentation: CLI-ARCHITECTURE.md (CLI-ARCHITECTURE.md)
System Tools
install- Install dependenciesmdns- Manage mDNSsample- Manage samples
Documentation: CLI-ARCHITECTURE.md (CLI-ARCHITECTURE.md)
Key Concepts
Command Routing
Node.js (index.js)
↓ parses arguments
Bash Script (scripts/*.sh)
↓ implements command
Output
Router Network Interfaces
- Management: 192.168.100.1 (eth0)
- Isle Network: 10.100.0.1 (eth1)
Discovery Methods
- Docker container labels
- Nginx configurations
- /etc/hosts entries
- mDNS/Avahi services
Bash Script Patterns
- Color-coded logging ([INFO], [✓], [✗], [⚠])
- Function-based architecture
- Main case statement for subcommands
- Helper validation functions
Common Tasks
Setup
sudo isle install router # Install dependencies
sudo isle router test basic # Setup test environment
isle discover # Find all services
Development
isle init # Initialize project
isle up --build # Start services
isle logs backend # View logs
isle discover test # Test URLs
Troubleshooting
isle router status # Check router
isle discover # Discover services
sudo isle router test reconfigure # Fix network
File Sizes & Content
| File | Size | Focus |
|---|---|---|
| CLI-ARCHITECTURE.md | 13KB | Architecture & design |
| EXTENSION-GUIDE.md | 15KB | How to extend |
| QUICK-REFERENCE.md | 10KB | Command reference |
| DISCOVER.md | 12KB | Discovery details |
| CLI-EXPLORATION-SUMMARY.txt | 14KB | Overview summary |
| INDEX.md | This file | Navigation |
Creating New Commands
See EXTENSION-GUIDE.md (EXTENSION-GUIDE.md) for:
- Implementation examples (3 detailed examples)
- File locations with line numbers
- Bash script patterns
- Testing guidance
- Error handling patterns
Important File Locations
CLI Entry Point
/home/dustin/Desktop/IsleMesh/isle-cli/index.js(500+ lines)
Command Scripts
/home/dustin/Desktop/IsleMesh/isle-cli/scripts/router.sh(500 lines)/home/dustin/Desktop/IsleMesh/isle-cli/scripts/discover.sh(480 lines)
Router Infrastructure
/home/dustin/Desktop/IsleMesh/openwrt-router/scripts/- Router scripts/home/dustin/Desktop/IsleMesh/openwrt-router/tests/- Test scripts
Configuration
~/.isle-config.yml- CLI configuration
Related Documentation
Router Details
openwrt-router/README.md- Router architectureopenwrt-router/QUICKSTART.md- Quick startopenwrt-router/PHYSICAL-ARCHITECTURE.md- Network diagramAUTOMATED-ROUTER-SETUP.md- Automation details
Project Overview
README.md(in project root)
Getting Help
- Quick answers: Use QUICK-REFERENCE.md (
QUICK-REFERENCE.md) - Understanding: Read CLI-ARCHITECTURE.md (
CLI-ARCHITECTURE.md) - Extending: Check EXTENSION-GUIDE.md (
EXTENSION-GUIDE.md) - Deep dive: Review CLI-EXPLORATION-SUMMARY.txt (
CLI-EXPLORATION-SUMMARY.txt) - Specific features: Check feature documentation (DISCOVER.md, etc.)
Documentation Status
All documentation created: November 1, 2024
- [x] Architecture documentation
- [x] Extension guide with examples
- [x] Quick reference
- [x] Summary overview
- [x] Command index
- [x] Feature documentation
Next Steps
- Review QUICK-REFERENCE.md (
QUICK-REFERENCE.md) to understand CLI - Try commands:
isle help,isle router help,isle discover - For extensions, follow EXTENSION-GUIDE.md (
EXTENSION-GUIDE.md) - For deep understanding, read CLI-ARCHITECTURE.md (
CLI-ARCHITECTURE.md)
Version: 1.0 Created: November 1, 2024 Author: Exploration by Claude Code Location: /home/dustin/Desktop/IsleMesh/isle-cli/
Polari