urlendec 0.2.0

A command-line url encoder/decoder
Documentation
# Contributing to urlendec

Thank you for your interest in contributing. Here is everything you need to get started.

## Setting up

1. Install Rust via [rustup]https://rustup.rs/.
2. Clone the repository:

   ```sh
   git clone https://github.com/arcaartem/urlendec.git
   cd urlendec
   ```

3. Build the project:

   ```sh
   cargo build
   ```

## Running tests

```sh
cargo test
```

Tests live in two places:

- Unit tests in `src/lib.rs` — cover core encode/decode logic
- Integration tests in `tests/cli.rs` — exercise the binary end-to-end

## Code style

Before opening a pull request, run:

```sh
cargo fmt
cargo clippy -- -D warnings
```

Fix any warnings that `clippy` reports. CI enforces both.

## Branching and pull requests

- Create a feature branch off `main`:

  ```sh
  git checkout -b my-feature
  ```

- Open a pull request against `main` on GitHub.
- Keep pull requests focused — one logical change per PR.

## Commit messages

Use a short imperative subject line (under 72 characters), for example:

```
Add decode error handling
Fix stdin detection on Windows
Bump percent-encoding to 2.3
```

Avoid past tense ("Added", "Fixed") and vague messages ("Fix stuff").

## Reporting bugs

Open an issue at https://github.com/arcaartem/urlendec/issues. Include:

- The `urlendec` version (`urlendec --version`)
- The command you ran and the input you provided
- The actual output and the output you expected
- Your operating system and architecture

## Licensing

By submitting a contribution you agree that your work will be licensed under the
[MIT License](LICENSE), the same license as this project.