{"id":13599679,"url":"https://github.com/pnp/cli-microsoft365","last_synced_at":"2025-05-13T20:22:14.297Z","repository":{"id":36950356,"uuid":"106723305","full_name":"pnp/cli-microsoft365","owner":"pnp","description":"Manage Microsoft 365 and SharePoint Framework projects on any platform","archived":false,"fork":false,"pushed_at":"2025-05-07T07:46:12.000Z","size":57287,"stargazers_count":979,"open_issues_count":306,"forks_count":339,"subscribers_count":69,"default_branch":"main","last_synced_at":"2025-05-08T19:36:11.055Z","etag":null,"topics":["azure","azure-active-directory","azure-ad","cli","hacktoberfest","microsoft","microsoft-365","microsoft-graph","microsoft-planner","microsoft-power-apps","microsoft-power-automate","microsoft-teams","microsoft-viva","microsoft365","office-365","office365","sharepoint","sharepoint-framework","sharepoint-online","spfx"],"latest_commit_sha":null,"homepage":"https://aka.ms/cli-m365","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pnp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-10-12T17:18:21.000Z","updated_at":"2025-05-08T07:43:29.000Z","dependencies_parsed_at":"2023-09-22T06:07:37.463Z","dependency_job_id":"17b4bc2a-cf6c-4a7a-9bbe-6086775bbbf6","html_url":"https://github.com/pnp/cli-microsoft365","commit_stats":{"total_commits":3353,"total_committers":169,"mean_commits":"19.840236686390533","dds":0.6337608112138384,"last_synced_commit":"bcf9db3b827297e63f9e3e156cd834dfe92e2ab7"},"previous_names":["pnp/office365-cli"],"tags_count":106,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnp%2Fcli-microsoft365","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnp%2Fcli-microsoft365/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnp%2Fcli-microsoft365/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnp%2Fcli-microsoft365/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pnp","download_url":"https://codeload.github.com/pnp/cli-microsoft365/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253641185,"owners_count":21940687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","azure-active-directory","azure-ad","cli","hacktoberfest","microsoft","microsoft-365","microsoft-graph","microsoft-planner","microsoft-power-apps","microsoft-power-automate","microsoft-teams","microsoft-viva","microsoft365","office-365","office365","sharepoint","sharepoint-framework","sharepoint-online","spfx"],"created_at":"2024-08-01T17:01:08.980Z","updated_at":"2025-05-13T20:22:14.274Z","avatar_url":"https://github.com/pnp.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://pnp.github.io/cli-microsoft365\"\u003e\n    \u003cimg alt=\"CLI for Microsoft 365\" src=\"./docs/docs/images/pnp-cli-microsoft365-blue.svg\" height=\"78\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003eCLI for Microsoft 365\u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  One CLI for Microsoft 365\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://aka.ms/cli-m365/discord\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Discord-aka.ms/cli--m365/discord-7289da?style=flat-square\"\n      alt=\"Discord\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://bsky.app/profile/climicrosoft365.bsky.social\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Bsky-%40climicrosoft365.bsky.social-208bfe?style=flat-square\"\n      alt=\"Bluesky\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://x.com/climicrosoft365\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/X-%40climicrosoft365-blue?style=flat-square\"\n      alt=\"X\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/pnp/cli-microsoft365/actions?query=workflow%3A%22Release+next%22\"\u003e\n    \u003cimg src=\"https://github.com/pnp/cli-microsoft365/workflows/Release%20next/badge.svg\"\n      alt=\"GitHub\" /\u003e\n  \u003c/a\u003e\n  \n  \u003ca href=\"https://www.npmjs.com/package/@pnp/cli-microsoft365\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@pnp/cli-microsoft365/latest?style=flat-square\"\n      alt=\"npm @pnp/cli-microsoft365@latest\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://www.npmjs.com/package/@pnp/cli-microsoft365\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@pnp/cli-microsoft365/next?style=flat-square\"\n      alt=\"npm @pnp/cli-microsoft365@next\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eCLI for Microsoft 365 helps you manage your Microsoft 365 tenant and SharePoint Framework projects.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pnp.github.io/cli-microsoft365\"\u003eWebsite\u003c/a\u003e |\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e |\n  \u003ca href=\"#install\"\u003eInstall\u003c/a\u003e |\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e |\n  \u003ca href=\"#build\"\u003eBuild\u003c/a\u003e |\n  \u003ca href=\"#contribute\"\u003eContribute\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/pnp/cli-microsoft365/blob/main/CODE_OF_CONDUCT.md\"\u003eCode of Conduct\u003c/a\u003e | \n  \u003ca href=\"#need-help\"\u003eNeed help?\u003c/a\u003e |\n  \u003ca href=\"#disclaimer\"\u003eDisclaimer\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#microsoft-365--power-platform-community\"\u003eMicrosoft 365 \u0026 Power Platform Community\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"CLI for Microsoft 365\" src=\"./docs/docs/images/cli-microsoft365.gif\" style=\"max-height: 500px;max-width: 100%;height: auto;width: auto;object-fit: contain;\" /\u003e\n\u003c/p\u003e\n\n## Features\n\n- Run on any OS\n  - Linux\n  - MacOS\n  - Windows\n- Run on any shell\n  - Azure Cloud Shell\n  - bash\n  - cmder\n  - PowerShell\n  - zsh\n- Unified login\n  - Access all your Microsoft 365 workloads\n- Supported workloads\n  - Bookings\n  - Microsoft Entra ID\n  - Microsoft Teams\n  - Microsoft To Do\n  - Microsoft Viva\n  - OneDrive\n  - OneNote\n  - Outlook\n  - Planner\n  - Power Automate\n  - Power Apps\n  - Power Platform\n  - Purview\n  - Skype for Business\n  - SharePoint Online\n  - To Do\n- Supported authentication methods\n  - Azure Managed Identity\n  - Certificate\n  - Client Secret\n  - Device Code\n  - Username and Password\n- Manage your SharePoint Framework projects\n  - Upgrade your projects\n  - Check your environment compatibility\n\n\u003e Follow our [Bluesky](https://bsky.app/profile/climicrosoft365.bsky.social), or [X](https://x.com/climicrosoft365) account to keep yourself updated about new features, improvements, and bug fixes.\n\n## Install\n\nTo use the CLI for Microsoft 365 you need [`Node.js`](https://nodejs.org). The CLI has been tested with Node.js versions 18 and higher, but we recommend you to use the Node.js LTS version available at the moment.\n\n```\nnpm install -g @pnp/cli-microsoft365\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eInstall beta version β\u003c/summary\u003e\n\n  ```\n  npm install -g @pnp/cli-microsoft365@next\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eAlternate package managers 🧶\u003c/summary\u003e\n\n  ### yarn\n\n  ```\n  yarn global add @pnp/cli-microsoft365\n  ```\n\n  ### npx\n\n  ```\n  npx @pnp/cli-microsoft365\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRun CLI for Microsoft 365 in a Docker container 🐳\u003c/summary\u003e\n\n  ```\n  docker run --rm -it m365pnp/cli-microsoft365:latest\n  ```\n\n  Checkout our [guide](https://pnp.github.io/cli-microsoft365/user-guide/run-cli-in-docker-container/) to learn more about how to run CLI for Microsoft 365 using Docker\n\u003c/details\u003e\n\n## Usage\n\n\u003eBefore logging in, you should create a custom Microsoft Entra application registration. Use the `m365 setup` command or refer to the [Using your own Microsoft Entra identity](https://pnp.github.io/cli-microsoft365/user-guide/using-own-identity/) guide.\n\nUse the `login` command to start the Device Code login flow to authenticate with your Microsoft 365 tenant.\n\n```sh\nm365 login\n```\n\n\u003eFor alternative authentication methods and usage, refer to the [login](https://pnp.github.io/cli-microsoft365/cmd/login/) command documentation\n\nList all commands using the global `--help` option.\n\n```sh\nm365 --help\n```\n\nGet command information and example usage using the global `--help` option.\n\n```sh\nm365 spo site get --help\n```\n\nExecute a command and output response as JSON.\n\n```sh\nm365 spo site get --url https://contoso.sharepoint.com\n```\n\nFilter responses and return custom objects using [JMESPath](https://jmespath.org/) queries using the global `--query`  option.\n\n```sh\nm365 spo site list --query '[?Template==`GROUP#0`].{Title:Title, Url:Url}'\n```\n\nExecute a command and output response as text using the global `--output` option.\n\n```sh\nm365 spo site get --url https://contoso.sharepoint.com --output text\n```\n\n\u003e For more examples and usage, refer to the [command](https://pnp.github.io/cli-microsoft365/cmd/login/) and  [sample scripts](https://pnp.github.io/cli-microsoft365/sample-scripts/introduction/) documentation.\n\n## Build\n\nTo build and run this CLI locally, you will need [`node`](https://nodejs.org) `\u003e= 22.0.0` installed.\n\n```sh\n# Clone this repository\n$ git clone https://github.com/pnp/cli-microsoft365\n\n# Go into the repository\n$ cd cli-microsoft365\n\n# Install dependencies\n$ npm install\n\n# Build the CLI\n$ npm run build\n\n# Symlink your local CLI build\n$ npm link\n```\n\nWhen you execute any `m365` command from the terminal, it will now use your local clone of the CLI.\n\n## Contribute\n\nWe love to accept contributions.\n\nIf you want to get involved with helping us grow the CLI, whether that is suggesting or adding a new command, extending an existing command, or updating our documentation, we would love to hear from you.\n\nCheck out our [Contributing Guide](https://pnp.github.io/cli-microsoft365/contribute/contributing-guide) for detailed information on how to contribute to this project.\n\n## Need Help?\n\n\u003ch4 align=\"center\"\u003e\n  Join our community\n\u003c/h4\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://aka.ms/cli-m365/discord\"\u003e\n    \u003cimg alt=\"Discord\" src=\"./docs/docs/images/discord-logo.png\" width=\"100\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Microsoft 365 \u0026 Power Platform Community\n\nCLI for Microsoft 365 is a [Microsoft 365 \u0026 Power Platform Community](https://pnp.github.io) (PnP) project. Microsoft 365 \u0026 Power Platform Community is a virtual team consisting of Microsoft employees and community members focused on helping the community make the best use of Microsoft products. CLI for Microsoft 365 is an open-source project not affiliated with Microsoft and not covered by Microsoft support. If you experience any issues using the CLI, please submit an issue in the [issues list](https://github.com/pnp/cli-microsoft365/issues).\n\n## Disclaimer\n\n**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**\n\n![telemetry](https://telemetry.sharepointpnp.com/cli-microsoft365/readme)\n","funding_links":[],"categories":["TypeScript","cli","Operating Systems"],"sub_categories":["Windows"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnp%2Fcli-microsoft365","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpnp%2Fcli-microsoft365","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnp%2Fcli-microsoft365/lists"}