How bhavesh-patil-2302/buddy-ai works
Buddy AI is a personal, interactive CLI assistant. Its startup and menu workflow loads settings and saved user details, greets the user, then dispatches choices to assistant actions, application launching, file listing, settings changes, or the notes menu. Notes and settings are distinct persistent-data stages; user details are stored separately. Core metadata, defaults, paths, and status definitions support these features. Edges reflect calls shown in excerpts or module references in the source index; storage relationships are limited to paths explicitly present in the excerpts.
Main entry points: assistants.py Assistant Actions · main.py Startup and Menu · settings_manager.py Settings Manager · notes_manager.py Notes Operations
Components 20
Assistant CLI
- Startup and Menu
main.py
User Features
- Assistant Actions
buddy/assistants.py - App Catalog
buddy/commands.py - File Scanner
buddy/scanner/file_scanner.py - Notes Menu
buddy/notes/notes_cli.py - Notes Operations
buddy/notes/notes_manager.py - Settings Manager
buddy/memory/settings_manager.py
Persistence
- User Memory
buddy/memory/user_memory.py - JSON Storage
buddy/memory/storage_manager.py - Settings Data
buddy/data/settings.json - User Data
buddy/data/user.json - Notes Data
buddy/notes/notes.json
Core Support
- Settings Metadata
buddy/core/settings_metadata.py - Default Values
buddy/core/defaults.py - Data Paths
buddy/core/paths.py - Status Types
buddy/core/status.py - App Identity
buddy/core/app_info.py
Other components
- User
- Web Browser
- Operating System Apps
Connections 27
- User → Startup and Menu: chooses actions
main.py - Startup and Menu → Assistant Actions: dispatches actions
main.py - Startup and Menu → App Catalog: lists apps
main.py - Startup and Menu → File Scanner: requests listing
main.py - Startup and Menu → Notes Menu: opens notes
main.py - Startup and Menu → Settings Manager: loads settings
main.py - Startup and Menu → User Memory: loads and saves
main.py - Assistant Actions → App Catalog: looks up apps
buddy/assistants.py - Assistant Actions → Settings Manager: changes settings
buddy/assistants.py - Assistant Actions → User Memory: uses user data
buddy/assistants.py - Assistant Actions → Settings Metadata: reads setting definitions
buddy/assistants.py - Assistant Actions → App Identity: displays identity
buddy/assistants.py - Assistant Actions → Web Browser: opens website
buddy/assistants.py - Assistant Actions → Operating System Apps: launches programs
buddy/assistants.py - Notes Menu → Notes Operations: calls note actions
buddy/notes/notes_cli.py - Notes Operations → JSON Storage: loads and saves JSON
buddy/notes/notes_manager.py - Notes Operations → Default Values: uses defaults
buddy/notes/notes_manager.py - Notes Operations → Data Paths: gets notes path
buddy/notes/notes_manager.py - Notes Operations → Status Types: returns note status
buddy/notes/notes_manager.py - Notes Operations → Notes Data: persists notes
buddy/notes/notes_manager.py - Settings Manager → JSON Storage: loads and saves JSON
buddy/memory/settings_manager.py - Settings Manager → Settings Metadata: validates setting types
buddy/memory/settings_manager.py - Settings Manager → Data Paths: gets settings path
buddy/memory/settings_manager.py - Settings Manager → Status Types: returns status
buddy/memory/settings_manager.py - Settings Manager → Settings Data: persists settings
buddy/memory/settings_manager.py - User Memory → JSON Storage: loads and saves JSON
buddy/memory/user_memory.py - User Memory → User Data: persists user details
buddy/memory/user_memory.py