- Renamed misc/ directory to utils/ for better organization
- Updated sf-logs-tail to source utils/utils.sh correctly
- This fixes the 'No such file or directory' error when running sf-logs-tail
- The utils directory contains cross-platform timeout functions needed for macOS compatibility
- Move all non-wrapper files (testing scripts, documentation, utilities) to misc/ directory
- Keep SF CLI wrapper scripts and README.md in root directory for better organization
- Maintain clean root directory with only the actual wrapper scripts and main documentation
- All wrapper scripts remain easily accessible and discoverable
- Supporting files are organized in misc/ subdirectory
- Add utils.sh with cross-platform timeout functions for macOS compatibility
- Fix sf-logs-tail to use portable_timeout instead of GNU timeout command
- Fix test-all-wrappers.sh to use portable_timeout_seconds for testing
- Update README.md with macOS compatibility documentation
The timeout command is not available by default on macOS, causing
sf-logs-tail and test scripts to fail. The new utils.sh provides
fallback timeout functionality that works on Linux, macOS with/without
GNU coreutils, maintaining exit code 124 compatibility.
- Update all Bash scripts (sf-check, sf-org-info, sf-data-export, sf-data-import, sf-logs-tail) to use -ve instead of -vb
- Update all PowerShell scripts (sf-org-info.ps1, sf-apex-run.ps1, sf-check.ps1, sf-data-export.ps1, sf-data-import.ps1) to use -ve instead of -vb
- Fix PowerShell parameter conflicts with built-in -Verbose parameter
- Update README.md, TESTING.md, and OPTION_CONSISTENCY.md documentation to reflect -ve parameter
- Update test scripts (test-wrapper-suite.sh, test-wrapper-suite.ps1, test-all-wrappers.sh) to use -ve
- Maintain cross-platform consistency with two-character option scheme
- Fix Unicode display issues in PowerShell output with UTF-8 encoding
✅ Major Consistency Update:
- Removed ALL long options (--target-org, --help, etc.) from scripts
- Now using ONLY two-character options (-to, -hp, etc.)
- Complete consistency across all wrapper scripts
Updated Scripts:
✅ sf-deploy: Removed --target-org, --sources, --directory, --tests, --help
✅ sf-dry-run: Removed all --long options, matching sf-deploy
✅ sf-web-open: Removed --target-org, --path, --url-only, --help
✅ sf-data-export: Removed all --long options throughout
✅ sf-logs-tail: Removed all --long options and updated help text
Updated Test Scripts:
✅ test-wrapper-suite.sh: Removed --help tests and --long option tests
✅ quick-test.sh: Updated to use -ls instead of --list
✅ All tests now use only two-character options
🎯 Result: Pure two-character option interface
- Clean, consistent UX: -to, -sr, -dr, -ts, -hp, -qy, -fl, etc.
- No mixing of single-char, two-char, and long options
- Memorable, self-documenting option names throughout
✅ Updated sf-logs-tail to use two-character options:
- Changed -o → -to, -u → -ui, -l → -lv, -v → -vb, -h → -hp
- Updated help text and examples to use new options
- All parsing logic converted to manual parsing for consistency
✅ Created comprehensive test suite:
- test-wrapper-suite.sh: Full 100% coverage testing
- test-help-options.sh: Focused help and option testing
- quick-test.sh: Quick validation test
- check-option-schemes.sh: Option scheme verification
✅ All wrapper scripts now support two-character options:
- sf-deploy, sf-dry-run, sf-web-open: ✅ Full implementation
- sf-org-create, sf-data-export, sf-data-import: ✅ Full implementation
- sf-logs-tail: ✅ Now fully updated
- sf-check, sf-org-info, sf-retrieve, sf-test-run, sf-apex-run: ✅ Working
🎯 Ready for comprehensive testing with PWC-TEAM-DEV org
📋 Test coverage includes: help functions, option parsing, error conditions,
core functionality, data operations, metadata operations, and backwards compatibility
- Replace single-character options with memorable two-character alternatives
- Based on syllable mapping: -to (target-org), -qy (query), -fm (format), etc.
- Updated all bash and PowerShell scripts with consistent options
- Added comprehensive documentation and examples to README.md
- Maintains backward compatibility with long options
- More intuitive and self-documenting than traditional CLI options