
Security News
Free Certified Patch for Critical Rails Active Storage Vulnerability
Socket has released a free Certified Patch for a critical Rails Active Storage vulnerability, giving developers time to upgrade to a secure Rails version.
worktree.ca/worktree/cli
Advanced tools
A command-line interface for managing Worktree Cloud resources including static sites and S3-compatible object storage.
If you use the Homebrew package manager, you can use our official Tap to install wtc and receive updates. Both macOS and Linux are supported.
$ brew tap worktree/tap https://worktree.ca/worktree/homebrew-tap
$ brew install worktree/tap/wtc
Download the latest release from the repository Releases page. Each release publishes static binaries for Linux (AMD64, ARM64) and macOS (ARM64).
Put the wtc binary somewhere on your $PATH and you're ready to go.
make build
make install # Optional: install globally to /usr/local/bin
The CLI can be configured using either a YAML configuration file or environment variables. Environment variables take precedence over the configuration file.
Create a configuration file at ~/.config/worktree/cli.yaml:
profiles:
default:
public_key: your-default-public-key
secret_key: your-default-secret-key
region: qc-south-1
Note: The config file must contain a profiles section. At minimum, you need a default profile. Profiles can be named anything you wish, and you can add as many as required.
Use the --profile or -p flag:
wtc --profile work deploy
wtc -p personal storage cp file.txt bucket:path/file.txt
Or set the WTC_PROFILE environment variable:
export WTC_PROFILE=personal
wtc deploy
If no profile is specified, the default profile is used.
All configuration options can be set via environment variables with the WTC_ prefix:
export WTC_PUBLIC_KEY=your-public-key
export WTC_SECRET_KEY=your-secret-key
export WTC_REGION=qc-south-1
export WTC_PROFILE=personal # Optional: select profile
export WTC_CONFIG=/path/to/config.yaml # Optional: specify custom config file location
Environment variables always override profile and config file settings.
Deploy a directory as a static website using wtc deploy.
Create a deployment configuration file at .worktree/deploy.yaml in your project directory:
type: static-site
siteID: my-site-id
siteSource: ./dist
Then deploy with:
wtc deploy
You can override any configuration value using CLI flags:
wtc deploy --site-id my-site-id --site-source ./dist --type static-site
Or mix both approaches (flags override config file):
# Use config file for most settings, override site-id
wtc deploy --site-id different-site-id
This will:
Manage files in Worktree object storage:
wtc storage cp <local-file> <bucketID>:<remote-path>
Example:
wtc storage cp ./document.pdf my-bucket:documents/document.pdf
wtc storage download <bucketID>:<remote-path> <local-file>
Example:
wtc storage download my-bucket:documents/document.pdf ./document.pdf
wtc storage delete <bucketID>:<remote-path>
Example:
wtc storage delete my-bucket:documents/old-file.pdf
Upload all files from a local directory to a bucket with a prefix:
wtc storage sync <local-directory> <bucketID>:<remote-prefix>
Example:
wtc storage sync ./assets my-bucket:public/assets
Global flags available for all commands:
--config, -c: Path to config file (default: ~/.config/worktree/cli.yaml)--profile, -p: Config profile to use (default: default)--region: Cloud Region to use (overrides config)--public-key: WTC public key (overrides config)--secret-key: WTC secret key (overrides config)--api-endpoint: API endpoint (overrides config)Examples:
# Use a specific profile
wtc --profile personal deploy
wtc -p work storage cp file.txt bucket:path/file.txt
# Override credentials for a single command
wtc --public-key=my-key --secret-key=my-secret deploy
Run the test suite:
make test
Run tests with coverage report:
make test-coverage
FAQs
Unknown package

Security News
Socket has released a free Certified Patch for a critical Rails Active Storage vulnerability, giving developers time to upgrade to a secure Rails version.

Security News
/Threat Research
A malicious Ruby gem runs a credential-stealing worm during installation, poisons AI coding tools, and can wipe files when a stolen GitHub token is revoked.

Security News
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.