# ⚡ cry CLI
A fast, cross-platform package manager built with Rust.
## Installation
### Download binary (recommended)
Download the latest binary for your platform from [cry.dev/install](https://cry.dev/install).
```bash
# Linux / Termux (Android)
# Windows (PowerShell)
### Build from source
```bash
# Requires Rust (https://rustup.rs)
git clone https://github.com/cry-dev/cry
cd cry/cli
cargo build --release
# Binary at: ./target/release/cry
```
### Termux (Android)
```bash
pkg install rust
git clone https://github.com/cry-dev/cry
cd cry/cli
cargo build --release
cp target/release/cry $PREFIX/bin/
```
## Commands
| `cry install <pkg>` | Install a package |
| `cry add <pkg>` | Alias for install |
| `cry remove <pkg>` | Remove a package |
| `cry uninstall <pkg>` | Alias for remove |
| `cry update [pkg]` | Update package(s) |
| `cry search <query>` | Search the registry |
| `cry info <pkg>` | Show package details |
| `cry init` | Create cry.json |
| `cry login <token>` | Login with token from cry.dev |
| `cry logout` | Remove stored token |
| `cry whoami` | Show logged in user |
| `cry publish` | Publish current package |
## cry.json
```json
{
"name": "my-package",
"version": "0.1.0",
"description": "My awesome package",
"author": "you",
"license": "MIT",
"dependencies": {
"some-lib": "^1.2.0"
}
}
```
## Version syntax
```bash
cry install mylib # latest
cry install mylib@1.2.0 # exact version
cry install mylib@^1.0.0 # compatible with 1.x
```
## Publishing
1. Create an account at [cry.dev](https://cry.dev)
2. Generate a token at [cry.dev/tokens](https://cry.dev/tokens)
3. Login: `cry login <your-token>`
4. Publish: `cry publish`
## Cross-compilation
```bash
# Install cross
cargo install cross
# Windows (from Linux)
cross build --release --target x86_64-pc-windows-gnu
# Linux ARM64 (Termux)
cross build --release --target aarch64-unknown-linux-gnu
# Linux x86_64
cargo build --release --target x86_64-unknown-linux-gnu
```