bare-script 0.1.1

The type-safe scripting authority for Rust. A framework for building robust shell commands and automation with 'Parse, don't validate' philosophy.
Documentation
# Changelog


All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.1] - 2026-03-09


### Added


- **CI/CD**: GitHub Actions workflow with 80% code coverage threshold
- **Property-based testing**: 18 proptest cases
- **Performance benchmarks**: Criterion benchmarks suite
- **Documentation**: ARCHITECTURE.md, CONTRIBUTING.md, SECURITY.md, etc.
- **Editor configuration**: .editorconfig, rustfmt.toml

### Changed


- **API improvements**: `Args::value()` now returns `Result` for explicit error handling
- **Error types**: Added `PipelineEmpty`, `PipelineStdinError`, `PipelineStdoutError`

## [0.1.0] - 2024-XX-XX


### Added


- **Core command execution framework**
  - Sync API: `sync::CommandBuilder` using `std::process::Command`
  - Async API: `proc::CommandBuilder` using `tokio::process::Command`

- **Type-safe argument parsing**
  - `Args` builder for validated CLI arguments
  - Support for flags, options, and positional arguments
  - Validation at build time

- **Pipeline support**
  - Sync pipeline: `sync::Pipeline`
  - Async pipeline: `proc::Pipeline`
  - Command chaining with pipes

- **Cross-platform compatibility**
  - Windows: cmd.exe execution
  - Unix: shell execution
  - Platform-specific configuration

- **Environment management**
  - Set environment variables
  - Remove environment variables
  - Clear all environment variables

- **Output handling**
  - Capture stdout and stderr
  - Exit code extraction
  - Success/failure checking

- **Working directory**
  - Execute in specific directory

- **Timeout support**
  - Execute with timeout
  - Kill process on timeout

- **Shell integration helpers**
  - `which()` - Find executable in PATH
  - `command_exists()` - Check if command exists
  - `eval()` - Execute shell command
  - `default_shell()` - Get platform default shell

- **Configuration**
  - Stdio configuration (stdin, stdout, stderr)
  - Config builder pattern

### Testing


- Unit tests for all modules
- Integration tests (sync and async)
- Edge case tests
- Property-based tests
- Platform detection tests
- Documentation tests

### Documentation


- Comprehensive README
- API documentation
- Usage examples

### Development


- Strict clippy linting
- Zero panic policy (#![forbid(unsafe_code)])
- Code coverage tracking
- Benchmark suite

## [Unreleased]


### Planned


- Release to crates.io
- Additional shell helpers
- Signal handling improvements
- Process group management