# Requirements for aki-stats

## Project Overview

`aki-stats` is a command-line utility to output statistics of text, similar to the `wc` command in Linux. It is written in Rust.

## Functional Requirements

- Read text from standard input or files.
- Calculate and display statistics about the text, such as:
    - Line count
    - Word count
    - Character count
    - Other potential metrics (based on dependencies)

## Non-Functional Requirements

- The tool should be performant.
- It should be buildable on stable Rust.
- It should be cross-platform (as indicated by the CI configuration for macos, ubuntu, and windows).

## Dependencies

### Main Dependencies
- **anyhow**: For flexible error handling.
- **flood-tide**: A data-driven text processing library.
- **num-format**: For formatting numbers with separators.
- **runnel**: A library for processing data streams.
- **memx-cdy**: A library for memory operations.

### Development Dependencies
- **indoc**: For creating indented string literals in tests.
- **exec-target**: For executing commands in tests.

### Build Dependencies
- **rust-version-info-file**: For embedding Rust version information at build time.
