Skip to content

SP-957: move Team-to-Team Copy commands to 't2tc package' group#370

Merged
Zgjim Haziri (ZgjimHaziri) merged 9 commits into
mainfrom
SP-957-t2tc-command-group
Jun 9, 2026
Merged

SP-957: move Team-to-Team Copy commands to 't2tc package' group#370
Zgjim Haziri (ZgjimHaziri) merged 9 commits into
mainfrom
SP-957-t2tc-command-group

Conversation

@ZgjimHaziri

@ZgjimHaziri Zgjim Haziri (ZgjimHaziri) commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Description

The batch commands config list/export/import/diff are specific to the Team-to-Team Copy (T2TC) service but lived under the generic top-level config group, 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 package group, and keep config for package-resource commands only.

  • config list/export/import/difft2tc package list/export/import/diff
  • config validateconfig package validate (it validates a package)
  • Added config package list for 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 t2tc module (command/package services, package + diff APIs, StudioService, transport constants), so the deprecated config aliases are thin delegators. The former BatchImportExport catch-all in config is split into domain-specific classes — StagingPackage (staging list), Metadata (package metadata), Variable (variable export) — meaning configuration-management no longer carries any batch export/import code.

Docs updated accordingly (new t2tc-commands.md, reframed config-commands.md, mkdocs nav).

Relevant links

Checklist

  • I have self-reviewed this PR
  • I have tested the change and proved that it works in different scenarios
  • I have updated docs if needed

Made with Cursor

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>
Comment thread src/commands/configuration-management/module.ts Outdated
Comment thread docs/user-guide/t2tc-commands.md
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 (Buqeta) previously approved these changes Jun 9, 2026
Base automatically changed from SP-874-add-single-package-import-command to main June 9, 2026 13:30
@ZgjimHaziri Zgjim Haziri (ZgjimHaziri) dismissed Buqeta (Buqeta)’s stale review June 9, 2026 13:30

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>
@sonarqubecloud

sonarqubecloud Bot commented Jun 9, 2026

Copy link
Copy Markdown

@ZgjimHaziri Zgjim Haziri (ZgjimHaziri) merged commit 1c15350 into main Jun 9, 2026
6 checks passed
@ZgjimHaziri Zgjim Haziri (ZgjimHaziri) deleted the SP-957-t2tc-command-group branch June 9, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants