{"id":13630614,"url":"https://github.com/calibreapp/cli","last_synced_at":"2026-05-07T06:02:00.570Z","repository":{"id":38374954,"uuid":"104976059","full_name":"calibreapp/cli","owner":"calibreapp","description":"Calibre’s Node.js API and Command Line Client (CLI).","archived":false,"fork":false,"pushed_at":"2025-05-13T00:12:42.000Z","size":4142,"stargazers_count":135,"open_issues_count":0,"forks_count":16,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-13T01:23:54.008Z","etag":null,"topics":["calibre","cli","nodejs"],"latest_commit_sha":null,"homepage":"https://calibreapp.com/node-api","language":"JavaScript","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/calibreapp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-09-27T05:33:50.000Z","updated_at":"2025-05-13T00:12:45.000Z","dependencies_parsed_at":"2022-08-09T03:15:55.178Z","dependency_job_id":"7012483b-f8e6-43d2-bd68-3bae2634496a","html_url":"https://github.com/calibreapp/cli","commit_stats":{"total_commits":740,"total_committers":15,"mean_commits":"49.333333333333336","dds":0.7135135135135136,"last_synced_commit":"dacf0a604aecaa4be694b831f997d17468497372"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calibreapp%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calibreapp%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calibreapp%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calibreapp%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calibreapp","download_url":"https://codeload.github.com/calibreapp/cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253856225,"owners_count":21974568,"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":["calibre","cli","nodejs"],"created_at":"2024-08-01T22:01:50.035Z","updated_at":"2026-05-07T06:02:00.563Z","avatar_url":"https://github.com/calibreapp.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Calibre’s Node.js API and Command Line Client (CLI)\n\n[![NPM package](https://img.shields.io/npm/v/calibre?color=informational)](https://www.npmjs.com/package/calibre)\n![Node version support](https://img.shields.io/node/v/calibre?color=informational)\n[![License](https://img.shields.io/github/license/calibreapp/cli?color=informational)](https://github.com/calibreapp/cli/blob/main/LICENSE)\n\nThis repository contains [Calibre’s](https://calibreapp.com/) APIs you can use to fetch and manage your monitoring data. The Command Line Client (CLI) is designed for simple tasks right from your terminal. We recommend using the Node.js API for more complex tasks and automation.\n\n\u003e ℹ️ **Please note:** Using the APIs requires an active Calibre account (in trial or on a paid plan).\n\n## 🖇 Table of Contents\n\n1. [Installation](#-installation)\n2. [Authentication](#-authentication)\n3. [Features](#-features)\n4. [Usage](#-usage)\n5. [Package Exports](#-package-exports)\n6. [Script Examples](#-script-examples)\n7. [Contributing](#-contributing)\n8. [Resources](#-resources)\n9. [License](#-license)\n\n## 📥 Installation\n\nTo install the latest version globally, run this command:\n\n```bash\nnpm install -g calibre\n```\n\nor save it directly to your project:\n\n```bash\nnpm install calibre --save\n```\n\nThe `calibre` package is built to support **all current Node.js LTS releases**.\n\n## 🔐 Authentication\n\nTo authenticate to Calibre and use the APIs, **you will need to create or use an existing API Token**. Learn about the [types of API Tokens and how to create them here](https://calibreapp.com/docs/account-and-billing/manage-api-tokens).\n\nOnce you have an API Token, you can [store it locally](https://calibreapp.com/docs/automation/tokens#store-a-token-locally):\n\n```bash\ncalibre token set \u003cyour token\u003e\n```\n\nOr alternately, set [`CALIBRE_API_TOKEN` environment variable](https://calibreapp.com/docs/automation/tokens#store-a-token-as-an-environment-variable).\n\n## 💡 Features\n\n- **Three data sources**. Synthetic (Lighthouse testing), Chrome UX Report (CrUX), and Real User Metrics (RUM).\n- **Manage performance with a single command**. Retrieve all speed data and manage your Synthetic testing settings.\n- **Run [Single Page Tests](https://calibreapp.com/docs/automation/single-page-tests)**. Create one-off tests privately or share them with your team.\n- **Monitor speed across deploys**. Track performance between deploys and mark them on your charts.\n- **Real User Metrics**. View live visitor data, page-level breakdowns, and historical trends.\n- **Chrome UX Report data**. Access origin-level and URL-specific CrUX data directly from the CLI.\n- **Use Calibre within CI/CD**. Every command has a `--json` flag for machine-readable output.\n- **Script any action**. We export all API methods to the Calibre `npm` package.\n\n## 🛠 Usage\n\nTo see a full list of available commands, subcommands and options run:\n\n```bash\n$ calibre --help\n$ calibre \u003ccommand\u003e --help\n```\n\nYou can start using the CLI right away with the commands listed above, or start with:\n\n```bash\n# List all your sites\n$ calibre site list\n\n# Get a summary of your RUM data for a site\n$ calibre rum summary --site my-site\n\n# List pages or page groupings for a site\n$ calibre rum pages --site my-site\n\n# Get a summary of your CrUX data for a site\n$ calibre crux summary --site my-site\n\n# Manage your Synthetic testing settings for a site using synthetic sub-commands\n$ calibre synthetic\n```\n\nor [see all commands](CLI_COMMANDS.md) in this repository or [Calibre’s documentation](https://calibreapp.com/docs/automation/cli-commands).\n\nIn Node, you can use the either ES Modules or CommonJS versions accordingly:\n\n```javascript\n// ES Modules\nimport { Site, Crux, Rum } from 'calibre'\nawait Site.list()\nawait Crux.summary({ site: 'my-site' })\nawait Rum.summary({ site: 'my-site' })\n```\n\n```javascript\n// CommonJS\nconst { Site } = require('calibre')\nawait Site.list()\n```\n\n## 📤 Package exports\n\nIn addition to the named default exports shown above, the `calibre` package also exports CLI related metadata, which is used to generate CLI documentation.\n\n### CLI Commands\n\nEach CLI command is a Node module that exports `command`, `describe`, `handler` and `builder`. You can import all CLI commands from `calibre/cli-commands` (see [`src/cli.js`](https://github.com/calibreapp/cli/blob/main/src/cli.js) for reference).\n\n```javascript\nimport Commands from 'calibre/cli-commands'\n```\n\n### CLI Metadata\n\nYou can import command metadata (used to generate CLI documentation) from the `calibre/cli-metadata` export:\n\n```javascript\nimport { getCommandMetaData } from 'calibre/cli-metadata'\nconsole.log(JSON.stringify(getCommandMetaData(), null, 2))\n```\n\n## 🙌🏻 Contributing\n\nHappy to hear you’re interested in contributing to Calibre’s APIs! Please find our contribution guidelines [here](CONTRIBUTING.md).\n\n## 🖥 Script Examples\n\nWe prepared a handful of examples for common actions you might want to perform:\n\n- [Node.js examples](examples/nodejs)\n- [Bash examples](examples/bash)\n\n## 📚 Resources\n\nFind code examples and more information for the [CLI](https://calibreapp.com/docs/automation/cli) and [Node.js API](https://calibreapp.com/docs/automation/node) in our documentation.\n\n## 💼 License\n\nThis project is [MIT licensed](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalibreapp%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalibreapp%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalibreapp%2Fcli/lists"}