From ae45bc96333ac8e9b2ad55a5e87fd3ac844a10e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3jcik?= Date: Sun, 27 Oct 2024 01:48:11 +0200 Subject: [PATCH 1/5] Updates why cli docs --- docs/docs/about/why-cli.mdx | 43 +++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/docs/docs/about/why-cli.mdx b/docs/docs/about/why-cli.mdx index d64bc1754d6..4c7c2c4c7b7 100644 --- a/docs/docs/about/why-cli.mdx +++ b/docs/docs/about/why-cli.mdx @@ -2,8 +2,47 @@ sidebar_position: 1 --- -# Why this CLI +# Why this CLI? CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform to manage various configuration settings of Microsoft 365. -While building solutions for Microsoft 365 expands beyond the Windows operating system, managing many of the platform settings is possible only through PowerShell on Windows. As more and more users work on non-Windows machines, it's inconvenient for them to have to use a Windows virtual machine to configure their tenants. The CLI for Microsoft 365 allows them to configure their tenants no matter which operating system they use. +- CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like: [SharePoint Online](../cmd/spo/spo-get), [Teams](../cmd/teams/app/app-install), [Viva engage](../cmd/viva/engage/engage-search), [Entra](../cmd/entra/administrativeunit/administrativeunit-add), [Power Apps](../cmd/pa/app/app-export), [Power Automate](../cmd/flow/flow-disable), [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get), [OneDrive](../cmd/onedrive/onedrive-list), [Planner](../cmd/planner/bucket/bucket-add), [OneNote](../cmd/onenote/notebook/notebook-add), [Outlook](../cmd/outlook/mail/mail-send), [SharePoint Embedded](../cmd/spe/containertype/containertype-add) and many more. +- Intuitive! If you would like to `add` a new `SharePoint Online` `list` simply write `m365 spo list add` and if you need to do a different action like modifying the list or retrieving it simply change the verb to: `get`, `set`, `remove` etc. +- Interactive by default. Starting to use a new CLI is never easy, that's why CLI for Microsoft 365 offers an interactive mode that actively asks (prompts) you for the required options of a command you want to run. You may also [configure autocomplete for commands](../user-guide/completion.mdx) and options that you're typing in the prompt for almost any terminal. +- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is perfect to be used in a script when output of one command will be used as an input to other command, `text` which is perfect for human reading and `csv` or even `md` (markdown) which is perfect to create a report based outcome. +- Integrates everywhere. CLI for Microsoft 365 was created based on Node.js technologies which allows you to run it on any device and in any shell. +- [Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor). CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. +- Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. +- AI, Of course we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. +- You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). +- How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. +- You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. + +Interested in more? Start with our [user guide](../user-guide/using-cli.mdx) and learn how to use the CLI for Microsoft 365. + +# Why not other approach or different CLI? + +### Why not just do the things manually? + +Using CLI for Microsoft 365 is not about replacing the UI, it's about making your life easier. If you need to do a repetitive task, like creating a new SharePoint list every time a new project is started, you can create a script and automate this task with CLI for Microsoft 365. This way you can save time and avoid human errors. + +### Why not just write your own CLI or some custom console app tailored for your needs? + +You could, but why reinvent the wheel? CLI for Microsoft 365 is a powerful tool that is being actively developed and maintained by a team of experts. It's open-source and free to use. It's also cross-platform and works on any device. It's a great tool that can help you manage your Microsoft 365 tenant more efficiently. + +### Why not use SharePoint Online Management Shell? + +SharePoint Online Management Shell is a great tool, but it's limited to SharePoint Online. CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like SharePoint Online, Teams, Viva engage, Entra, Power Apps, Power Automate, Power Platform, OneDrive, Planner, OneNote, Outlook, SharePoint Embedded and many more. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. + +### Why not Microsoft Graph CLI or Microsoft Graph PowerShell SDK? + +Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are limited to Microsoft Graph API. CLI for Microsoft 365 integrates not only Microsoft Graph but also SharePoint (REST API and CSOM), Azure, Planner, Power Platform and other APIs. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. Each command documentation is 'handcrafted’ not generated code which makes it more human readable and easier to understand. + +### Why not use PnP PowerShell instead? + +There is never a single perfect tool for every use case. Although PnP PowerShell may be a great alternative to CLI for Microsoft 365 there are many advantages of using CLI for Microsoft 365. To name a few: + +- Commands for managing SPFx projects: CLI for Microsoft 365 provides specific commands tailored for managing SharePoint Framework (SPFx) projects, making it easier to handle SPFx-related tasks. +- Works in any shell, not just PowerShell: Unlike PnP PowerShell, which is limited to the PowerShell environment, CLI for Microsoft 365 can be used in any shell, including Bash, Zsh, and others, offering greater flexibility. +- AI assistant and interactive by default: It comes along with couple of user friendly features like AI assistant that will help you quickly find the right command for your task or interactive mode which will provide a more user-friendly and guided experience when using CLI. +- Use CLI programmatically: It can be easily integrated into your Node.js app and used as an API, allowing you to automate tasks and build custom solutions. From cbe8acc9890e266f855a9a5da7fd5e1803794cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3jcik?= <58668583+Adam-it@users.noreply.github.com> Date: Sun, 27 Oct 2024 01:50:25 +0200 Subject: [PATCH 2/5] fixup --- docs/docs/about/why-cli.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/about/why-cli.mdx b/docs/docs/about/why-cli.mdx index 4c7c2c4c7b7..ef3948353dd 100644 --- a/docs/docs/about/why-cli.mdx +++ b/docs/docs/about/why-cli.mdx @@ -9,24 +9,24 @@ CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform - CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like: [SharePoint Online](../cmd/spo/spo-get), [Teams](../cmd/teams/app/app-install), [Viva engage](../cmd/viva/engage/engage-search), [Entra](../cmd/entra/administrativeunit/administrativeunit-add), [Power Apps](../cmd/pa/app/app-export), [Power Automate](../cmd/flow/flow-disable), [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get), [OneDrive](../cmd/onedrive/onedrive-list), [Planner](../cmd/planner/bucket/bucket-add), [OneNote](../cmd/onenote/notebook/notebook-add), [Outlook](../cmd/outlook/mail/mail-send), [SharePoint Embedded](../cmd/spe/containertype/containertype-add) and many more. - Intuitive! If you would like to `add` a new `SharePoint Online` `list` simply write `m365 spo list add` and if you need to do a different action like modifying the list or retrieving it simply change the verb to: `get`, `set`, `remove` etc. - Interactive by default. Starting to use a new CLI is never easy, that's why CLI for Microsoft 365 offers an interactive mode that actively asks (prompts) you for the required options of a command you want to run. You may also [configure autocomplete for commands](../user-guide/completion.mdx) and options that you're typing in the prompt for almost any terminal. -- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is perfect to be used in a script when output of one command will be used as an input to other command, `text` which is perfect for human reading and `csv` or even `md` (markdown) which is perfect to create a report based outcome. +- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is perfect to be used in a script when the output of one command will be used as an input to another command, `text` which is perfect for human reading, and `csv` or even `md` (markdown) which is perfect to create a report based outcome. - Integrates everywhere. CLI for Microsoft 365 was created based on Node.js technologies which allows you to run it on any device and in any shell. - [Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor). CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. - Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. -- AI, Of course we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. +- AI, Of course, we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. - You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). - How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. - You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. Interested in more? Start with our [user guide](../user-guide/using-cli.mdx) and learn how to use the CLI for Microsoft 365. -# Why not other approach or different CLI? +# Why not another approach or a different CLI? -### Why not just do the things manually? +### Why not just do things manually? Using CLI for Microsoft 365 is not about replacing the UI, it's about making your life easier. If you need to do a repetitive task, like creating a new SharePoint list every time a new project is started, you can create a script and automate this task with CLI for Microsoft 365. This way you can save time and avoid human errors. -### Why not just write your own CLI or some custom console app tailored for your needs? +### Why not just write your own CLI or some custom console app tailored to your needs? You could, but why reinvent the wheel? CLI for Microsoft 365 is a powerful tool that is being actively developed and maintained by a team of experts. It's open-source and free to use. It's also cross-platform and works on any device. It's a great tool that can help you manage your Microsoft 365 tenant more efficiently. @@ -36,7 +36,7 @@ SharePoint Online Management Shell is a great tool, but it's limited to SharePoi ### Why not Microsoft Graph CLI or Microsoft Graph PowerShell SDK? -Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are limited to Microsoft Graph API. CLI for Microsoft 365 integrates not only Microsoft Graph but also SharePoint (REST API and CSOM), Azure, Planner, Power Platform and other APIs. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. Each command documentation is 'handcrafted’ not generated code which makes it more human readable and easier to understand. +Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are limited to Microsoft Graph API. CLI for Microsoft 365 integrates not only Microsoft Graph but also SharePoint (REST API and CSOM), Azure, Planner, Power Platform, and other APIs. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. Each command documentation is 'handcrafted’ not generated code which makes it more human-readable and easier to understand. ### Why not use PnP PowerShell instead? From 9a555ee1d4523f211c9b70f56ed1ca45144f01e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3jcik?= Date: Fri, 1 Nov 2024 22:57:09 +0100 Subject: [PATCH 3/5] Resolve review comments --- docs/docs/about/why-cli.mdx | 41 ++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/docs/docs/about/why-cli.mdx b/docs/docs/about/why-cli.mdx index ef3948353dd..c6dfa44e505 100644 --- a/docs/docs/about/why-cli.mdx +++ b/docs/docs/about/why-cli.mdx @@ -6,21 +6,39 @@ sidebar_position: 1 CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform to manage various configuration settings of Microsoft 365. -- CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like: [SharePoint Online](../cmd/spo/spo-get), [Teams](../cmd/teams/app/app-install), [Viva engage](../cmd/viva/engage/engage-search), [Entra](../cmd/entra/administrativeunit/administrativeunit-add), [Power Apps](../cmd/pa/app/app-export), [Power Automate](../cmd/flow/flow-disable), [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get), [OneDrive](../cmd/onedrive/onedrive-list), [Planner](../cmd/planner/bucket/bucket-add), [OneNote](../cmd/onenote/notebook/notebook-add), [Outlook](../cmd/outlook/mail/mail-send), [SharePoint Embedded](../cmd/spe/containertype/containertype-add) and many more. +- CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365, such as: + - [SharePoint Online](../cmd/spo/spo-get) + - [Teams](../cmd/teams/app/app-install) + - [Viva engage](../cmd/viva/engage/engage-search) + - [Power Apps](../cmd/pa/app/app-export) + - [Power Automate](../cmd/flow/flow-disable) + - [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get) + - [OneDrive](../cmd/onedrive/onedrive-list) + - [Planner](../cmd/planner/bucket/bucket-add) + - [OneNote](../cmd/onenote/notebook/notebook-add) + - [Outlook](../cmd/outlook/mail/mail-send) + - [SharePoint Embedded](../cmd/spe/containertype/containertype-add) + - and many more... + + Benefits of combining all these areas into single tool: + - **Consistency**: Manage all areas in the same way, rather than having to learn how each tool for each area works. + - **Interoperability**: Login once, manage everything, and easily pass values from one command in one area to another in another area. + - **Convenience**: Install, manage, and learn a single tool. + - Intuitive! If you would like to `add` a new `SharePoint Online` `list` simply write `m365 spo list add` and if you need to do a different action like modifying the list or retrieving it simply change the verb to: `get`, `set`, `remove` etc. - Interactive by default. Starting to use a new CLI is never easy, that's why CLI for Microsoft 365 offers an interactive mode that actively asks (prompts) you for the required options of a command you want to run. You may also [configure autocomplete for commands](../user-guide/completion.mdx) and options that you're typing in the prompt for almost any terminal. -- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is perfect to be used in a script when the output of one command will be used as an input to another command, `text` which is perfect for human reading, and `csv` or even `md` (markdown) which is perfect to create a report based outcome. -- Integrates everywhere. CLI for Microsoft 365 was created based on Node.js technologies which allows you to run it on any device and in any shell. -- [Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor). CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. +- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is optimized to be used in a script when the output of one command will be used as an input to another command, `text` which is perfect for human reading, and `csv` or even `md` (markdown) which is suitable to create a report based outcome. +- Runs on any device in any shell. CLI for Microsoft 365 runs on Node.js and you can run it on any device and in any shell. +- You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). +- ***[Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor)***. CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. - Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. - AI, Of course, we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. -- You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). - How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. - You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. Interested in more? Start with our [user guide](../user-guide/using-cli.mdx) and learn how to use the CLI for Microsoft 365. -# Why not another approach or a different CLI? +## Why not another approach or a different CLI? ### Why not just do things manually? @@ -32,17 +50,12 @@ You could, but why reinvent the wheel? CLI for Microsoft 365 is a powerful tool ### Why not use SharePoint Online Management Shell? -SharePoint Online Management Shell is a great tool, but it's limited to SharePoint Online. CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like SharePoint Online, Teams, Viva engage, Entra, Power Apps, Power Automate, Power Platform, OneDrive, Planner, OneNote, Outlook, SharePoint Embedded and many more. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. +SharePoint Online Management Shell is a great tool, but it's limited to SharePoint Online and only works with Windows PowerShell. Additionally, it only supports SharePoint administration tasks, so you can only use it to run admin-related commands. In contrast, CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like SharePoint Online, Teams, Viva Engage, Entra, Power Apps, Power Automate, Power Platform, OneDrive, Planner, OneNote, Outlook, SharePoint Embedded, and many more. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. ### Why not Microsoft Graph CLI or Microsoft Graph PowerShell SDK? -Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are limited to Microsoft Graph API. CLI for Microsoft 365 integrates not only Microsoft Graph but also SharePoint (REST API and CSOM), Azure, Planner, Power Platform, and other APIs. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. Each command documentation is 'handcrafted’ not generated code which makes it more human-readable and easier to understand. +Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are limited to Microsoft Graph API. CLI for Microsoft 365 integrates not only Microsoft Graph but also SharePoint (REST API and CSOM), Azure, Planner, Power Platform, and other APIs. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. Each command documentation is 'handcrafted' not generated code which makes it more human-readable and easier to understand. Last but not least, CLI for Microsoft 365 has commands which are scenario-based and are not just wrappers around Graph API. ### Why not use PnP PowerShell instead? -There is never a single perfect tool for every use case. Although PnP PowerShell may be a great alternative to CLI for Microsoft 365 there are many advantages of using CLI for Microsoft 365. To name a few: - -- Commands for managing SPFx projects: CLI for Microsoft 365 provides specific commands tailored for managing SharePoint Framework (SPFx) projects, making it easier to handle SPFx-related tasks. -- Works in any shell, not just PowerShell: Unlike PnP PowerShell, which is limited to the PowerShell environment, CLI for Microsoft 365 can be used in any shell, including Bash, Zsh, and others, offering greater flexibility. -- AI assistant and interactive by default: It comes along with couple of user friendly features like AI assistant that will help you quickly find the right command for your task or interactive mode which will provide a more user-friendly and guided experience when using CLI. -- Use CLI programmatically: It can be easily integrated into your Node.js app and used as an API, allowing you to automate tasks and build custom solutions. +If you use PowerShell, PnP PowerShell is a convenient solution that you can use to manage different parts of Microsoft 365. CLI for Microsoft 365 offers additional flexibility with the ability to run it in any shell. CLI for Microsoft 365 also offers unique commands to manage SPFx solutions. Whether you're a beginner or an advanced user, and want to use CLI for daily interactive use or scripting, you can configure CLI for Microsoft 365 to your needs making an invaluable tool in your toolbox. From 0c7e23f8d97eedbb845ccb4b43060679489ca2c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3jcik?= <58668583+Adam-it@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:35:51 +0100 Subject: [PATCH 4/5] fixup --- docs/docs/about/why-cli.mdx | 44 +++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/docs/docs/about/why-cli.mdx b/docs/docs/about/why-cli.mdx index c6dfa44e505..da1ac78c619 100644 --- a/docs/docs/about/why-cli.mdx +++ b/docs/docs/about/why-cli.mdx @@ -6,18 +6,31 @@ sidebar_position: 1 CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform to manage various configuration settings of Microsoft 365. -- CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365, such as: - - [SharePoint Online](../cmd/spo/spo-get) - - [Teams](../cmd/teams/app/app-install) - - [Viva engage](../cmd/viva/engage/engage-search) - - [Power Apps](../cmd/pa/app/app-export) - - [Power Automate](../cmd/flow/flow-disable) - - [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get) +- Intuitive! If you would like to `add` a new `SharePoint Online` `list` simply write `m365 spo list add` and if you need to do a different action like modifying the list or retrieving it simply change the verb to: `get`, `set`, `remove` etc. +- Interactive by default. Starting to use a new CLI is never easy, that's why CLI for Microsoft 365 offers an interactive mode that actively asks (prompts) you for the required options of a command you want to run. You may also [configure autocomplete for commands](../user-guide/completion.mdx) and options that you're typing in the prompt for almost any terminal. +- Managing multiple [connections](../cmd/connection/connection-list)! CLI for Microsoft 365 allows you to sign in to multiple accounts and tenants and just switch between those connections. This means you no longer need to sign out and in when you want to switch to a different tenant. +- [Different output modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is optimized to be used in a script when the output of one command will be used as an input to another command, `text` which is perfect for human reading, and `csv` or even `md` (markdown) which is suitable to create a report based outcome. +- Runs on any device in any shell. CLI for Microsoft 365 runs on Node.js and you can run it on any device and in any shell. +- You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). +- ***[Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor)***. CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. +- Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. +- AI, Of course, we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. +- How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. +- You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. +- Using the [verbose and debug modes](../user-guide/using-cli/#verbose-and-debug-mode) you may get more details about the command execution making everything super transparent what CLI for Microsoft 365 is performing under the hood. +- CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365, for example: + - [Entra ID](../cmd/entra/administrativeunit/administrativeunit-add) - [OneDrive](../cmd/onedrive/onedrive-list) - - [Planner](../cmd/planner/bucket/bucket-add) - [OneNote](../cmd/onenote/notebook/notebook-add) - [Outlook](../cmd/outlook/mail/mail-send) + - [Planner](../cmd/planner/bucket/bucket-add) + - [Power Apps](../cmd/pa/app/app-export) + - [Power Automate](../cmd/flow/flow-disable) + - [Power Platform](../cmd/pp/aibuildermodel/aibuildermodel-get) - [SharePoint Embedded](../cmd/spe/containertype/containertype-add) + - [SharePoint Online](../cmd/spo/spo-get) + - [Teams](../cmd/teams/app/app-install) + - [Viva engage](../cmd/viva/engage/engage-search) - and many more... Benefits of combining all these areas into single tool: @@ -25,17 +38,6 @@ CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform - **Interoperability**: Login once, manage everything, and easily pass values from one command in one area to another in another area. - **Convenience**: Install, manage, and learn a single tool. -- Intuitive! If you would like to `add` a new `SharePoint Online` `list` simply write `m365 spo list add` and if you need to do a different action like modifying the list or retrieving it simply change the verb to: `get`, `set`, `remove` etc. -- Interactive by default. Starting to use a new CLI is never easy, that's why CLI for Microsoft 365 offers an interactive mode that actively asks (prompts) you for the required options of a command you want to run. You may also [configure autocomplete for commands](../user-guide/completion.mdx) and options that you're typing in the prompt for almost any terminal. -- [Different `output` modes](../user-guide/cli-output-mode.mdx) allow you to choose how you want to see the results of your commands. You can choose between `json` which is optimized to be used in a script when the output of one command will be used as an input to another command, `text` which is perfect for human reading, and `csv` or even `md` (markdown) which is suitable to create a report based outcome. -- Runs on any device in any shell. CLI for Microsoft 365 runs on Node.js and you can run it on any device and in any shell. -- You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). -- ***[Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor)***. CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. -- Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. -- AI, Of course, we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. -- How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. -- You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. - Interested in more? Start with our [user guide](../user-guide/using-cli.mdx) and learn how to use the CLI for Microsoft 365. ## Why not another approach or a different CLI? @@ -50,7 +52,7 @@ You could, but why reinvent the wheel? CLI for Microsoft 365 is a powerful tool ### Why not use SharePoint Online Management Shell? -SharePoint Online Management Shell is a great tool, but it's limited to SharePoint Online and only works with Windows PowerShell. Additionally, it only supports SharePoint administration tasks, so you can only use it to run admin-related commands. In contrast, CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365 like SharePoint Online, Teams, Viva Engage, Entra, Power Apps, Power Automate, Power Platform, OneDrive, Planner, OneNote, Outlook, SharePoint Embedded, and many more. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. +SharePoint Online Management Shell is a great tool, but it's limited to SharePoint Online and only works with Windows PowerShell. Additionally, it only supports SharePoint administration tasks, so you can only use it to run admin-related commands. In contrast, CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365. It's a more comprehensive tool that can help you manage your Microsoft 365 tenant more efficiently. ### Why not Microsoft Graph CLI or Microsoft Graph PowerShell SDK? @@ -58,4 +60,4 @@ Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are ### Why not use PnP PowerShell instead? -If you use PowerShell, PnP PowerShell is a convenient solution that you can use to manage different parts of Microsoft 365. CLI for Microsoft 365 offers additional flexibility with the ability to run it in any shell. CLI for Microsoft 365 also offers unique commands to manage SPFx solutions. Whether you're a beginner or an advanced user, and want to use CLI for daily interactive use or scripting, you can configure CLI for Microsoft 365 to your needs making an invaluable tool in your toolbox. +If you use PowerShell, PnP PowerShell is a convenient solution that you can use to manage different parts of Microsoft 365. CLI for Microsoft 365 offers additional flexibility with the ability to run it in any shell. CLI for Microsoft 365 also offers unique commands to manage SPFx solutions. Whether you're a beginner or an advanced user, and want to use CLI for daily interactive use or scripting, you can configure CLI for Microsoft 365 to your needs making an invaluable tool in your toolbox. CLI for Microsoft 365- offers interactive mode by default which will actively prompt you for required options. CLI for Microsoft 365 is also more intuitive since all commands are grouped into areas like `spo` for SharePoint Online or `entra` for Entra ID, which makes it easier to find the command or operation you are looking for. From 594afcdaa3569e4730ff9b2c0f6792966cf9409d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3jcik?= <58668583+Adam-it@users.noreply.github.com> Date: Thu, 19 Dec 2024 10:02:20 +0100 Subject: [PATCH 5/5] Apply suggestions from code review Co-authored-by: Milan Holemans <11723921+milanholemans@users.noreply.github.com> --- docs/docs/about/why-cli.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/about/why-cli.mdx b/docs/docs/about/why-cli.mdx index da1ac78c619..79533d62d8c 100644 --- a/docs/docs/about/why-cli.mdx +++ b/docs/docs/about/why-cli.mdx @@ -14,8 +14,8 @@ CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform - You may use it in CI/CD pipelines. It integrates easily with Azure DevOps and natively with GitHub workflows. CLI has dedicated [GitHub actions](../user-guide/github-actions) which you may use directly in GitHub workflow and it allows you to scaffold a pipeline for [Azure DevOps](../cmd/spfx/project/project-azuredevops-pipeline-add) and [GitHub workflows](../cmd/spfx/project/project-github-workflow-add). - ***[Manage SharePoint Framework solutions](../cmd/spfx/spfx-doctor)***. CLI for Microsoft 365 will help you setup your local environment for SPFx development and will help you with common tasks when developing SPFx solutions, like validating its correctness or getting guidance on how to upgrade it. - Make [CLI for Microsoft 365 your own](../user-guide/configuring-cli). CLI for Microsoft 365 offers a variety of settings that will allow you to customize it for your specific use case or needs. If going over the settings is challenging, then you will love the [m365 setup](../cmd/setup) command that will help you customize CLI for common use cases like setting it to be tailored to be run in a script. -- AI, Of course, we have an AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. -- How many CLI's allows you to run it as your API in an app? That is what I though. [CLI for Microsoft 365 may be used as an API](../user-guide/use-cli-api) in your Node.js app. +- AI, of course, we have AI! CLI for Microsoft 365 comes along with an [AI assistant chili 🌶️](../user-guide/chili) that will help you find the right commands for your tasks. +- How many CLIs allow you to run them as an API in your app? Exactly! [CLI for Microsoft 365 can be used as an API](../user-guide/use-cli-api) in your Node.js app. - You may filter and sort the output of every command. [Filtering and sorting](../user-guide/filter-cli-data.mdx) is a powerful feature that allows you to get only the data you need and in the order you want. - Using the [verbose and debug modes](../user-guide/using-cli/#verbose-and-debug-mode) you may get more details about the command execution making everything super transparent what CLI for Microsoft 365 is performing under the hood. - CLI for Microsoft 365 offers a variety of commands from many different areas of Microsoft 365, for example: @@ -60,4 +60,4 @@ Microsoft Graph CLI and Microsoft Graph PowerShell SDK are amazing, but they are ### Why not use PnP PowerShell instead? -If you use PowerShell, PnP PowerShell is a convenient solution that you can use to manage different parts of Microsoft 365. CLI for Microsoft 365 offers additional flexibility with the ability to run it in any shell. CLI for Microsoft 365 also offers unique commands to manage SPFx solutions. Whether you're a beginner or an advanced user, and want to use CLI for daily interactive use or scripting, you can configure CLI for Microsoft 365 to your needs making an invaluable tool in your toolbox. CLI for Microsoft 365- offers interactive mode by default which will actively prompt you for required options. CLI for Microsoft 365 is also more intuitive since all commands are grouped into areas like `spo` for SharePoint Online or `entra` for Entra ID, which makes it easier to find the command or operation you are looking for. +If you use PowerShell, PnP PowerShell is a convenient solution that you can use to manage different parts of Microsoft 365. CLI for Microsoft 365 offers additional flexibility with the ability to run it in any shell. CLI for Microsoft 365 also offers unique commands to manage SPFx solutions. Whether you're a beginner or an advanced user, and want to use CLI for daily interactive use or scripting, you can configure CLI for Microsoft 365 to your needs making an invaluable tool in your toolbox. CLI for Microsoft 365 offers interactive mode by default which will actively prompt you for required options. CLI for Microsoft 365 is also more intuitive since all commands are grouped into areas like `spo` for SharePoint Online or `entra` for Entra ID, which makes it easier to find the command or operation you are looking for.