---
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: