Repository navigation
Reorganise lib, add git work, consolidate git workspace - #302
Merged
Merged
Conversation
The semver-specific cooldown properties are only supported for semver ecosystems like npm, not github-actions. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Group the lib files by responsibility, each with its own barrel: - item/ repository domain model (types, parsing, location, filter, status) - config/ CLI plumbing (configuration, commander program) - branches/ git branch operations (list, select, exclude) Update bin imports to use the new subdir barrels instead of deep paths. Co-Authored-By: Claude Opus 4.8 <[email protected]>
git-work has two subcommands: - add <name>: create a worktree under the <item>-worktrees sibling folder - remove: list the current repo worktrees and multi-select to remove Logic lives in a new lib/worktrees theme (list/add/select-and-remove), with the main worktree derived from git so the sibling folder is always resolved against the real repo even when run from a linked worktree. Co-Authored-By: Claude Opus 4.8 <[email protected]>
git worktree remove is silent on success, so console.table printed rows with blank values. Print the removed paths and skip output when nothing is selected. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Replace the separate git-workspace-* binaries with a single git-workspace command exposing add/remove/clone/sync/config subcommands (and list as the default), mirroring git-work. Invoke as `git workspace add`, etc. Extract the reusable pieces out of the bin layer: - lib/config/with-filter-options: shared commander filter options - lib/config/list-workspace-items: config load + filtered registry list - lib/config/configure-workspace: interactive workspaces config write - tasks/submit-item-tasks: run item tasks under a cli progress pool Remove the now unused withProgram helper. Config loading is deferred into each data action so `git workspace config` works before any config exists. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
- use node:path / node:os import prefixes (S7772) - add await in selectForRemoveQuestion so it stays a promise (S7503) Co-Authored-By: Claude Opus 4.8 <[email protected]>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Follow-up tidy-ups: reorganise
src/libby theme, add agit workworktree command, and consolidate thegit-workspacebinaries into a single subcommand-based command.Changes
default-dayscooldown for thegithub-actionsecosystem (thesemver-*-daysproperties are only valid for semver ecosystems like npm).src/libstructure: grouped files intoitem/,config/,branches/, andworktrees/themes, each with anindex.tsbarrel re-exported fromsrc/lib/index.ts. Layering stays one-directional:bin → tasks → lib.git workcommand (git work add <name>/git work remove):addcreates a worktree under the<item>-worktreessibling folder, resolved against the main worktree so it works even when run from a linked worktree.removelists worktrees and multi-selects which to remove; reports the removed paths (git worktree removeis silent on success).git workspace: replaced the separategit-workspace-*binaries with a singlegit-workspacecommand exposingadd/remove/clone/sync/configsubcommands (pluslistas the default), mirroringgit work. Config is loaded lazily inside each action sogit workspace configworks before any config exists.withFilterOptions,listWorkspaceItems,configureWorkspaceintolib/config;submitItemTasksintotasks/. Removed the now-unusedwithProgram.Testing
pnpm build,pnpm lint,pnpm format:checkall cleanpnpm test— 19 tests across 8 suites pass (added worktree parse + remove tests)git work add/removecycle and the consolidatedgit workspaceCLI (help, default-command routing,-wfiltering) against a live repo🤖 Generated with Claude Code