- Persistent storage in
config/settings.json - Dot notation access for nested configuration values
- Automatic file creation with sensible defaults
- Custom config file path support
- Schema validation with available options
- Reset to defaults functionality
- Switch Default Vault - Set and persist default vault path
- Set Config File Location - Use custom configuration files
- Set Logging Level - Configure debug/info/warn/error levels
- Configure Backup Settings - Backup location, count, enabled/disabled
- Configure Validation Settings - File validation options
- View Current Settings - Display all current configuration
- Advanced Settings - File extensions, exclude patterns, etc.
- Reset to Defaults - Restore original settings
- Command line options:
--config,--vault,--log-level - Direct config command:
node src/index.js config - Interactive mode integration with proper navigation
- Back to main menu functionality working correctly
- Persistent loop between main menu and configuration
- Exit option to cleanly terminate the application
- isValidVault() method for vault path validation
- Smart vault detection that respects configured default vault
- Fallback logic when default vault is invalid
defaultVaultPath: Default Obsidian vault location- Automatically used on CLI startup
- Validates path exists and is a valid vault
logging.level: debug, info, warn, errorlogging.logToFile: Enable file logginglogging.logFilePath: Custom log file location
backup.createBackups: Enable/disable backupsbackup.backupLocation: Backup directorybackup.maxBackups: Maximum backup retention
validation.checkEmptyFiles: Empty file validationvalidation.checkMalformedFrontmatter: YAML validationvalidation.checkBrokenLinks: Link validationvalidation.maxLineLength: Line length limits
npm start # Main CLI → Configure Settings
node src/index.js config # Direct to configuration menunode src/index.js --vault "C:\MyVault" --log-level debug
node src/index.js --config "custom-config.json"- Main Menu displays vault selection and tool options
- Configure Settings opens interactive configuration menu
- Make changes automatically saved to config file
- Back to Main Menu returns to main CLI interface
- Exit option cleanly terminates application
- Configuration stored in JSON format
- Automatic directory creation for config files
- Graceful error handling for file I/O operations
- Input validation for all configuration options
- Path existence checking for vault and file paths
- Type validation for numbers and booleans
- Configuration values applied to logger instances
- Vault manager respects configured default vault
- Command line arguments override configuration file
The configuration system is now fully functional with:
- ✅ All settings persist correctly
- ✅ Interactive menus work smoothly
- ✅ Navigation between menus is seamless
- ✅ Command line integration is complete
- ✅ Default vault configuration is respected
- ✅ Back to main menu functionality works correctly
The CLI now provides a professional configuration experience with all requested features implemented and working correctly.