diff --git a/README.md b/README.md index 46789e2..3c5bc84 100644 --- a/README.md +++ b/README.md @@ -248,7 +248,6 @@ For any questions, suggestions, or support, please open an issue on the [GitHub - **Scalability:** Facilitates handling larger databases by allowing the index to be pieced together from multiple posts rather than relying on a single large file. - **Reliability:** Enhances the robustness of data retrieval by distributing the index across multiple posts, reducing the impact of potential data corruption in any single post. -<<<<<<< Updated upstream - **Automatically Post Index to Nostr After Every Edit** - **Description:** Implement an automated process where any modification to the password index triggers an immediate update to the Nostr relays. - **Benefits:** @@ -258,24 +257,6 @@ For any questions, suggestions, or support, please open an issue on the [GitHub - **Hook Integration:** Integrate hooks in the `EntryManager` or relevant modules to detect changes and trigger posting. - **Error Handling:** Implement robust error handling to manage failed posts without disrupting the user's workflow. - **User Notifications:** Inform users of the backup status after each edit (e.g., success, failure). -======= -- **Post Index to Nostr Automatically After Every Edit** - - **Description:** Implement a feature where every time the password index is edited (add, modify, delete), the updated index is automatically posted to Nostr. - - **Benefits:** Ensures that backups are always up-to-date without requiring manual intervention. - - **Suggested Approach:** - - **Event Hooking:** Integrate hooks in the EntryManager or relevant modules to trigger the post operation after any edit. - - **Error Handling:** Implement robust error handling to manage scenarios where posting to Nostr fails, ensuring data integrity. - - **User Notifications:** Inform users about the success or failure of automatic posts to maintain transparency. - -- **Generate Nostr Profile on First Login and Retrieve Existing Index Data** - - **Description:** When a user logs in for the first time using the parent seed, generate a Nostr profile and check if there are existing index data notes that can be retrieved and decrypted. - - **Benefits:** Allows users to seamlessly recover their password index from existing Nostr posts, enhancing data portability and redundancy. - - **Suggested Approach:** - - **Profile Generation:** Automate the creation of a Nostr profile linked to the user's parent seed. - - **Data Retrieval:** Implement logic to search for existing encrypted index data across specified relays. - - **Decryption and Integration:** Decrypt retrieved data and integrate it into the local index, ensuring no duplication or data conflicts. - - **User Feedback:** Provide clear messages about the status of profile creation and data retrieval processes. ->>>>>>> Stashed changes ### **7. Advanced CLI Mode** - **Develop an Advanced CLI Mode with Enhanced Functionalities** @@ -284,14 +265,8 @@ For any questions, suggestions, or support, please open an issue on the [GitHub - **Custom Relays Configuration:** Allow users to specify a custom set of Nostr relays for publishing their backup index. - **Batch Posting:** Enable the CLI to handle the segmentation of index entries into batches of 10 for Nostr posts. - **Toggle "Secret" Mode:** Provide CLI commands to enable or disable "secret" mode for clipboard-only password retrieval. -<<<<<<< Updated upstream - **Automated Nostr Posting:** Ensure that any edit to the index automatically triggers a post to Nostr. - **Initial Setup Enhancements:** Implement features to handle the first-time user experience, including seed generation/import and initial Nostr profile creation. -======= - - **Automatic Nostr Posting:** Automatically post updated indexes to Nostr after any edit operation. - - **Nostr Profile Generation and Data Retrieval:** Handle the generation of Nostr profiles and retrieval of existing index data upon first login. - - **Seed Initialization:** Allow users to choose between entering an existing seed or generating a new one during the first run. ->>>>>>> Stashed changes - **Suggested Approach:** - **Command Structure:** Design intuitive commands and flags to manage advanced settings. - **User Feedback:** Ensure that the CLI provides clear feedback and confirmations for advanced operations. @@ -356,7 +331,6 @@ For any questions, suggestions, or support, please open an issue on the [GitHub --- -<<<<<<< Updated upstream ## **Advanced CLI Commands** | **Action** | **Command** | **Short Flag** | **Long Flag** | **Example Command** | @@ -389,38 +363,6 @@ For any questions, suggestions, or support, please open an issue on the [GitHub | **Automatically Post Index to Nostr After Edit** | `auto-post` | `-AP` | `--auto-post` | `passmgr auto-post --enable` or `passmgr auto-post --disable` | | **Initial Setup Prompt for Seed Generation/Import** | `setup` | `-ST` | `--setup` | `passmgr setup` | -======= -| **Action** | **Command** | **Short Flag** | **Long Flag** | **Example Command** | -|-------------------------------------------|------------------------|----------------|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Add a new password entry | `add` | `-A` | `--add` | `passmgr add --title "GitHub" --url "https://github.com" --username "john_doe" --email "john@example.com" --notes "Primary GitHub account" --tags "work,development" --length 20` | -| Retrieve a password entry | `retrieve` | `-R` | `--retrieve` | `passmgr retrieve --index 3` or `passmgr retrieve --title "GitHub"` | -| Modify an existing entry | `modify` | `-M` | `--modify` | `passmgr modify --index 3 --title "GitHub Pro" --notes "Updated to pro account" --tags "work,development,pro" --length 22` | -| Delete an entry | `delete` | `-D` | `--delete` | `passmgr delete --index 3` | -| List all entries | `list` | `-L` | `--list` | `passmgr list` | -| Search for a password entry | `search` | `-S` | `--search` | `passmgr search --query "GitHub"` | -| Export passwords to a file | `export` | `-E` | `--export` | `passmgr export --file "backup_passwords.json"` | -| Import passwords from a file | `import` | `-I` | `--import` | `passmgr import --file "backup_passwords.json"` | -| Display help information | `help` | `-H` | `--help` | `passmgr help` | -| Display application version | `version` | `-V` | `--version` | `passmgr version` | -| Change master password | `changepw` | `-C` | `--changepw` | `passmgr changepw --new "NewSecureP@ssw0rd!"` | -| Enable auto-lock | `autolock --enable` | `-AL` | `--auto-lock --enable` | `passmgr autolock --enable --timeout 10` | -| Disable auto-lock | `autolock --disable` | `-DL` | `--auto-lock --disable` | `passmgr autolock --disable` | -| Generate a strong password | `generate` | `-G` | `--generate` | `passmgr generate --length 20` | -| Verify script checksum | `verify` | `-V` | `--verify` | `passmgr verify` | -| Post encrypted index to Nostr | `post` | `-P` | `--post` | `passmgr post` | -| Retrieve from Nostr | `get-nostr` | `-GN` | `--get-nostr` | `passmgr get-nostr` | -| Display Nostr public key | `show-pubkey` | `-K` | `--show-pubkey` | `passmgr show-pubkey` | -| **Set Custom Nostr Relays** | `set-relays` | `-SR` | `--set-relays` | `passmgr set-relays --add "wss://relay1.example.com" --add "wss://relay2.example.com"` | -| **Enable "Secret" Mode** | `set-secret` | `-SS` | `--set-secret` | `passmgr set-secret --enable` or `passmgr set-secret --disable` | -| **Batch Post Index Items to Nostr** | `batch-post` | `-BP` | `--batch-post` | `passmgr batch-post --start 0 --end 9` or `passmgr batch-post --range 10-19` | -| **Show All Passwords** | `show-all` | `-SA` | `--show-all` | `passmgr show-all` | -| **Add Notes to an Entry** | `add-notes` | `-AN` | `--add-notes` | `passmgr add-notes --index 3 --notes "This is a secured account"` | -| **Add Tags to an Entry** | `add-tags` | `-AT` | `--add-tags` | `passmgr add-tags --index 3 --tags "personal,finance"` | -| **Search by Tag or Title** | `search-by` | `-SB` | `--search-by` | `passmgr search-by --tag "work"` or `passmgr search-by --title "GitHub"` | -| **Initialize Seed (First Run)** | `init-seed` | `-IS` | `--init-seed` | `passmgr init-seed --generate` or `passmgr init-seed --import "your-existing-seed-phrase"` | -| **Generate Nostr Profile and Retrieve Data** | `setup-nostr` | `-SN` | `--setup-nostr` | `passmgr setup-nostr` | - ->>>>>>> Stashed changes --- ### **Notes on New CLI Commands** @@ -439,7 +381,6 @@ For any questions, suggestions, or support, please open an issue on the [GitHub - **Nostr Profile Creation:** Upon first login, automatically generate a Nostr profile and check for existing index data notes that can be pulled and decrypted. - **Usage Example:** `passmgr setup` -<<<<<<< Updated upstream 3. **Advanced CLI Enhancements:** - **Toggle "Secret" Mode via CLI:** - **Description:** Allow users to enable or disable "secret" mode directly through the CLI. @@ -454,42 +395,3 @@ For any questions, suggestions, or support, please open an issue on the [GitHub - **Automatic Nostr Profile Generation and Index Retrieval:** - **Description:** During the initial setup or first login, generate a Nostr profile and attempt to retrieve and decrypt any existing index data from Nostr. - **Usage Example:** `passmgr setup` (handles internally) -======= -3. **Batch Post Index Items to Nostr (`batch-post`):** - - **Purpose:** Publishes segments of the index (e.g., 10 items per post) to Nostr to manage large databases efficiently. - - **Usage Examples:** - - Post indexes 0-9: `passmgr batch-post --start 0 --end 9` - - Post indexes 10-19: `passmgr batch-post --range 10-19` - -4. **Show All Passwords (`show-all`):** - - **Purpose:** Displays all stored passwords along with their index entries. - - **Usage Example:** `passmgr show-all` - -5. **Add Notes to an Entry (`add-notes`):** - - **Purpose:** Adds or updates the "Notes" field for a specific password entry. - - **Usage Example:** `passmgr add-notes --index 3 --notes "This is a secured account"` - -6. **Add Tags to an Entry (`add-tags`):** - - **Purpose:** Adds or updates the "Tags" field for a specific password entry. - - **Usage Example:** `passmgr add-tags --index 3 --tags "personal,finance"` - -7. **Search by Tag or Title (`search-by`):** - - **Purpose:** Enables searching for password entries based on tags or titles. - - **Usage Examples:** - - Search by tag: `passmgr search-by --tag "work"` - - Search by title: `passmgr search-by --title "GitHub"` - -8. **Initialize Seed (First Run) (`init-seed`):** - - **Purpose:** Handles the initial setup of the seed during the first run of the application, allowing users to either generate a new seed or import an existing one. - - **Usage Examples:** - - Generate a new seed: `passmgr init-seed --generate` - - Import an existing seed: `passmgr init-seed --import "your-existing-seed-phrase"` - -9. **Generate Nostr Profile and Retrieve Data (`setup-nostr`):** - - **Purpose:** Automates the generation of a Nostr profile upon the first login and retrieves any existing encrypted index data from specified relays. - - **Usage Example:** `passmgr setup-nostr` - ---- - - ->>>>>>> Stashed changes