gg_multi_workspace 4.12.0
gg_multi_workspace: ^4.12.0 copied to clipboard
Workspace management of the gg_multi tool family - adding repos and organizations, importing, creating and removing tickets, syncing the ocean, listing workspaces.
Changelog #
4.12.0 - 2026-10-14 #
Changed #
- Build the workspace DNA in a temporary folder and copy only .claude and the CLAUDE.md block into the root, so a failing step leaves no pubspec.yaml or dna/ there
- Suggest dart pub global activate gg when the helix inside gg is too old for the latest dna_gg, otherwise gg do init workspace instead of the manual gg dna steps
- Remove the pubspec.yaml, pubspec.lock, .dart_tool and dna folder a failed earlier run left in the workspace root
4.11.1 - 2026-10-06 #
Changed #
- gg do init workspace no longer prints the next steps of gg dna init: helix init gets a --quiet flag
- Upgrade dependencies
4.11.0 - 2026-09-30 #
Changed #
- Retry git clone, ls-remote and the ocean fetches of do add on transient transport errors via gg_git's GitRetry
4.10.0 - 2026-09-30 #
Changed #
- Place the latest dna_gg in every new ticket and keep the workspace root on it
- Keep the root DNA when pub.dev is unreachable, keep the block in do init claude
4.9.0 - 2026-09-15 #
Changed #
- Also pass --workspace to gg dna add, whose own internal build previously ignored it and instantiated the full package output before the explicit build --workspace step ran
4.8.0 - 2026-09-14 #
Changed #
gg do create ticketfails with an error instead of exit code 0 when the ticket already exists, a legacytickets/<id>includedgg do codefails with an error instead of exit code 0 for a name that is no ticket name
Fixed #
gg do rm ticketandgg do codenever take a hidden folder such as.github, a closed ticket in.trashor a root folder withoutticket.jsonsuch asdocfor a ticket;gg do codenames such a folder »is no ticket« instead of »not found«gg do create ticket,gg do rm ticket,gg do codeandgg do import ticket(itsissue_id) refuse every name that is no single visible folder name — empty, a path such asa/bor"$PWD", absolute, starting with a dot, orticketsin any case — with a message naming the reason;gg do rm ticket "$PWD"orgg do rm ticket ""no longer move an arbitrary folder, or the wholeticketsfolder of a legacy workspace, to the trash and delete the remote branches named after it. One trailing separator (T1/from tab completion) is ignored, and so is the leadingtickets/a tab completion offers for a legacy ticket:tickets/L1/namesL1,gg do create ticket tickets/42creates42in the workspace rootgg do codetakesT1//for the ticket instead of opening the ticket folder as a repo, tolerates repeated and trailing separators in<ticket>/<repo>and refuses an absolute path such as/T1as such instead of »must not be empty«gg do create ticketrefuses a name the workspace root already holds as a folder or file that is no ticket (doc,dna,scriptsaftergg do init workspace) instead of writing itsticket.json,.code-workspaceand trash folder into it; an empty folder is takengg do import ticketcreates the ticket folder through the same check, so aticket.jsonnamingdocno longer writes into thedocfolder; an existing ticket of that name is still reproduced again- The README describes
gg do create ticketwith the ticket folder in the workspace root instead oftickets/<id>/
4.7.0 - 2026-09-11 #
Changed #
do rm reporemoves the shim gg_localize_refs linked the removed repo through (.gg/ts_links/<name>) instead of pruningtsconfig.workspace.jsonpaths, which gg_localize_refs 5 no longer writes.
4.6.0 - 2026-09-11 #
Added #
- The
.code-workspaceof a ticket carries a launch configuration »Debug current vitest file« that debugs the open spec with the vitest of the folder it belongs to — together with the source paths gg_localize_refs writes, a test steps into the TypeScript sources of the other ticket repos.
Changed #
do rm repoalso drops the removed repo from the sourcepathsoftsconfig.workspace.jsonin the repos that stay.
Fixed #
gg do addresets the ocean copy to the repository's default branch instead oforigin/mainand refreshesorigin/HEADon fetch;gg do import ticketno longer offers the default branch as a ticket branch
4.5.0 - 2026-09-11 #
Changed #
- Rewrite the https://ssh.dev.azure.com:v3 organization base earlier versions recorded to the SSH form git can open
4.4.0 - 2026-09-11 #
Fixed #
gg do addasks the platform's repository list which organization owns a repository, so repositories moved or deleted aftergg do upgrade oceanare no longer offered under their old organization
4.3.0 - 2026-09-09 #
Added #
gg do init workspaceinstantiates the latestdna_ggin the workspace folder right after creating the ocean —gg dna init,gg dna add dna_ggandgg dna buildin one go — so the gg guides, skills and the managedCLAUDE.mdblock are in place before the first ticket.
Fixed #
- Rename the dna_base test fixtures to dna_dart
Removed #
- Remove the stray ticket.json from the repository root
4.1.2 - 2026-09-02 #
4.1.0 - 2026-08-14 #
3.1.2 - 2026-08-12 #
3.1.1 - 2026-08-11 #
Changed #
- Provide gg via npm
- "First javascript implementation"
- Fix shell changes
3.0.0 - 2026-08-10 #
2.3.3 - 2026-08-10 #
Fixed #
- Various log and color fixes across the gg command output
- Fix org-url repo add, code-workspace upkeep on rm and the auto-merge PR hint
- Various fixes
2.2.0 - 2026-08-09 #
Changed #
- Improve commit behavior
- Move gg commit conventions from gg_git to gg_one_core
- Move the git and process plumbing to gg_git
- Record the doCommit state in system commits again