termtitle 0.1.0

Intelligently sets terminal window/tab titles based on configurable rules
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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2026-02-01

### Added

- Rule-based system for automatic terminal title setting
- Support for multiple rule types:
  - Structured files (JSON/TOML) with single or multiple path extraction
  - Git repository detection with branch, commit, status, remote, and upstream variables
  - Directory name matching
  - File existence checking with glob pattern support
  - Environment variable reading
  - Shell command execution with configurable timeouts
- Advanced template syntax:
  - Variable substitution with `{variable}` placeholders
  - Fallback values using `{var:fallback}` syntax
  - Conditional segments with `{ segment }` (space-delimited) for optional content
  - Format modifiers with chaining support (truncate, upper, lower, title, icon, prefix, suffix, basename, dirname, ext, stem, parent)
- Compound rules for merging multiple providers into a single title
- Title target support for different terminal elements:
  - `window` (OSC 2) - window title
  - `tab` (OSC 1) - tab/icon name
  - `both` (OSC 0) - both window and tab
- Shell integration hooks for Zsh, Bash, and Fish
- Search modes for file-based rules:
  - `current` - only current directory
  - `up` - search current and parent directories (default)
  - `parent` - skip current, search parents only
- CLI commands:
  - `hook <shell>` - output shell integration hook
  - `apply` - apply title based on rules for current directory
  - `reset` - reset title to default
  - `inspect` - show what title would be set and why
  - `set <target> <title>` - directly set a terminal title
  - `config` - show, edit, or get path to configuration file
- Configuration file support at `~/.config/termtitle/config.toml`
- OSC escape sequence generation for terminal title control

[0.1.0]: https://github.com/yourusername/termtitle/releases/tag/v0.1.0