---
# System prepended metadata

title: CLI - Serverless Tencent
tags: [' feature', cli]

---

---
tags: cli, feature
author: Oliver.W
---

# CLI - Serverless Tencent

## Problem to Solve:

* Serverless Traditional Feature not working with Tencnet.
    * Need extra work to do adapted with Tencent component infrastructure.
    * Need new fields on SCF components yaml structure to make it compatiable with traditional. 
    * Timecost but outcome not valuable
* Serverless Traditioinal CLI is the core of `serverless` CLI.
    * Changes on traditional CLI utils/core need extra time to review and discussion.
    * Difficult to change the error message structure with extra field (requestId from Tencent)
* Commands with same name but behave differently in Traditional and Components.(rollback)
    * China users may execute traditionally accidentally.

### Things need to consider
* Tencent won't support the Serverless Traditional Framework dev experience.
* Can't make traditional serverless work with component version with out changes (Serverless SCF components need extra fields to adapt).
* We need to keep using `serverless` to keep the bradning in China. 
* Only few commands of Traditional Commands can be supported by Tencent. (logs, metrics)
* Previously discussion: https://github.com/serverless/components/pull/908
    * Need show Framework related help some scenarios.
    * Components CLI, delays start up of Framework CLI by 0.4s
    * Framework CLI confuses Tencent users with non Tencent help output by default.

## Key Result:
* Users won't get distraction by non-usable commands & info.
* Commands works consistent everywhere. 
* New users no need to understand what and how to use serverless traditional features.
* Users no need to tell which fodler is a traditional project folder and which are components folders. 
* Users no need to see English commands info about traditional commands.

## Proposed Solution:

```yaml
# Current Serverless CLI architecture
- serverless CLI
    - Framework Core
        - Plugin
        - SDK
    - Components
        - SDK

# Proposed new Serverless CLI architecture
- serverless CLI
    - serverless-tencent
    - Framework Core
        - Plugin
        - SDK
    - Components
        - SDK
```

Add new serverless-tencent for users from China by default.

* Reimplement Framework base/core commands and make work with Tencnet.
    * Won't missing any core/base feature from framework.
* Remove China related code from Framework Core.
    * Fix delays of framework core start up time.
* Use consistent commands everywhere, as no traditional feature available with Tencent.
    *  Use Components commands handle init,dev,deploy,remove, etc.
    * Make it easier for users to start learn and user Serverless with Tencent.
    * User no need to remember and tell the difference between traditional and components.
* China Team can modify the CLI in anyways needed.
* Save both team time in code review.


* Long Term Login
* CLI Improve
[x] Multi Instance from SCF API gateway Define

### User Experience

## Launch Plan

## Action items:
