gdx 0.2.0 → 0.3.0

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.
Files changed (3) hide show
  1. package/README.md +26 -20
  2. package/dist/index.js +536 -388
  3. package/package.json +9 -8
package/README.md CHANGED
@@ -100,14 +100,14 @@ To add shell integration, add the following line to the **End** of your shell pr
100
100
  #### For bash and zsh:
101
101
 
102
102
  ```bash
103
- eval "$(gdx --init --shell bash)" # for bash
104
- eval "$(gdx --init --shell zsh)" # for zsh
103
+ eval "$(gdx --init bash)" # for bash
104
+ eval "$(gdx --init zsh)" # for zsh
105
105
  ```
106
106
 
107
107
  #### For fish:
108
108
 
109
109
  ```fish
110
- gdx --init --shell fish | source
110
+ gdx --init fish | source
111
111
  ```
112
112
 
113
113
  #### For PowerShell:
@@ -115,12 +115,12 @@ gdx --init --shell fish | source
115
115
  To find your profile path, run `$PROFILE` in PowerShell.
116
116
 
117
117
  ```powershell
118
- Invoke-Expression (& { (gdx --init --shell pwsh | Out-String) })
118
+ Invoke-Expression (& { (gdx --init pwsh | Out-String) })
119
119
  ```
120
120
 
121
121
  > [!TIP]
122
122
  > You can add `--cmd` to the `gdx --init` command to create custom aliases.
123
- > For example, `gdx --init --shell zsh --cmd g` will create `g` as an alias for `gdx`.
123
+ > For example, `gdx --init zsh --cmd g` will create `g` as an alias for `gdx`.
124
124
 
125
125
  ## Core Features
126
126
 
@@ -139,6 +139,8 @@ gdx reset ~2 # -> git reset HEAD~2
139
139
 
140
140
  > [!NOTE]
141
141
  > This wrapper forwards unrecognized commands directly to `git`, so you can use it as a full git replacement.
142
+ >
143
+ > If GDX still gets in your way, just run `gdx --bypass <git-commands>` to skip gdx intervention altogether.
142
144
 
143
145
  ### 2. Smart Linting
144
146
 
@@ -171,6 +173,11 @@ gdx parallel open # Open any fork in your default editor
171
173
  gdx parallel join # Merge changes from a fork back to main
172
174
  ```
173
175
 
176
+ Additionally, `gdx parallel fork` can auto-initialize submodules and
177
+ install dependencies using detected package managers (currently supports npm, pnpm, bun, and uv)
178
+ if configured (see `parallel.init` config for options),
179
+ getting the fork ready for work in no time.
180
+
174
181
  ### 5. Advanced Stash Management
175
182
 
176
183
  Git stash is great until you need to clean it up.
@@ -205,17 +212,17 @@ Tools to help you feel productive without leaving the terminal.
205
212
 
206
213
  ## Command Reference
207
214
 
208
- | Command | Expansion / Function |
209
- | :----------- | :-------------------------------------------------- |
210
- | `s`, `stat` | `git status` |
211
- | `lg`, `lo` | `git log --oneline --graph --all --decorate` |
212
- | `sw`, `swit` | `git switch` |
213
- | `br`, `bra` | `git branch` |
214
- | `cmi`, `com` | `git commit` (Try `gdx cmi auto` for AI messages!) |
215
- | `res` | `git reset` (supports `res ~3`, `res -h` expansion) |
216
- | `sta`, `st` | `git stash` |
217
- | `lint` | Run pre-push checks (spelling, secrets, etc.) |
218
- | `gdx-config` | Manage gdx configuration |
215
+ | Command | Expansion / Function |
216
+ | :----------- | :----------------------------------------------------------------- |
217
+ | `s`, `stat` | `git status` (use `-r` recursively run "status" on all submodules) |
218
+ | `lg`, `lo` | `git log --oneline --graph --all --decorate` |
219
+ | `sw`, `swit` | `git switch` |
220
+ | `br`, `bra` | `git branch` |
221
+ | `cmi`, `com` | `git commit` (Try `gdx cmi auto` for AI messages!) |
222
+ | `res` | `git reset` (supports `res ~3`, `res -h` expansion) |
223
+ | `sta`, `st` | `git stash` |
224
+ | `lint` | Run pre-push checks (spelling, secrets, etc.) |
225
+ | `gdx-config` | Manage gdx configuration |
219
226
 
220
227
  _Run `gdx ghelp` to see the full list of expansions._
221
228
 
@@ -241,10 +248,8 @@ This project uses **Bun** for development because it's fast and the developer ex
241
248
 
242
249
  Since this is currently a solo "scratch your own itch" project, the roadmap is fluid, but here is what is on the horizon:
243
250
 
244
- - [x] **Configurability:** Allow users to define their own shorthands in a `.gdxrc.toml` file.
251
+ - [x] **Configurability:** Allow users to define their own shorthands in a `.gdxrc.toml` file (default: `~/.gdx/.gdxrc.toml`).
245
252
  - [x] **Shell Integration:** Auto-completion scripts for Zsh/Bash/Fish/Powershell with git fallback.
246
- - [ ] **Commit with specified editor:** like, `gdx commit --vim` to open Vim for commit messages.
247
- - [ ] **Quick commit:** `add`, `commit`, and `push` in one command like `gdx qc -pa` (`git add . && gdx commit auto && git push`)
248
253
  - [x] **Quick linting before push:** `gdx lint` to run following checks before pushing:
249
254
  - commit message spelling
250
255
  - env or sensitive content scanning
@@ -252,13 +257,14 @@ Since this is currently a solo "scratch your own itch" project, the roadmap is f
252
257
  - abnormal file sizes
253
258
  with an option to automatically run lint before every push (bypass with `gdx push --no-lint`)
254
259
  - [x] **Undoable stash drop**
255
- - [x] **Parallel worktree switching** `gdx parallel switch` Jump between forks (auto-cd) (requires shell integration with `gdx --init --shell`)
260
+ - [x] **Parallel worktree switching** `gdx parallel switch` Jump between forks (auto-cd) (requires shell integration with `gdx --init`)
256
261
  - [ ] **Seamless Integration with fzf and cloc**
257
262
  automatically detect and use fzf and/or cloc if installed for:
258
263
  - Interactive fuzzy search for branches, commits, stash, log and files instead of `less`
259
264
  - Code line statistics in `gdx stats` using `cloc`
260
265
  - [x] **gdx clear Untracked files support**: `gdx clear` now automatically backs up untracked files in the patch.
261
266
  - [ ] **gdx migrate**: move dirty changes to another branch/worktree without committing.
267
+ - [x] **Recursive status for submodules** with `gdx status --recursive` or `gdx s -r`
262
268
 
263
269
  ## License
264
270