quickstart/README.md

71 lines
No EOL
2.2 KiB
Markdown

# quickstart
A zero-configuration Rust CLI for instantly serving any local directory over HTTP.
## Features
- Static file serving with `index.html` fallback and directory listings
- Zero-configuration: serve the current directory immediately with sensible defaults
- Flexible options to override directory, port, and bind address
- Graceful shutdown on Ctrl+C
- Tiny release binary (~650KB)
## About
`quickstart` takes any local directory and serves it over HTTP ***instantly***, letting you:
- Bypass CORS restrictions when loading local files in browsers
- Easily test static websites or single-page apps without complex server configuration
- Quickly share files over your local network
## Installation
### Windows
- Download the latest executable from the [releases page](https://git.caileb.com/Caileb/quickstart/releases) and double-click it to auto-install; then follow the [Add to PATH](#add-to-path) instructions below, and delete the executable from your Downloads folder.
### From Source
```bash
git clone https://git.caileb.com/Caileb/quickstart.git
cd quickstart
cargo build --release
```
### Auto-Install Command
Use the built-in installer to copy `quickstart` into your user-local bin:
```bash
quickstart install
```
By default, this installs to:
- **Unix/macOS**: `$HOME/.quickstart/bin`
- **Windows**: `$env:USERPROFILE\.quickstart\bin` (same as double-click)
### Add to PATH
`quickstart` automatically attempts to add itself to your PATH on first run. If this succeeds, you'll see a confirmation message. **You may need to restart your terminal/IDE** for PATH changes to take effect.
If automatic setup fails, manually ensure your local bin directory is in your PATH:
**Windows (PowerShell)**
```powershell
$env:Path += ";$env:USERPROFILE\.quickstart\bin"
```
**Unix/macOS (bash/zsh)**
```bash
export PATH="$HOME/.quickstart/bin:$PATH"
```
## Usage
```bash
quickstart [OPTIONS]
```
## Examples
Serve the current directory on localhost port 8080:
```bash
quickstart
# Serving C:\Users\Caileb\Downloads at http://127.0.0.1:8080
```
Serve the `public` directory on port 3000:
```bash
quickstart -d public -p 3000
```
Serve on all network interfaces (for LAN sharing):
```bash
quickstart -b 0.0.0.0 -p 8080
```