# essentials **Repository Path**: mirrors_CiscoDevNet/essentials ## Basic Information - **Project Name**: essentials - **Description**: 🔮 Essential packages to build, release, and run great software in the cloud - bots, cards, containers, analytics and more! - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-22 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Essentials Essential packages to build, release, and run great software. - Create intelligent bots with [Adaptive Cards](https://adaptivecards.io/) - Gather and send analytics - Deploy Docker containers to [Google Cloud](https://cloud.google.com/) or [OpenShift](https://www.openshift.com/) [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-1.4-4baaaa.svg)](code_of_conduct.md) ## Example ```js // Create a Webex bot with Botkit. const { Botkit } = require("botkit"); const { WebexAdapter } = require("botbuilder-adapter-webex"); const adapter = new WebexAdapter({ access_token: "", public_address: "", secret: "", }); const controller = new Botkit({ adapter, webhook_uri: "/api/messages", }); // Use the product analytics middleware. 👇 const { Analytics } = require("@cisco/bot-middleware"); const analyticsMiddleware = new Analytics(""); controller.middleware.receive.use(analyticsMiddleware.trackUserMessage); controller.middleware.send.use(analyticsMiddleware.trackBotMessage); ``` Now basic properties from all messages are automatically ✨ sent to analytics, including: - message ID - message time - sender's domain, e.g., cisco.com - if the conversation is one-on-one or in a group - more! ## Installation Clone this repository. Install its dependencies with [uv](https://docs.astral.sh/uv/). ```bash cd essentials uv sync --all-packages ``` ### Git Hooks Install the [pre-commit](https://pre-commit.com/) hooks to run linters and security checks automatically. ```bash uv run pre-commit install --hook-type pre-push uv run pre-commit install ``` This sets up two hooks: - **pre-commit** — trailing whitespace, EOF fixer, YAML/JSON/TOML checks, merge conflict detection, debug statements. - **pre-push** — Ruff (lint + format), Pylint + perflint, Bandit (security), TruffleHog (secrets). [TruffleHog](https://github.com/trufflesecurity/trufflehog) must be installed separately: ```bash brew install trufflehog ``` ## License [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)