bfree 0.1.3

A better free, human by default
Documentation
# bfree

A better `free`, human by default. Inspired by tools like `btop`, `bfree` gives you memory and swap stats in a clean one-line summary.

`bfree` is a lightweight Rust CLI that provides a clearer, human-oriented view of Linux memory and swap usage.

It keeps the speed and simplicity of `free` while improving readability and presenting practical memory semantics by default.

## Features

- Human-readable sizes and percentages
- Multiple output modes: `compact` (default), `extended`, and `pretty`
- Linux-native data source: `/proc/meminfo`
- Small dependency surface and fast startup

## Installation

### From source

```bash
git clone https://github.com/glexposito/bfree
cd bfree
cargo build --release
./target/release/bfree
```

### Arch Linux (AUR)

Release publishing to AUR is automated by the project release workflow.

```bash
<aur-helper> -S bfree
```

## Usage

```bash
bfree
```

```bash
bfree --extended
```

```bash
bfree --pretty
```

## Output Semantics

`bfree` currently uses the following memory model:

- `used = MemTotal - MemAvailable`
- `cache = Cached + SReclaimable - Shmem` (effective reclaimable cache)
- `avail = MemAvailable`

## Project Status

Implemented:

- Linux `/proc/meminfo` parser with typed error handling
- Compact, extended, and pretty renderers
- Unit tests for memory math and render behavior
- CI for pushes and pull requests
- Release automation for GitHub releases and AUR updates

Planned:

- Fedora COPR packaging and publish pipeline
- Container/cgroup-aware mode
- PSI (Pressure Stall Information) support

## Development

```bash
cargo run --
```

```bash
cargo test --all-targets --all-features
```

## Contributing

Issues and pull requests are welcome.

## License

MIT License. See [LICENSE](LICENSE).