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