Initial Commit

This commit is contained in:
Caileb 2025-05-29 11:55:29 -05:00
commit af221bedf7
5 changed files with 1268 additions and 0 deletions

66
README.md Normal file
View file

@ -0,0 +1,66 @@
# 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 (<1MB)
## 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
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"
```
After updating, restart your terminal.
## Usage
```bash
quickstart [OPTIONS]
```
## Examples
Serve the current directory on port 8080:
```bash
quickstart
```
Serve the `public` directory on port 3000:
```bash
quickstart -d public -p 3000
```