Metadata-Version: 2.4
Name: mycloudctl
Version: 1.0.2
Summary: Official CLI for myCloud — your personal cloud storage
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: typer[all]>=0.12
Requires-Dist: rich>=13.7
Requires-Dist: httpx>=0.27

# myCloud CLI

myCloud is a full-stack personal cloud platform that supports file storage, folder management, sharing, file previews, stash/recovery workflows, monitoring dashboards, and optional storage-node workflows. 

The `mycloud` CLI allows you to interact with your personal cloud directly from your terminal, offering a seamless and efficient way to manage your files and account without needing to open a web browser.

## Installation

You can install the myCloud CLI via pip:

```bash
pip install mycloudctl
```

After installation, the `mycloud` command will be available in your terminal. Alternatively, you can use the standalone executable (`mycloud-cli.exe`).

## Command Reference

The CLI commands are grouped by their functionality to help you easily find what you need.

### 🔐 Authentication
Manage your myCloud session and account.
- `mycloud login`: Sign in to your myCloud account.
- `mycloud logout`: Sign out and clear your current session.
- `mycloud whoami`: Display the currently logged-in user and session details.
- `mycloud register`: Register a new myCloud account directly from the terminal.

### 📄 File Operations
Core file management capabilities.
- `mycloud ls [folder_id]`: List files and folders in the root directory, or a specified folder.
- `mycloud upload <file>`: Upload a local file to myCloud. (Use `--stash` to upload it directly to your stash).
- `mycloud download <id>`: Download a specific file by its ID.
- `mycloud download-all [folder_id]`: Download all files in a folder.
- `mycloud rm <id>`: Delete a file.
- `mycloud rm-all [folder_id]`: Delete all files in a folder.
- `mycloud rename <id> <new_name>`: Rename an existing file.
- `mycloud mv <id> <folder_id>`: Move a file into a different folder.
- `mycloud info <id>`: Show detailed metadata for a file (size, creation date, type, etc.).
- `mycloud cat <id>`: Print the contents of a text file directly to the terminal.
- `mycloud favorite <id>` (or `mycloud fav <id>`): Toggle the favorite status of a file.

### 📁 Folder Operations
Organize your files using folders.
- `mycloud mkdir <name>`: Create a new folder.
- `mycloud rmdir <id>`: Delete a folder.
- `mycloud folders ls`: List all your folders.
- `mycloud folders rename <id> <new_name>`: Rename a folder.

### 🔍 Search
- `mycloud find <query>`: Search your entire cloud for files and folders matching the name.

### 🗑️ Stash (Recycle Bin)
Manage temporarily deleted files.
- `mycloud stash ls`: List all items currently in your stash.
- `mycloud stash restore <id>`: Restore a stashed item back to its original location.
- `mycloud stash empty`: Empty the stash permanently, deleting files forever.

### 🔗 Sharing
Share files with other users or create public links.
- `mycloud share create <file_id>`: Create a shareable link for a file.
- `mycloud share ls`: List all your currently active shared items.
- `mycloud share rm <share_id>`: Revoke and remove a share link.
- `mycloud share direct <file_id> <username>`: Directly share a file with another registered myCloud user.

### 📦 Batch Operations
Group multiple files and folders into a single shareable link.
- `mycloud batch create`: Create a new batch share link.
- `mycloud batch add <batch_id> <file_id>`: Add a file or folder to an existing batch share.

### 🖥️ Servers / Nodes
Manage your private storage nodes.
- `mycloud servers ls`: List all your registered private storage nodes and their statuses.

### 📊 Storage & Stats
Monitor your storage usage.
- `mycloud stats` (or `mycloud storage stats`): Show current storage usage, total capacity, and limits.
- `mycloud storage breakdown`: View a detailed breakdown of your storage consumption by file type.

### 🔔 Notifications
Stay updated with account activities.
- `mycloud notify ls`: List your recent account notifications.
- `mycloud notify read <id>`: Mark a specific notification as read.
- `mycloud notify read-all`: Mark all pending notifications as read.

### 👤 Profile & Preferences
Customize your account settings.
- `mycloud profile view`: View your profile information.
- `mycloud profile update-avatar <image_path>`: Set or update your profile picture.
- `mycloud prefs ls`: Show your current user preferences.
- `mycloud prefs set <key> <value>`: Update a specific preference.

---
*Built for power users who want their personal cloud accessible right from the command line.*
