fclicache 1.0.2

fclicache is a command-line utility that caches the output of resource-intensive commands, enabling faster retrieval of results when the same commands are executed repeatedly within a specified Time-to-Live (TTL) period.
Documentation
![Unit Test and Lint Status](https://github.com/Miyoshi-Ryota/fclicache/actions/workflows/ci.yml/badge.svg)
[![Docs.rs](https://docs.rs/fclicache/badge.svg)](https://docs.rs/fclicache/latest/fclicache/)
[![Crates.io](https://img.shields.io/crates/v/fclicache.svg)](https://crates.io/crates/fclicache)

# fclicache - File-based Simple CLI Cache

fclicache is a command-line utility that caches the output of resource-intensive commands, enabling faster retrieval of results when the same commands are executed repeatedly within a specified Time-to-Live (TTL) period. This tool is designed to enhance efficiency and save time, particularly in development environments where certain commands are run frequently.

# Features

- **Efficient Caching:** Saves the output of CLI commands, avoiding repeated execution of time-consuming operations.
- **Time-to-Live (TTL):** Customizable cache duration to ensure the freshness of the cached data.
- **Simple Usage:** Easy to integrate into existing workflows with minimal configuration.

# Installation

Before installing fclicache, ensure you have Rust and Cargo installed on your system. If not, follow the installation guide here: https://www.rust-lang.org/tools/install.

To install fclicache, run the following command:

```bash
cargo install fclicache
```

# Usage

To cache the output of a command using fclicache, wrap the desired command as follows:

```bash
fclicache --ttl [SECONDS] '[COMMAND]'
```

The tool caches the output of [COMMAND] for the duration specified by [SECONDS].

## Example

```bash
# First execution: the 'sleep 10 && date' command will take approximately 10 seconds.
$ fclicache --ttl 3600 'sleep 10 && date'
Sat Feb 10 19:07:49 JST 2024

# Second execution: results are instantly retrieved from cache, showing the same output as the first execution.
$ fclicache --ttl 3600 'sleep 10 && date'
Sat Feb 10 19:07:49 JST 2024
```

## Note
fclicache utilizes a simple file-based caching mechanism. This means that your command's output is written to a file. Therefore, it is advised not to use this tool for commands that produce sensitive or secure output.

# Contributing
We are very open to any contributions! Your input is invaluable to us, and we strive to make incorporating your suggestions and improvements as seamless as possible.

- **Open to All:** Whether it's feature suggestions, bug reports, or code improvements, every contribution is welcome.
- **Ongoing Maintenance:** Even if this repository might appear inactive or outdated at times, rest assured that we actively review and accept pull requests.

## Show Your Support

If you find `fclicache` useful, consider giving it a star on GitHub! Your support motivates us to continuously improve and maintain the project.

[Star `fclicache` on GitHub](https://github.com/Miyoshi-Ryota/fclicache)