Skip to content

🚀 Proposal: Add CLI Support for Headless Migration Execution #34

@king04aman

Description

@king04aman

Hi Team,

First of all, thank you for maintaining this project - it’s already a very useful tool for SAP Cloud Integration migrations.

I would like to propose the addition of a Command-Line Interface (CLI) that enables headless execution of migration tasks. This would complement the current UI-based approach and make the tool easier to integrate into CI/CD pipelines, job schedulers, and automated scripts.

Motivation

  • Many enterprise users prefer automation for repeatable migration activities.
  • A CLI would reduce manual effort and allow the tool to be embedded into existing DevOps workflows.
  • It aligns with the project’s goal of providing flexibility beyond the official Postman collection.

Proposed Scope (initial version)

cpi-migrate init → Configure source/target tenants and authentication.
cpi-migrate list → List migration tasks or integration packages.
cpi-migrate run <taskId> → Trigger a migration task.
cpi-migrate status <taskId> → Retrieve task progress and status.

Implementation Notes

  • Developed in TypeScript, consistent with the recent repo migration.
  • Likely using Commander.js
  • Reuse of existing srv/ services and api/ clients to avoid code duplication.
  • Packaged inside the current repo under a cli/ folder (unless you prefer a separate npm package).

Questions for Maintainers

Before starting development, I’d like to confirm a few points:

  • Would you be open to including CLI support in this repository?
  • Do you prefer the CLI to be packaged within the repo or as a standalone npm package?
  • Do you have a preference for the CLI framework (e.g., Commander.js, oclif, yargs)?

If this proposal is approved, I will prepare an initial PR implementing the list and run commands, followed by status and configuration handling.

Thank you for considering this enhancement. Looking forward to your feedback!

Best,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions