@qave/cli
v1.2.2
Published
Qave CLI - Search channels and messages from the command line
Readme
Qave CLI
A command-line interface for searching channels and messages in Qave.
Installation
# Run without installing globally
npx @qave/cli --help
bunx @qave/cli --help
yarn dlx @qave/cli --help
# Install globally (optional)
npm i -g @qave/cliQuick Start
# Set your API key (get it from Account Preferences)
qave auth login qave_sk_your_api_key_here
# List channels
qave channel list
# Search messages
qave channel search-messages "hello world"
# Get channel details
qave channel get <channel-id>Commands
Authentication
# Login with API key
qave auth login <api_key>
# Check authentication status
qave auth status
# Logout (remove stored API key)
qave auth logout
Channel Operations
All channel operations are under the channel command (alias: ch):
# List all channels
qave channel list
qave ch ls # shorthand
# List with pagination
qave channel list --limit 50
qave channel list --cursor <cursor>
# Get channel details
qave channel get <channel-id>
# Search channels by name
qave channel search "general"
qave ch find "general" # shorthand
# List messages in a channel
qave channel messages <channel-id>
qave ch msg <channel-id> # shorthand
# Delete your own message in a channel
qave channel delete-message <channel-id> <message-id>
qave ch rm <channel-id> <message-id>
# Create a channel
qave channel create "ops" --type private
qave ch new "general-voice" --type voice
# Invite members to a channel (comma-separated user IDs)
qave channel invite <channel-id> <user-id-1,user-id-2>
qave ch add-members <channel-id> <user-id-1,user-id-2>
# List all secrets
qave secrets list
qave secrets list --project backend --env production
qave secrets list --format json
qave secrets list --project backend --env production --format env
# Reveal a secret value
qave secrets get <project> <env> <key>
# Create or update a secret
qave secrets set <environment-id> <key> <value>
# List tasks
qave task list
# Create a task
qave task create "Fix login redirect" --priority high
# Update task status
qave task update <task-id> --status in_progress
# Get task details
qave task get <task-id>
# Delete a task
qave task delete <task-id>
# Search messages across all channels
qave channel search-messages "hello world"
qave ch sm "hello" # shorthand
qave ch grep "hello" # another shorthand
# Filter message search to specific channel
qave channel search-messages "hello" --channel <channel-id>Output Formats
All commands support JSON output:
qave channel list --json
qave ch sm "hello" --json | jq '.data[].message.contentText'Common Flags
| Flag | Alias | Description |
|------|-------|-------------|
| --limit | -l | Maximum number of results |
| --cursor | -c | Pagination cursor |
| --json | -j | Output as JSON |
| --help | -h | Show help |
Environment Variables
QAVE_API_KEY- API key (overrides stored config)QAVE_API_URL- API URL (overrides stored config)
Configuration
Config is stored at ~/.qave/config.json
{
"apiKey": "qave_sk_...",
"apiUrl": "https://app.localhost"
}Development
# Run in development mode
bun run dev --help
# Build
bun run buildRelease
This package can be published from GitHub Actions via .github/workflows/publish-cli.yml.
- Add a repository secret named
NPM_TOKENwith publish permission for@qave/cli - Trigger the workflow manually, or push a tag matching
cli-v*(for examplecli-v1.0.1)
