Extract duplicate rename code from --rename option and interactive 'r' branch into find_unique_filename() function. Reduces code duplication and improves maintainability.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Ensure --force, --skip, --backup, --rename options are used exclusively
to prevent ambiguous conflict resolution behavior.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement comprehensive file conflict detection and resolution:
- Check for existing files before upload using mc stat (fixes mc ls bug)
- Interactive prompt when conflict detected: overwrite, skip, backup, rename
- Command-line options for non-interactive use: --force, --skip, --backup, --rename
- Auto-rename with numeric suffix when file exists
- Backup existing files with .bak extension before overwriting
- Update SKILL.md with conflict handling documentation and examples
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update documentation to reflect that the obsidian bucket serves as sync directory for Obsidian note-taking app. Replace generic "path" terminology with "vault" concept, explaining that each top-level directory is a separate Obsidian vault. Add vault structure explanation and update examples to show vault-specific uploads.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add prominent Path Configuration section that explicitly states files must upload to main path when no path is specified. Includes constraints and examples to prevent path assumptions.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>