gg_multi_workspace 4.8.0 copy "gg_multi_workspace: ^4.8.0" to clipboard
gg_multi_workspace: ^4.8.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.

gg_multi_workspace #

Workspace management of the gg_multi tool family - adding repos and organizations, importing and creating tickets, removing repos and tickets, syncing the ocean, listing and opening workspaces.

gg_multi manages multi-package workspaces and orchestrates editing, reviewing and publishing across all repos of a ticket. This package holds the commands that build and maintain those workspaces; the underlying model lives in gg_multi_core.

Commands #

Command Purpose
do init workspace initialise the ocean and instantiate the dna_gg DNA in the current directory
do add <target> add a repo, owner/repo, url, regexp or a whole organisation to the workspace
do import ticket <path|url> reproduce a whole ticket from a ticket.json
do create ticket <id> create <id>/ in the workspace root with ticket.json, .code-workspace and .trash/<id>/
do create graph write the dependency graph of the workspace as mermaid or json
do rm repo <name…> delete repos from the current ticket (never from the ocean)
do rm ticket [<id>...] close tickets: delete remote branches, move the whole folder to .trash
do upgrade ocean sync .ocean with every registered organisation: clone new repos, trash gone ones
do code open the current ticket in VS Code
do init claude aggregate each repo's CLAUDE.md into one ticket-level CLAUDE.md
do exec cmd <cmd> run a shell command in every ticket repo in dependency order
do ls repos|organizations|deps|tickets list workspace contents with metadata

Debugging across the repos of a ticket #

The .code-workspace of a ticket ships a launch configuration »Debug current vitest file«. It runs the spec file open in the editor with the vitest of the repo the file belongs to (${fileWorkspaceFolder}), so it works in every folder of the multi-root workspace. Because gg do add links the TypeScript dependencies of the ticket through shims that lead to the sources of their sibling checkouts (.gg/ts_links/, written by gg_localize_refs), stepping into a dependency lands in its src/, and breakpoints set there hit — in any repo, without configuration. Dart folders need no counterpart — the Dart extension offers »Run«/»Debug« code lenses by itself.

Targets as regular expressions #

A do add target may be a regular expression selecting repositories the ocean already holds:

gg do add "ds_.+"        # every ocean repo whose name starts with ds_
gg do add "gg_one.*"     # gg_one, gg_one_commit, gg_one_core, …

The pattern is anchored — it has to describe the whole name — so gg do add gg still adds the repository named gg and not every name carrying those two letters. A target matching no ocean repo is used as before, which is what keeps a url and a repository the ocean does not hold yet addressable by name. A pattern selecting more than one repository reports what it expanded to.

Patterns only select what the ocean already has; they discover nothing on the git platform. Use --org, or run do upgrade ocean first.

Backend helpers include cloning and branch creation (git_handler.dart), repo setup (repo_setup.dart), the add logic (add_repository_helper.dart), .gitattributes upkeep (git_attributes.dart), lock-file gitignore handling (gitignore_lock_files.dart), legacy git-hook removal (legacy_git_hooks.dart) and localized-override cleanup (dependency_overrides.dart).

License #

gg_multi_workspace is licensed under the terms specified in the LICENSE file.

0
likes
160
points
828
downloads

Documentation

API reference

Publisher

verified publisherinlavigo.com

Weekly Downloads

Workspace management of the gg_multi tool family - adding repos and organizations, importing, creating and removing tickets, syncing the ocean, listing workspaces.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, gg_args, gg_console_colors, gg_git, gg_local_package_dependencies, gg_localize_refs, gg_log, gg_multi_core, gg_one, gg_process, gg_status_printer, helix, http, path, pubspec_parse, yaml, yaml_edit

More

Packages that depend on gg_multi_workspace