SP-957: move Team-to-Team Copy commands to 't2tc package' group#370
Merged
Conversation
Adds the CLI counterpart to the new pacman single-package import API. The command lives under a new 'config package' subgroup, separate from the existing batch 'config import', because the two use different, non-interchangeable archive formats. Supports importing from a package zip (--file) or a directory (--directory, flat-zipped by the CLI), with --overwrite and optional --json output. Config docs and CLI help updated to frame the batch commands as their own batch-specific set. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
…fixes) Mark injected members as readonly and use node: import prefixes for built-in modules. The single-package-import test mocks node:fs explicitly so the temp file cleanup is intercepted (the global fs mock only covers the bare specifier). Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Bulk T2TC operations (list/export/import/diff) move from the top-level 'config' group to a dedicated 't2tc package' group, and 'config validate' moves to 'config package validate'. The old commands remain as deprecated aliases with runtime deprecation notices pointing to the new ones, so the change is non-breaking. Also adds a staging-focused 'config package list' and updates the docs. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Buqeta (Buqeta)
approved these changes
Jun 8, 2026
The agentic development guide is general package-authoring guidance, not Team-to-Team Copy. Revert its export/import examples from 't2tc package' back to the 'config' commands (which still work as deprecated aliases) and keep only the validate example on the new 'config package validate'. The general commands will move to non-t2tc package commands later. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Move the Team-to-Team Copy package operations into a self-contained t2tc module (command/package services, package + diff APIs, StudioService and transport constants) so the deprecated config aliases are thin shells. Dismantle the BatchImportExport catch-all in configuration-management by splitting its methods into their proper domains: - staging list -> StagingPackageApi / StagingPackageService - package metadata -> MetadataApi / MetadataService - variables export -> VariableApi - connection-var fix -> connection-variable.helper (shared with t2tc) configuration-management no longer holds any batch export/import code, StudioService, or transport constants; t2tc imports only the variable and package domains plus shared interface types. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
- Rename "batch archive" to "batch artifact" in config-commands docs - Describe overwritten, undeclared variable assignments as "ignored" - Clarify the 'config package' group description (single package) Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
…2tc-command-group Bring in the SP-874 PR-feedback wording and propagate it into the reframed t2tc docs: "batch artifact" terminology, "ignored" variable assignments, and the single-package group description. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
Buqeta (Buqeta)
previously approved these changes
Jun 9, 2026
The base branch was changed.
Resolve conflicts after base PR #369 (SP-874) was squash-merged into main. The branch already carried SP-874's content from the earlier stack, so the reframed t2tc structure is kept in config-commands.md, module.ts and module.spec.ts; main contributes no net file changes. Includes-AI-Code: true Co-authored-by: Cursor <cursoragent@cursor.com>
|
Buqeta (Buqeta)
approved these changes
Jun 9, 2026
Meris Nici (promeris)
approved these changes
Jun 9, 2026
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.



Description
The batch commands
config list/export/import/diffare specific to the Team-to-Team Copy (T2TC) service but lived under the generic top-levelconfiggroup, mixed in with the package-resource commands (package,nodes,versions,variables,metadata). This made the surface confusing: bulk T2TC-archive operations looked like general-purpose commands.Approach: group the T2TC operations under a dedicated
t2tc packagegroup, and keepconfigfor package-resource commands only.config list/export/import/diff→t2tc package list/export/import/diffconfig validate→config package validate(it validates a package)config package listfor everyday package listing (staging packages by default, with flavor filtering)Non-breaking: the old commands are kept as deprecated aliases. Each prints a runtime deprecation notice pointing to its replacement and is marked
[Deprecated]in--help, so existing automation keeps working until the aliases are removed in a future release.Internal structure: the T2TC logic now lives in a dedicated
t2tcmodule (command/package services, package + diff APIs,StudioService, transport constants), so the deprecatedconfigaliases are thin delegators. The formerBatchImportExportcatch-all inconfigis split into domain-specific classes —StagingPackage(staging list),Metadata(package metadata),Variable(variable export) — meaningconfiguration-managementno longer carries any batch export/import code.Docs updated accordingly (new
t2tc-commands.md, reframedconfig-commands.md, mkdocs nav).Relevant links
Checklist
Made with Cursor