Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions extensions/shelve/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules

# Raycast specific files
raycast-env.d.ts
.raycast-swift-build
.swiftpm
compiled_raycast_swift
compiled_raycast_rust

# misc
.DS_Store
.claude
CLAUDE.md
4 changes: 4 additions & 0 deletions extensions/shelve/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 120,
"singleQuote": false
}
7 changes: 7 additions & 0 deletions extensions/shelve/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Shelve Changelog

## [Initial Release] - {PR_MERGE_DATE}

Added the initial version of Shelve for Raycast with the following commands:
- `Encrypt` command for creating secure, encrypted secrets with customizable expiration times and read limitations
- `Decrypt` command for securely decrypting and accessing shared secrets
28 changes: 28 additions & 0 deletions extensions/shelve/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<p align="center">
<img src="./assets/extension-icon.png" width="200" height="200" />
</p>

# Shelve - Secure Secret Sharing

This is an extension for [vault.shelve.cloud](https://vault.shelve.cloud/). Shelve makes it easy to securely share sensitive information such as passwords, API keys, or other secrets without requiring an account. Set expiration times, control read limits, and ensure encrypted transmission.

- **Secure Encryption**: All secrets are encrypted before transmission
- **Expiration Control**: Set automatic expiration (1 day, 7 days, 30 days, or indefinitely)
- **Read Limits**: Control how many times a secret can be accessed (1-100 reads)
- **No Account Required**: Share secrets without creating accounts or logging in

### Sharing a Secret

1. Open Raycast and search for "Encrypt"
2. Enter your secret text, password, or sensitive information
3. Set the maximum number of reads (1-100)
4. Choose when it expires (1d, 7d, 30d, or indefinitely)
5. Click "Encrypt Secret"
6. A secure URL is automatically copied to your clipboard

### Retrieving a Secret

1. Open Raycast and search for "Decrypt"
2. Paste the vault URL you received (or just the secret ID)
3. Click "Decrypt Secret"
4. The secret is automatically decrypted and copied to your clipboard
Binary file added extensions/shelve/assets/extension-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions extensions/shelve/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import raycastConfig from "@raycast/eslint-config";
import { defineConfig } from "eslint/config";

export default defineConfig([...raycastConfig]);
Binary file added extensions/shelve/metadata/screenshot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/shelve/metadata/screenshot-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/shelve/metadata/screenshot-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading