Skip to content

Conversation

@dbieber
Copy link
Owner

@dbieber dbieber commented Oct 28, 2025

Summary

Implements multiple profile support allowing quick switching between different GNG configurations.

Features

  • Save/load named profiles with all settings stored as JSON in Redis
  • Quick shortcuts (:1, :2, :3, :4) for default profiles (roam, work, assistant, guest)
  • Automatic backup before profile switching (saved to 'backup' profile)
  • Profile management commands: list, view current, delete profiles
  • Profile init command to set up default profiles from current settings

Use Cases

  • Switch between personal/work note-taking systems
  • Different assistant configurations
  • Guest mode with safe settings
  • Quick swap between Roam graphs or different upload destinations

Commands

  • :1, :2, :3, :4 - Quick load default profiles
  • :profile save <name> - Save current settings as profile
  • :profile load <name> - Load profile (auto-backups current first)
  • :profile list - Show all profiles
  • :profile current - Show active profile
  • :profile delete <name> - Delete a profile
  • :profile init - Initialize default profiles

Implementation

  • New profiles.py module handles profile storage/retrieval
  • New profile_commands.py with command definitions
  • Profiles stored as JSON blobs in Redis under GoNoteGo:profiles:<name>
  • All settings from secure_settings.py can be stored per-profile

See PROFILES.md for full documentation.

🤖 Generated with Claude Code

dbieber and others added 3 commits October 28, 2025 10:50
Implements multiple profile support allowing quick switching between different GNG configurations.

Features:
- Save/load named profiles with all settings
- Quick shortcuts (:1, :2, :3, :4) for default profiles (roam, work, assistant, guest)
- Automatic backup before profile switching
- List, view current, and delete profiles
- Profile init command to set up defaults

Use cases:
- Switch between personal/work note-taking systems
- Different assistant configurations
- Guest mode with safe settings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Instead of hardcoding profile names (roam, work, assistant, guest),
profiles now store their name and shortcut as metadata. This makes
the feature work for any GNG user, not just David-specific configs.

Changes:
- Profiles now store: {name, shortcut, settings}
- Shortcuts mapped dynamically in Redis (GoNoteGo:profile_shortcuts)
- New command: `profile save <name> <number>` to set shortcuts
- `profile list` shows shortcuts: "roam (:1)"
- Numeric shortcuts (`:1`, `:2`) look up mapping dynamically
- Backward compatible with old profile format

Example usage:
  :profile save roam 1      # Save as "roam" with shortcut :1
  :1                         # Load roam profile
  :profile list             # Shows: roam (:1), work (:2), backup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants