Releases: nrjdalal/gitpick
Release list
6.0.0
Everything new for users since 5.4.
✨ New
Turn a clone into a git repo — --init / --auto-commit / --commit (6.0)
gitpick strips .git when cloning; these flags put one back so you can start tracking your scaffold in a single step:
--init— initialize the cloned output as a new git repository--auto-commit—--init+ an initial commit with messagechore: gitpick'ed--commit "<msg>"—--init+ an initial commit with your own message
gitpick owner/repo my-app --commit "feat: scaffold from template"
gitpick owner/repo my-app --auto-commitBoth commit flags imply --init. Staging is scoped to exactly what was cloned, so unrelated files already sitting in the target are never swept into the commit — and a .gitignore that came down with the clone won't block it.
.gitpickignore (5.5)
Drop a .gitpickignore at the root of the picked path to exclude matching files from the copy, using familiar gitignore-style patterns (*, **, ?, trailing / for dir-only, ! to re-include).
# .gitpickignore
*.log
build/
!build/keep.txt
🐛 Fixes
- Slash-containing branches now work (5.5.1) — URLs like
owner/repo/tree/feat/my-branch/srcresolve the real branch instead of failing withError: git checkout feat. Works across GitHub, GitLab, Bitbucket and Codeberg, and the common single-segment case stays network-free. - Symlink re-picks (5.5) — re-running a pick into an existing directory no longer errors with
EEXISTon symlinks; they overwrite cleanly like regular files.
Install: npx gitpick@latest … or npm i -g gitpick
v5.4.0
Local Directory Interactive Mode
Browse local directories right in your terminal with the same interactive picker.
gitpick -i # browse cwd
gitpick -i target # browse cwd, copy selected to target
gitpick ./src -i dest # browse src, copy to dest
gitpick . -i --dry-run # preview onlyWhat's new
- Local interactive mode -
gitpick -iworks without a URL - Uses
git ls-filesto respect.gitignorewhen in a git repo - Falls back to manual walk outside git repos
- Preserves symlinks when copying
- Warns on symlink copy failures
- Errors on target-inside-source and missing source with explicit target
Stats
- Package size: 25 KB packed / 67 KB unpacked
- 132 tests passing
Full Changelog: v5.3.0...v5.4.0
v5.3.0
File Preview with Syntax Highlighting
Press enter on any file in interactive mode to preview its content with line numbers, cursor navigation, and syntax highlighting for 38 languages.
What's new
- File preview - press enter on a file to view content with line numbers
- Syntax highlighting - 38 languages via vendored @speed-highlight/core (zero runtime deps)
- File/folder sizes shown right-aligned in tree view
- Enter on symlink-to-folder jumps cursor to target and expands ancestors
- Relative symlink paths resolved correctly
- Ctrl-C works in preview mode
- Terminal resize handled in preview mode
- ANSI-aware line truncation
Stats
- Package size: 24 KB packed / 64 KB unpacked
- 132 tests passing
Full Changelog: v5.2.0...v5.3.0
v5.2.0
- Symlinks counted separately and shown in yellow in footer
- Selecting a symlink also selects its target file/folder (deselecting symlink keeps target selected)
- Deselecting all children auto-deselects parent folder
- Press
.toggles select all from anywhere - Show "press . to select all" when nothing selected, "all selected" with size when everything selected
- Add interactive mode screenshot to README
Full Changelog: v5.1.0...v5.2.0
v5.1.0
- Show symlinks in interactive picker (yellow with
->target, matching dry-run tree) - Show "all selected" status when everything is selected
- Scope interactive picker to subpath when using tree URLs (e.g.
owner/repo/tree/main/src -i) - Re-render interactive picker on terminal resize
Full Changelog: v5.0.0...v5.1.0
v5.0.0
Interactive Mode 🔥
Browse any repo's file tree in your terminal and cherry-pick exactly the files and folders you want.
npx gitpick owner/repo -iWhat's new
- Interactive mode (
-i/--interactive) - browse, navigate, and select files/folders before cloning- Hierarchical tree view with expand/collapse, multi-select, select all (
.row) - Keyboard navigation: arrow keys,
j/k,h/l, space, enter,cto confirm,qto quit - Selection stats: folder/file count, total size, scroll position
- Auto-expands small repos, 2 levels for larger ones
- Respects
--dry-run,--overwrite,--recursive,--tree - Graceful TTY guard, SIGINT cleanup, alternate screen buffer
- Works with GitHub, GitLab, Bitbucket, public and private repos
- Zero new dependencies
- Hierarchical tree view with expand/collapse, multi-select, select all (
Stats
- Package size: 13.8 KB packed / 37.5 KB unpacked
- 132 tests passing
Full Changelog: v4.19.0...v5.0.0
v4.19.0
What's New
Environment variable token support
Private repos without embedding tokens in URLs:
export GITHUB_TOKEN=ghp_xxxx # or GH_TOKEN
export GITLAB_TOKEN=glpat-xxxx
export BITBUCKET_TOKEN=xxxx
gitpick owner/private-repo # token picked up automaticallyURL-embedded tokens still take precedence.
SIGINT/SIGTERM temp dir cleanup
No more orphaned temp directories when you Ctrl+C mid-clone.
Non-TTY spinner suppression
Spinner animation completely suppressed in CI and piped output — only the success line is printed.
--verbose now includes stats
clone: shallow (depth=1)
from: https://github.com/owner/repo.git @ main
to: ./my-project
files: 6 (707 B)
network: 1.01s
copy: 0s
total: 1.01s
Update notifier
Non-blocking background check — fetches npm registry, caches for 24h, shows notice on next run if a newer version exists.
Full Changelog: v4.18.0...v4.19.0
v4.18.0
What's New
--quiet / -q
Suppress all output except errors — ideal for CI pipelines and scripts.
$ gitpick nrjdalal/picksuite folder -q
# (no output, exit 0)--verbose
Show detailed clone information after success — useful for debugging.
✔ Picked tree from repository in 1.08 seconds.
clone: shallow (depth=1)
from: https://github.com/nrjdalal/picksuite.git @ main
to: /tmp/folder
files: 2
duration: 1.08s
When shallow clone fails (e.g., commit SHA):
clone: full (depth=full)
Other
- Banner split to two lines for readability
- Add
dimcolor formatter - Reorder README features list
- 8 new tests (125 total)
Full Changelog: v4.17.0...v4.18.0
v4.17.0
What's New
--tree flag
Display cloned file structure as a colored tree — works with repos, folders, blobs, and --dry-run.
$ gitpick nrjdalal/picksuite my-project --tree
./my-project
├── file.txt
├── folder
│ ├── deep
│ │ └── file.txt
│ └── nested.txt
├── README.md
├── symdir -> folder
└── symlink.txt -> file.txt
$ gitpick nrjdalal/picksuite --dry-run --tree
# Same output, no files left on diskColor scheme:
- Bold cyan — root directory header
- Cyan — subdirectories, symlink targets pointing to dirs
- No color — regular files, symlink targets pointing to files
- Yellow — symlink names
Smart path display: ./ for cwd-relative, ~/ for home-relative, absolute otherwise.
Other changes
copyDirnow returns list of copied file pathscloneActionreturnsCloneResultwith files and duration- Fix oxlint warnings in test suite
- Update package sizes in README
Full Changelog: v4.16.2...v4.17.0
v4.16.2
What's New
- Add
--dry-run, GitLab and Bitbucket examples to CLI help output - Update README with package sizes, multi-host config examples, and verified adopters
Full Changelog: v4.16.1...v4.16.2