### Install and Verify Puter CLI
Source: https://context7.com/heyputer/puter-cli/llms.txt
Install the Puter CLI globally using npm and verify the installation by checking the version.
```bash
# Install globally
npm install -g puter-cli
# Verify installation
puter --version
```
--------------------------------
### Create and Deploy Static Site Example
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Example demonstrating the creation of a directory, followed by creating and deploying a static site with a specified subdomain.
```bash
puter> mkdir my-site
puter> site:create my-site --subdomain=myapp
```
--------------------------------
### Install Puter-CLI
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Install the Puter CLI globally using npm. Ensure Node.js v20+ and npm v7+ are installed.
```bash
npm install -g puter-cli
```
--------------------------------
### Check Puter-CLI Installation
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Verify the Puter CLI installation by checking its version.
```bash
puter --version
```
--------------------------------
### Install Dependencies
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Installs project dependencies using npm.
```bash
npm install
```
--------------------------------
### Set Environment Variables
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Copies the example environment file and instructs to update it with personal values.
```bash
cp .env.example .env
# update your own values in .env file
```
--------------------------------
### Initialize New Puter Web App
Source: https://context7.com/heyputer/puter-cli/llms.txt
Scaffold a new Puter web application locally using an interactive wizard. Generates project files and supports various CDN-based or bundler-based setups with framework/library selection.
```bash
puter init
# Prompts:
# ? What is your app name? (clever-river-4521)
# ? Do you want to use a JavaScript bundler? No (Use CDN)
# ? Select a JavaScript framework/library (CDN): React
# ? Select a CSS framework/library (CDN): Bootstrap
# Creates directory structure:
# clever-river-4521/
# index.html ← includes React + Bootstrap CDN tags
```
--------------------------------
### Start Interactive Shell
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Launches an interactive shell. Requires login. Can also be started by simply typing `puter`.
```bash
puter [shell]
```
```bash
puter
```
--------------------------------
### Get Application Details
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays all non-null metadata fields for a specific app by name.
```bash
puter> app myapp
# Prints all non-null fields, e.g.:
# name: myapp
# title: myapp
# index_url: https://myapp-abc1.puter.site
# uid: a1b2c3d4-...
# created_at: 2025-01-15T09:00:00Z
```
--------------------------------
### Link CLI Globally
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Links the CLI globally on the system after installation.
```bash
npm link
```
--------------------------------
### Get Service Usage Info
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Fetch detailed usage information for various services.
```bash
puter> usage
```
--------------------------------
### Start Puter Interactive Shell
Source: https://context7.com/heyputer/puter-cli/llms.txt
Launch a persistent interactive shell with an auto-updating prompt that shows the current remote working directory. Supports file and app commands, command history, and host-machine command passthrough.
```bash
# Launch shell (also triggered by running `puter` with no arguments)
puter shell
# Shell prompt format:
# puter@johndoe/myproject>
# Run a host-machine command from inside the shell
puter@johndoe> !ls -la
# Navigate history
puter@johndoe> history # list all previous commands
puter@johndoe> history 3 # re-insert command #3 into the prompt
# Exit
puter@johndoe> exit
```
--------------------------------
### Get User Information
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Display information about the currently logged-in user.
```bash
puter> whoami
```
--------------------------------
### app — Get application details
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays all non-null metadata fields for a specific app by name.
```APIDOC
## app — Get application details
Displays all non-null metadata fields for a specific app by name.
### Usage
```bash
puter> app myapp
```
### Output Example
```
name: myapp
title: myapp
index_url: https://myapp-abc1.puter.site
uid: a1b2c3d4-...
created_at: 2025-01-15T09:00:00Z
```
```
--------------------------------
### Get File/Directory Metadata
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays detailed metadata for a remote path, including name, path, type, size, timestamps, writability, and owner.
```bash
puter> stat my-app/index.html
# File/Directory Information:
# ----------------------------------------
# Name: index.html
# Path: /johndoe/my-app/index.html
# Type: File
# Size: 4.2 KB
# Created: 1/10/2025, 9:00:00 AM
# Modified: 1/15/2025, 3:22:10 PM
# Writable: Yes
# Owner: johndoe
```
--------------------------------
### Initialize Puter Project
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Create a new Puter project. This command does not require prior login.
```bash
puter init
```
--------------------------------
### List Applications
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Lists all applications. Use `help apps` for more details on arguments.
```bash
puter> apps [period]
```
--------------------------------
### Create a New Hosted Web Application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Creates a Puter app, provisions an AppData directory, generates a subdomain, and uploads an index.html or copies files from a local directory. Can be run non-interactively from the system terminal.
```bash
# Create app with auto-generated home page
puter> app:create myapp
# Create app from an existing remote directory
puter> app:create myapp /johndoe/projects/myapp
# With description and custom URL
puter> app:create myapp --description="My awesome app" --url=https://myapp.puter.site
# Non-interactive (from system terminal)
puter app create myapp ./local-dir
# Expected output:
# App "myapp" created successfully!
# AppName: myapp
# UID: a1b2c3d4-...
# App deployed successfully at:
# https://myapp-abc1.puter.site
```
--------------------------------
### Create Directory
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Create a new directory.
```bash
puter> mkdir
```
--------------------------------
### Create Application
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Creates a new application. Optionally specify a directory to copy files from. A subdomain with a random UID prefixed by the app name will be created.
```bash
puter> app:create [] [--description="My App Description"] [--url=]
```
```bash
$> puter app:create [] [--description="My App Description"] [--url=]
```
--------------------------------
### site:create — Create a static site from a remote directory
Source: https://context7.com/heyputer/puter-cli/llms.txt
Links a remote Puter directory to a `*.puter.site` subdomain. If the subdomain is already taken and owned by you, it re-links to the new directory.
```APIDOC
## site:create — Create a static site from a remote directory
Links a remote Puter directory to a `*.puter.site` subdomain. If the subdomain is already taken and owned by you, it re-links to the new directory.
### Usage
```bash
puter> site:create my-website
puter> site:create my-website /johndoe/www
puter> site:create my-website --subdomain=awesome-site
```
### Output Example
```
# New generated subdomain: "my-website" will be used if its not already in use.
# Hosting site "my-website" under subdomain "my-website"...
# Site my-website created successfully and accessible at:
# https://my-website.puter.site
```
```
--------------------------------
### Create Static Site
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Creates a static website from a directory. If the subdomain already exists, a new random one will be generated. A custom subdomain can be specified.
```bash
puter> site:create [] [--subdomain=]
```
--------------------------------
### List All Applications
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays a table of all Puter apps, including title, name, creation date, subdomain, and user/open counts. Accepts a stats period filter (e.g., 'today', '30d').
```bash
puter> apps
puter> apps today
puter> apps 30d
# Output (table):
# ┌─────┬────────────────────┬──────────────────────┬───────────────────┬────────────────────────────┬────────┬────────┐
# │ # │ Title │ Name │ Created │ Subdomain │ #Open │ #User │
# ├─────┼────────────────────┼──────────────────────┼───────────────────┼────────────────────────────┼────────┼────────┤
# │ 0 │ myapp │ myapp │ Jan 15, 2025 │ myapp-abc1 │ 42 │ 7 │
# └─────┴────────────────────┴──────────────────────┴───────────────────┴────────────────────────────┴────────┴────────┘
# You have in total: 1 application(s).
```
--------------------------------
### List all hosted sites
Source: https://context7.com/heyputer/puter-cli/llms.txt
Shows a table of all your subdomains with UID, URL, creation date, protection status, and linked directory. Use the UID for other site management commands.
```bash
puter> sites
# Your Sites:
# ┌───┬──────────────┬────────────────────────────┬──────────────┬───────────┬────────────────┐
# │ # │ UID │ Subdomain │ Created │ Protected │ Directory │
# ├───┼──────────────┼────────────────────────────┼──────────────┼───────────┼────────────────┤
# │ 0 │ sd-abc12345 │ my-app.puter.site │ Jan 15, 2025 │ No │ app-abc1-...-f │
# └───┴──────────────┴────────────────────────────┴──────────────┴───────────┴────────────────┘
# Total Sites: 1
```
--------------------------------
### Create Static Site from Remote Directory
Source: https://context7.com/heyputer/puter-cli/llms.txt
Links a remote Puter directory to a *.puter.site subdomain. If the subdomain is already taken and owned by you, it re-links to the new directory.
```bash
puter> site:create my-website
puter> site:create my-website /johndoe/www
puter> site:create my-website --subdomain=awesome-site
# New generated subdomain: "my-website" will be used if its not already in use.
# Hosting site "my-website" under subdomain "my-website"...
# Site my-website created successfully and accessible at:
# https://my-website.puter.site
```
--------------------------------
### app:create — Create a new hosted web application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Creates a Puter app record, provisions an `AppData` directory, generates a subdomain, and uploads an `index.html` or copies files from a local directory.
```APIDOC
## app:create — Create a new hosted web application
Creates a Puter app record, provisions an `AppData` directory, generates a subdomain, and uploads an `index.html` (or copies files from a local directory).
### Usage
```bash
# Create app with auto-generated home page
puter> app:create myapp
# Create app from an existing remote directory
puter> app:create myapp /johndoe/projects/myapp
# With description and custom URL
puter> app:create myapp --description="My awesome app" --url=https://myapp.puter.site
# Non-interactive (from system terminal)
puter app create myapp ./local-dir
```
### Expected output
```
App "myapp" created successfully!
AppName: myapp
UID: a1b2c3d4-...
App deployed successfully at:
https://myapp-abc1.puter.site
```
```
--------------------------------
### Create File
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Create a new empty file in the current directory.
```bash
puter> touch
```
--------------------------------
### General Help
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Displays a list of available commands. Can be used both in the terminal and within the interactive shell.
```bash
puter help
```
```bash
puter> help
```
--------------------------------
### Deploy Static Site
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Deploys a static website from the current local directory to a remote directory. If no remote directory is specified, it deploys to the current directory on the remote instance. All files in the remote directory will be overwritten. The subdomain is generated from the app name if not provided.
```bash
puter> site:deploy [] [--subdomain=]
```
--------------------------------
### Authenticate with Puter CLI
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Authenticates the user with the Puter service. The first option opens a browser for authentication, while the second uses username/password credentials.
```bash
puter login
```
```bash
puter login --with-credentials
```
--------------------------------
### Authenticate with Puter CLI
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Log in to your Puter account. Use the --save flag to store the authentication token in a .env file.
```bash
puter login [--save]
```
--------------------------------
### Create Remote File with `touch`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Creates an empty file or a file with initial content at the specified remote path. Automatically creates any missing parent directories.
```bash
puter> touch index.html
puter> touch notes.txt "Hello, world!"
```
--------------------------------
### List Files and Directories
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
List files and directories within the current or a specified directory.
```bash
puter> ls [dir]
```
--------------------------------
### Deploy local directory to Puter
Source: https://context7.com/heyputer/puter-cli/llms.txt
Syncs a local directory to a new remote deployment folder and creates/updates the site binding. Ideal for CI/CD or repeated deploys. Supports random or named subdomains.
```bash
# Deploy current directory with random subdomain
puter> site:deploy .
# Deploy ./dist with a named subdomain
puter> site:deploy ./dist --subdomain=my-app
# From system terminal (non-interactive)
puter site deploy ./dist my-app
# Output:
# Deploying './dist' to 'my-app.puter.site'...
# Starting synchronization...
# Uploading "index.html"...
# Uploading "styles.css"...
# Synchronization complete!
# Deployment successful!
```
--------------------------------
### List Hosted Sites
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Lists all hosted sites. The `` can be found in the output of this command.
```bash
puter> sites
```
--------------------------------
### List Files
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Lists files in the current or a specified directory.
```bash
puter> ls
```
```bash
puter> ls /
```
--------------------------------
### Authenticate with Puter CLI
Source: https://context7.com/heyputer/puter-cli/llms.txt
Log in to the Puter Cloud Platform using browser-based OAuth or username/password credentials. Supports saving tokens to .env and connecting to self-hosted instances.
```bash
# Browser-based login (opens browser tab automatically, 60-second timeout)
puter login
# Credential-based login (username + password, supports 2FA prompts)
puter login --with-credentials
# Login and save token to .env as PUTER_API_KEY
puter login --save
# Login against a self-hosted Puter instance
puter login --host https://my-puter.example.com
# Expected output on success:
# ✔ Successfully logged in as johndoe!
```
--------------------------------
### apps — List all applications
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays a table of all your Puter apps with title, name, creation date, subdomain, open count, and user count. Accepts a stats period filter.
```APIDOC
## apps — List all applications
Displays a table of all your Puter apps with title, name, creation date, subdomain, open count, and user count. Accepts a stats period filter.
### Usage
```bash
puter> apps
puter> apps today
puter> apps 30d
```
### Output Example (table)
```
┌─────┬────────────────────┬──────────────────────┬───────────────────┬────────────────────────────┬────────┬────────┐
│ # │ Title │ Name │ Created │ Subdomain │ #Open │ #User │
├─────┼────────────────────┼──────────────────────┼───────────────────┼────────────────────────────┼────────┼────────┤
│ 0 │ myapp │ myapp │ Jan 15, 2025 │ myapp-abc1 │ 42 │ 7 │
└─────┴────────────────────┴──────────────────────┴───────────────────┴────────────────────────────┴────────┴────────┘
You have in total: 1 application(s).
```
```
--------------------------------
### Check Disk Usage
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Display information about the disk usage on the Puter instance.
```bash
puter> df
```
--------------------------------
### Clone Repository
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Clones the puter-cli repository from GitHub.
```bash
git clone https://github.com/HeyPuter/puter-cli.git
cd puter-cli
```
--------------------------------
### Override API endpoints with .env
Source: https://context7.com/heyputer/puter-cli/llms.txt
Create a `.env` file in the working directory to target a self-hosted Puter instance or a custom API base. PUTER_API_KEY is automatically saved when using `puter login --save`.
```bash
# .env
PUTER_API_BASE=https://api.my-puter.example.com
PUTER_BASE_URL=https://my-puter.example.com
# PUTER_API_KEY is written automatically when using `puter login --save`
PUTER_API_KEY=your_auth_token_here
```
--------------------------------
### Check Disk Usage
Source: https://context7.com/heyputer/puter-cli/llms.txt
Reports the total capacity, used space, free space, and usage percentage for the authenticated account.
```bash
puter> df
# Disk Usage Information:
# ----------------------------------------
# Total Capacity: 10.0 GB
# Used Space: 1.2 GB
# Free Space: 8.8 GB
# Usage Percentage: 12.00%
```
--------------------------------
### Update an Existing Application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Copies files from a remote source directory into the app's AppData subdomain directory, overwriting existing files.
```bash
puter> app:update myapp /johndoe/projects/myapp
# Updating app: "myapp" from directory: /johndoe/projects/myapp
# Copying 5 files from: /johndoe/projects/myapp
# To destination: /johndoe/AppData//app-
# App updated successfully at:
# https://myapp-abc1.puter.site
```
--------------------------------
### Command Help
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Displays detailed help for a specific command. Can be used both in the terminal and within the interactive shell.
```bash
puter help
```
```bash
puter> help
```
--------------------------------
### Push Files to Remote
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Copy files from the host machine to the remote cloud instance. Supports basic wildcards.
```bash
puter> push
```
--------------------------------
### Display Current User Info
Source: https://context7.com/heyputer/puter-cli/llms.txt
Fetch and display the authenticated user's profile, feature flags, and account metadata from the Puter API. This command is used within the interactive shell.
```bash
# Inside the interactive shell
puter> whoami
# Expected output:
# User Information:
# ----------------------------------------
# Username: johndoe
# UUID: a1b2c3d4-...
# Email: john@example.com
# Email Confirmed: Yes
# Temporary Account: No
# Account Age: 3 months
# ----------------------------------------
# Feature Flags:
# - some_flag: Enabled
```
--------------------------------
### List Remote Files with `ls`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Lists files and directories in the specified remote path. Supports detailed output including type, permissions, size, modification time, and UID.
```bash
puter> ls
puter> ls /johndoe/projects
```
--------------------------------
### Upload Local Files with `push`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Uploads local files (glob patterns supported) to the current remote directory or a specified remote path. Creates necessary remote directories.
```bash
# Upload a single file to CWD
puter> push ./dist/index.html
# Upload all HTML files to a specific remote directory
puter> push ./dist/*.html /johndoe/mysite
```
--------------------------------
### Copy Files or Directories
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Copy files or directories from a source to a destination.
```bash
puter> cp
```
--------------------------------
### Change Directory
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Navigate to a different directory. Supports basic wildcards and case-insensitive matching.
```bash
puter> cd [dir]
```
--------------------------------
### Create Remote Directory with `mkdir`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Creates a new directory in the current working directory. Uses `dedupeName: true` to automatically resolve duplicate names.
```bash
puter> mkdir my-new-folder
```
--------------------------------
### Update Application
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Updates an existing application. All existing files will be overwritten, new files are copied, and others are ignored.
```bash
puter> app:update
```
--------------------------------
### View Monthly API Usage Report
Source: https://context7.com/heyputer/puter-cli/llms.txt
Display a detailed breakdown of Puter API calls, costs, remaining allowance, and per-application totals for the current billing month. This command is used within the interactive shell.
```bash
puter> usage
# Expected output (truncated):
# Allowance Information:
# ====================================================================================================
# Month Usage Allowance: 1,000,000
# Remaining: 987,432
# Used: 1.26%
# ====================================================================================================
# API Usage:
# API Count Cost Units
# ====================================================================================================
# openai-completion 3 12,568 12,568
```
--------------------------------
### Synchronize Directories with `update`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Compares local and remote directories, syncing changes bidirectionally. Supports recursive sync, remote deletion of stale files, overwriting on conflict, and interactive conflict resolution.
```bash
# Basic sync (non-recursive)
puter> update ./my-app /johndoe/my-app
# Recursive sync with remote deletion of stale files
puter> update ./my-app /johndoe/my-app --delete -r
# Overwrite remote with local version on conflict
puter> update ./my-app /johndoe/my-app --delete -r --overwrite
```
--------------------------------
### Move or Rename Files/Directories
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Move or rename files or directories.
```bash
puter> mv
```
--------------------------------
### Copy Remote Files/Directories with `cp`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Copies a file or recursively copies a directory to a new remote location.
```bash
puter> cp index.html backup/index.html
puter> cp /johndoe/src /johndoe/src-backup
```
--------------------------------
### Download Remote Files with `pull`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Downloads files matching a remote pattern to the local filesystem. Creates local directories as needed.
```bash
# Download a specific remote file to the current local directory
puter> pull report.pdf
# Download all remote .js files
puter> pull *.js ./local-backup/
```
--------------------------------
### Pull Files from Remote
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Copy files from the remote cloud instance to the host machine. Supports basic wildcards.
```bash
puter> pull
```
--------------------------------
### app:update — Update an existing application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Copies files from a remote source directory into the app's `AppData` subdomain directory, overwriting existing files.
```APIDOC
## app:update — Update an existing application
Copies files from a remote source directory into the app's `AppData` subdomain directory, overwriting existing files.
### Usage
```bash
puter> app:update myapp /johndoe/projects/myapp
```
### Output Example
```
# Updating app: "myapp" from directory: /johndoe/projects/myapp
# Copying 5 files from: /johndoe/projects/myapp
# To destination: /johndoe/AppData//app-
# App updated successfully at:
# https://myapp-abc1.puter.site
```
```
--------------------------------
### Edit Remote File with Local Editor
Source: https://context7.com/heyputer/puter-cli/llms.txt
Downloads a remote file, opens it in the system's default editor, and uploads the changes upon saving. The editor can be specified using the EDITOR environment variable.
```bash
puter> edit config.json
# Fetching file: /johndoe/config.json
# File fetched: /johndoe/config.json (1.5 KB bytes)
# Opening file with vim...
# [editor opens — make edits and save]
# Uploading changes...
# File saved: /johndoe/config.json
# Use a different editor:
export EDITOR=nano
puter> edit config.json
```
--------------------------------
### Delete an Application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Deletes the app record and its associated subdomain. Prompts for confirmation unless the -f flag is used.
```bash
puter> app:delete myapp
# ? Are you sure you want to delete "myapp"? (y/N) y
# App "myapp" deleted successfully!
puter> app:delete myapp -f # skip confirmation
```
--------------------------------
### edit — Edit a remote file in a local editor
Source: https://context7.com/heyputer/puter-cli/llms.txt
Downloads the remote file to a temp directory, opens it in the system editor, then uploads the saved changes back to Puter.
```APIDOC
## edit — Edit a remote file in a local editor
Downloads the remote file to a temp directory, opens it in the system editor (default: `vim`, overridable via `$EDITOR`), then uploads the saved changes back to Puter.
### Usage
```bash
puter> edit config.json
```
### Example with different editor
```bash
export EDITOR=nano
puter> edit config.json
```
```
--------------------------------
### Log out from Puter CLI
Source: https://context7.com/heyputer/puter-cli/llms.txt
Sign out of the Puter Cloud Platform by removing the current profile's authentication token from local configuration.
```bash
puter logout
# ✔ Successfully logged out from Puter!
```
--------------------------------
### Display File Statistics
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Displays statistics for a specified file or directory.
```bash
puter> stat /path/to/file/or/directory
```
--------------------------------
### Synchronize Files
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Perform bidirectional synchronization between local and remote directories. Use --delete to remove non-existent local files from remote, and -r for recursive synchronization.
```bash
puter> update [--delete] [-r]
```
--------------------------------
### df — Disk usage
Source: https://context7.com/heyputer/puter-cli/llms.txt
Reports total capacity, used space, free space, and usage percentage for the authenticated account.
```APIDOC
## df — Disk usage
Reports total capacity, used space, free space, and usage percentage for the authenticated account.
### Usage
```bash
puter> df
```
### Output Example
```
# Disk Usage Information:
# ----------------------------------------
# Total Capacity: 10.0 GB
# Used Space: 1.2 GB
# Free Space: 8.8 GB
# Usage Percentage: 12.00%
```
```
--------------------------------
### Logout from Puter CLI
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Log out of your Puter account.
```bash
puter logout
```
--------------------------------
### Delete Files/Directories
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Move files or directories to the trash. Use -f to force deletion.
```bash
puter> rm [-f]
```
--------------------------------
### Change Remote Directory with `cd`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Navigates the remote working directory. Supports relative paths (`..`), home directory (`~`), absolute paths, and case-insensitive matching.
```bash
puter> cd projects
puter> cd ../other-dir
puter> cd ~ # returns to /username home dir
puter> cd /johndoe/AppData
```
--------------------------------
### Display Command History
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Displays the history of executed commands.
```bash
puter> history
```
--------------------------------
### Delete Application
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Deletes an application. The allocated subdomain will be looked up and deleted if it exists. Use -f to force deletion.
```bash
puter> app:delete [-f]
```
--------------------------------
### app:delete — Delete an application
Source: https://context7.com/heyputer/puter-cli/llms.txt
Deletes the app record and its associated subdomain. Prompts for confirmation unless `-f` is passed.
```APIDOC
## app:delete — Delete an application
Deletes the app record and its associated subdomain. Prompts for confirmation unless `-f` is passed.
### Usage
```bash
puter> app:delete myapp
# ? Are you sure you want to delete "myapp"? (y/N) y
# App "myapp" deleted successfully!
puter> app:delete myapp -f # skip confirmation
```
```
--------------------------------
### Empty Trash
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Permanently delete all items in the system's trash.
```bash
puter> clean
```
--------------------------------
### Read Remote File with `cat`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Downloads and prints the text content of a remote file to standard output.
```bash
puter> cat README.md
```
--------------------------------
### Interactive Shell File Deletion
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Demonstrates how to use the `rm` command in the Puter CLI's interactive shell. Use `-f` to force deletion without confirmation. Otherwise, the operation is interactive.
```bash
puter@username/myapp> rm README.md
The following items will be moved to Trash:
- /username/myapp/README.md
? Are you sure you want to move these 1 item(s) to Trash? (y/N) n
puter@username/myapp> Operation canceled.
```
```bash
username:~/home$ puter
puter@username/myapp> rm -f README.md
Successfully moved "/username/myapp/README.md" to Trash!
```
--------------------------------
### Copy Command from History
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Copies a previous command from history by its line number.
```bash
puter> history
```
--------------------------------
### Delete a hosted site
Source: https://context7.com/heyputer/puter-cli/llms.txt
Removes a subdomain/site record by its UID. The UID can be found using the `sites` command. Supports interactive confirmation.
```bash
puter> site:delete sd-abc12345
# From system terminal with confirmation prompt:
puter site delete sd-abc12345
# ? Are you sure you want to delete the site with UID "sd-abc12345"? (y/N) y
```
--------------------------------
### Delete Hosted Site
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Deletes a hosted site using its unique identifier.
```bash
puter> site:delete
```
--------------------------------
### Move or Rename Remote Files with `mv`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Moves a file or directory to an existing directory or renames it in place. The behavior depends on whether the destination path exists.
```bash
puter> mv old-name.txt new-name.txt # rename
puter> mv report.pdf /johndoe/archive/ # move into directory
```
--------------------------------
### stat — File/directory metadata
Source: https://context7.com/heyputer/puter-cli/llms.txt
Displays detailed metadata for a remote path, including name, path, type, size, timestamps, writability, and owner.
```APIDOC
## stat — File/directory metadata
Displays detailed metadata for a remote path: name, path, type, size, creation/modification timestamps, writability, and owner.
### Usage
```bash
puter> stat my-app/index.html
```
### Output Example
```
# File/Directory Information:
# ----------------------------------------
# Name: index.html
# Path: /johndoe/my-app/index.html
# Type: File
# Size: 4.2 KB
# Created: 1/10/2025, 9:00:00 AM
# Modified: 1/15/2025, 3:22:10 PM
# Writable: Yes
# Owner: johndoe
```
```
--------------------------------
### Delete File
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Deletes a specified file.
```bash
puter> rm /path/to/file
```
--------------------------------
### Edit Remote File
Source: https://github.com/heyputer/puter-cli/blob/master/README.md
Edit remote text files using your local default text editor. The file is downloaded, edited, and then uploaded back. Defaults to vim, configurable via EDITOR environment variable.
```bash
puter> edit
```
--------------------------------
### Delete Remote Files with `rm`
Source: https://context7.com/heyputer/puter-cli/llms.txt
Moves matched files or directories to the user's Trash. Supports glob patterns and interactive confirmation. Use `-f` to force deletion without a prompt.
```bash
puter> rm old-file.txt
puter> rm -f temp*.log # force-delete matching files without prompt
puter> rm -f /johndoe/old-dir
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.