diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d704b21 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres to [Semantic Versioning](https://semver.org). + +## [Unreleased] + +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security + +## [1.0.0] - 2025-11-14 + +### Added + +- Initial release of `gtr` (Git Worktree Runner) +- Core commands: `new`, `rm`, `go`, `open`, `ai`, `list`, `clean`, `doctor`, `config`, `adapter`, `help`, `version` +- Worktree creation with branch sanitization, remote/local/auto tracking, and `--force --name` multi-worktree support +- Base directory resolution with support for `.` (repo root) and `./path` (inside repo) plus legacy sibling behavior +- Configuration system via `git config` (local→global→system precedence) and multi-value merging (`copy.include`, `hook.postCreate`, etc.) +- Editor adapter framework (cursor, vscode, zed, idea, pycharm, webstorm, vim, nvim, emacs, sublime, nano, atom) +- AI tool adapter framework (aider, claude, codex, cursor, continue) +- Hooks system: `postCreate`, `postRemove` with environment variables (`REPO_ROOT`, `WORKTREE_PATH`, `BRANCH`) +- Smart file copying (include/exclude glob patterns) with security guidance (`.env.example` vs `.env`) +- Shell completions for Bash, Zsh, and Fish +- Diagnostic commands: `doctor` (environment check) and `adapter` (adapter availability) +- Debian packaging assets (`build-deb.sh`, `Makefile`, `debian/` directory) +- Contributor & AI assistant guidance: `.github/instructions/*.instructions.md`, `.github/copilot-instructions.md`, `CLAUDE.md` +- Support for storing worktrees inside the repository via `gtr.worktrees.dir=./` + +### Changed + +- Improved base directory resolution logic to distinguish `.` (repo root), `./path` (repo-internal) from other relative values (sibling directories) + +[Unreleased]: https://github.com/coderabbitai/git-worktree-runner/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/coderabbitai/git-worktree-runner/releases/tag/v1.0.0 diff --git a/README.md b/README.md index 9222dbe..02cf3da 100644 --- a/README.md +++ b/README.md @@ -266,7 +266,8 @@ gtr.worktrees.prefix = dev- gtr.defaultBranch = main ``` -**⚠️ Important:** If storing worktrees inside the repository, add the directory to `.gitignore`: +> [!IMPORTANT] +> If storing worktrees inside the repository, add the directory to `.gitignore`. ```bash echo "/.worktrees/" >> .gitignore @@ -333,7 +334,8 @@ gtr config add gtr.copy.exclude "**/.env" gtr config add gtr.copy.exclude "**/secrets.*" ``` -**⚠️ Security Note:** Be careful not to copy sensitive files. Use `.env.example` instead of `.env`. +> [!WARNING] +> Be careful not to copy sensitive files. Use `.env.example` instead of `.env`. ### Hooks @@ -506,7 +508,8 @@ gtr rm ci-test --yes --delete-branch ### Multiple Worktrees on Same Branch -**⚠️ Advanced Use Only** - Git normally prevents checking out the same branch in multiple worktrees to avoid conflicts. `gtr` supports bypassing this safety check with `--force` and `--name` flags. +> [!TIP] +> Git normally prevents checking out the same branch in multiple worktrees to avoid conflicts. `gtr` supports bypassing this safety check with `--force` and `--name` flags. **Use cases:** @@ -534,7 +537,7 @@ gtr new feature-auth --force --name tests # Creates: feature-auth-tests/ # The --name flag is required with --force to distinguish worktrees ``` -**Example: Parallel AI development on one feature** +**Example: Parallel AI development on one feature:** ```bash # Terminal 1: Backend work @@ -613,7 +616,7 @@ find . -path "**/.env.example" ## Architecture -``` +```log git-worktree-runner/ ├── bin/gtr # Main executable ├── lib/ # Core libraries @@ -696,8 +699,6 @@ Unless required by applicable law or agreed to in writing, software distributed Built to streamline parallel development workflows with git worktrees. Inspired by the need for simple, configurable worktree management across different development environments. ---- - -**Happy coding with worktrees! 🚀** +## Happy coding with worktrees! 🚀 For questions or issues, please [open an issue](https://github.com/coderabbitai/git-worktree-runner/issues).