Refine descriptions for `wt merge`, `wt list`, and shell integration.
Add more detail to the design philosophy and automation features.
Improve clarity and conciseness of various sections.
Co-authored-by: Claude <no-reply@anthropic.com>
The `--stage` option has been added to `wt commit` and `wt merge` to control whether changes are staged before committing/merging. A new `[commit]` config section now provides a shared `stage` default for this behavior.
- **`wt commit` and `wt merge`**: Now support the `--stage` option.
- **`[commit]` config section**: Introduced with a `stage` field to set the default behavior for the `--stage` option across `wt commit` and `wt merge`.
- **`wt beta squash`**: Updated to use `--stage` for consistency.
- **`tracked_only` config field**: Removed as it is no longer used.
The previous naming was verbose and redundant since all LLM output is authored by the LLM. This also aligns with `wt config --help` which already uses the shorter form.
Moves `scripts/` and `config.example.toml` into a new `dev/` directory.
This clarifies the separation between user-facing content and development-related assets.
- Updates all internal references (`README.md`, `CLAUDE.md`, `config.rs`, `.gitignore`).
- Renames `scripts/setup-claude-code-web.sh` to `dev/setup-claude-code-web.sh`.
- Renames `scripts/wt-demo-build.sh` to `dev/wt-demo-build.sh`.
- Renames `scripts/wt-demo/` to `dev/wt-demo/`.
- Renames `config.example.toml` to `dev/config.example.toml`.
- Adds `dev/wt-demo/README.md` to reflect the new path.
Refactor error helpers to return `anyhow::Error` directly, move terminal width calculations to styling module, and rename `primary` worktree to `main`.
Refactor status symbols for better JSON querying and update snapshots to normalize platform-specific git behavior. Clarify "orphaned" worktrees as "prunable".
Improve wording for worktree management, merge flow, and design philosophy.
Standardize formatting for command behaviors and examples.
Add LLM setup guide for better user experience.
Co-authored-by: Claude <no-reply@anthropic.com>
Refine CLI help output with a new help pager for improved viewing. This commit also improves command readability in the documentation by removing extra indentation, and sets stdin to null for streamed commands. The shell completion snapshots have been updated accordingly.
Improve clarity and conciseness of descriptions for worktrees, LLM commit messages, project hooks, and shell integration. Update wording for consistency and better readability.
Co-authored-by: Claude <no-reply@anthropic.com>
This adds the `^` symbol as a shortcut for the main/default branch in `wt switch` and `wt remove` commands, aligning with `@` for current and `-` for previous.
It also updates related documentation and CLI help text to reflect this new shorthand.
Adds snapshot tests for post-create and pre-merge hooks with example `uv` output, and updates the README to reference these new snapshots.
This ensures the examples in the README accurately reflect the tool's behavior and are tied to automated tests.
Updates badges in the README to use `for-the-badge` style, adds logos, and organizes them into "User" and "Dev" sections.
Also removes a comment about `cargo-release` installation.
Switches all template variables from `{var}` to `{{ var }}` for Worktrunk
config files and documentation.
This change unifies template syntax across the codebase using Jinja2-style
double curly braces. It also migrates the internal template expansion
logic from simple string replacement to `minijinja`, which provides
more robust and secure templating capabilities.
Key changes:
- All `{var}` instances in `.toml` config files and `.md` documentation
are updated to `{{ var }}`.
- The `src/config/expansion.rs` module is refactored to use `minijinja`
for template rendering.
- Template variables are now automatically shell-escaped to prevent
injection vulnerabilities.
- `main-worktree` variable is renamed to `main_worktree` for consistency
with Jinja2 snake_case conventions.
- Tests are updated to reflect the new template syntax and `minijinja`
behavior.