gdx 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,13 +13,14 @@
13
13
 
14
14
  `gdx` is a drop-in wrapper for the Git CLI. It doesn't replace Git; it just makes it less... unpleasant.
15
15
 
16
- It wraps standard git commands with intelligent shorthands and adds powerful new capabilities that Git is missing like safety rails for destructive actions (undoable `reset --hard`), introduces new workflows for parallel editing and local analytics.
16
+ It wraps standard git commands with intelligent shorthands and adds powerful new capabilities that Git is missing like safety rails for destructive actions (undoable `reset --hard`), new workflows for parallel editing and local analytics, git output enhancements, and AI-powered commit message generation.
17
17
 
18
18
  **Why gdx?**
19
19
 
20
20
  - **👍 Convenience:** Type less, do more. `git status`? how about `gdx s`?, `git reset HEAD~3`? why not `gdx res ~3`?
21
21
  - **🛡️ Safety:** `gdx clear` wipes your directory but saves a backup patch. No more "oops" moments.
22
- - **🧠 Logic:** Handles the things Git makes hard, like dropping a range of stashes (`drop 2..6`).
22
+ - **✨ Enhanced Output:** Git's output is... functional. `gdx` makes it beautiful and easier for _humans_ to digest.
23
+ - **🧠 Logic:** Handles the things Git makes hard, like dropping a range of stashes, working with worktrees, or submodules.
23
24
  - **📊 Local-First Stats:** Beautiful TrueColor graphs and stats generated from your local history.
24
25
  - **🤖 AI Integration:** Generate commit messages and roast your history with local or cloud LLMs.
25
26
 
@@ -130,8 +131,9 @@ Invoke-Expression (& { (gdx --init pwsh | Out-String) })
130
131
 
131
132
  ```bash
132
133
  gdx s # -> git status
134
+ gdx sta # -> git stash
135
+ gdx statu # -> git status
133
136
  gdx lg # -> git log --oneline --graph --all --decorate
134
- gdx lg export # -> Exports git log to a markdown file
135
137
  gdx pl -au # -> git pull --allow-unrelated-histories
136
138
  gdx ps -fl # -> git push --force-with-lease
137
139
  gdx reset ~2 # -> git reset HEAD~2
@@ -162,7 +164,9 @@ We've all accidentally reset files we meant to keep. `gdx clear` is the solution
162
164
 
163
165
  ### 4. Parallel Worktrees (Experimental)
164
166
 
165
- Need to work on the **same branch** in multiple isolated environments without checking out new branches?
167
+ A wrapper for `git worktree` that reduces the friction of managing multiple worktrees, it handles the setup, switching, syncing changes, and cleanup of parallel worktrees so you can focus on coding instead of git logistics.
168
+
169
+ It also works great with detached worktrees, allowing you to quickly spin up a fork without worrying about getting a branch locked to it.
166
170
 
167
171
  ```bash
168
172
  # Manage forked worktrees for the current branch
@@ -176,9 +180,9 @@ gdx parallel pick # Cherry-pick a commit from between forks
176
180
  gdx parallel remove # Remove a fork when you're done
177
181
  ```
178
182
 
179
- Additionally, `gdx parallel fork` can auto-initialize submodules and
180
- install dependencies using detected package managers (currently supports npm, pnpm, bun, and uv)
181
- if configured (see `parallel.init` config for options),
183
+ Additionally, `gdx parallel fork` can **auto-initialize submodules**, **install dependencies**
184
+ using detected package managers (see `parallel.init` config for options), and **copy
185
+ ignored env files** if configured (see `parallel.envPaths` config for options),
182
186
  getting the fork ready for work in no time.
183
187
 
184
188
  ### 5. Git Output for Human (Experimental)
@@ -199,6 +203,9 @@ but more commands will be added in the future. (feel free to request what comman
199
203
  >
200
204
  > If you want to disable the enhanced output altogether, you can set `enhancedOutput` to `false` in the config.
201
205
 
206
+ > [!TIP]
207
+ > Enhanced `gdx show` allows you to navigate between commits in the pager with ←→ keys. This is especially useful when viewing a file's history.
208
+
202
209
  ### 6. Advanced Stash Management
203
210
 
204
211
  Git stash is great until you need to clean it up.
@@ -223,6 +230,10 @@ gdx cmi auto --no-commit --copy
223
230
  # You can also configure which LLM to use with `gdx-config`
224
231
  ```
225
232
 
233
+ Unlike most AI commit message generators, by default `gdx` creates messages generation guidelines and instructions based on your repo's history and conventions.
234
+ This ensures the generated messages fit your project's style and tone.
235
+ Said guidelines are updated every month to reflect your evolving commit style.
236
+
226
237
  ### 8. Fun & Analytics
227
238
 
228
239
  Tools to help you feel productive without leaving the terminal.
@@ -259,10 +270,12 @@ Tools to help you feel productive without leaving the terminal.
259
270
  | `reword`, `rew` | Rewrite commit messages |
260
271
  | `parallel`, `par` | Manage parallel worktrees for the current branch |
261
272
  | `stats` | Show contribution statistics and metrics for the current repo |
273
+ | `snap` | Create a local snapshot of current worktree/repository |
262
274
  | `graph` | Render a GitHub-style contribution heatmap in the terminal |
263
275
  | `nocap` | Roast your latest commit message with AI |
264
276
  | `clear` | Wipe changes in the working directory with a backup patch |
265
277
  | `cache` | Manage gdx cache |
278
+ | `macro` | Create custom gdx command macros to run multiple commands with a single macro |
266
279
 
267
280
  _Run `gdx ghelp` to see the full list of expansions/commands._
268
281
 
@@ -317,10 +330,9 @@ Since this is currently a solo "scratch your own itch" project, the roadmap is f
317
330
  - [x] **gdx clear Untracked files support**: `gdx clear` now automatically backs up untracked files in the patch.
318
331
  - [x] **Recursive status for submodules** with `gdx status --recursive` or `gdx s -r`
319
332
  - [x] **Submodule dir switching**: extension of `git submodule`, `gdx submodule switch` to jump into a submodule's directory from the parent repo (requires shell integration)
320
- - [ ] **Snapshot**: `gdx snap` to create snapshot of current state of your working directory (including uncommitted changes, untracked files) that can be easily switched back to later (similar to a lightweight, temporary branch that doesn't clutter your branch list)
333
+ - [x] **Snapshot**: `gdx snap` to create snapshot of current state of your working directory (including uncommitted changes, untracked files) that can be easily switched back to later (similar to a lightweight, temporary branch that doesn't clutter your branch list)
321
334
  - [ ] **Enhanced output for more commands**: Extend the "Git Output for Humans"
322
335
  - [ ] **Undo and Redo**: `gdx undo` and `gdx redo` to step backward and forward through git actions (reset, commit, stash, etc.) with safety nets.
323
- - [ ] **Edit commit history**: `gdx hist` for an intuitive interface to amend, reorder, squash commits without needing to remember complex rebase commands.
324
336
  - [x] **Edit commit messages**: `gdx reword` to quickly reword the last commit message or a specific commit without needing to do an interactive rebase.
325
337
 
326
338
  ## License