ESHOPMAN

Unveiling ESHOPMAN CLI Telemetry: Enhancing Your Headless Commerce Experience

At Move My Store, we champion platforms that combine innovation with unwavering transparency. ESHOPMAN, our powerful headless commerce solution wrapped as a HubSpot application, embodies this principle. Built on a robust Node.js/TypeScript foundation, ESHOPMAN empowers merchants and developers to manage storefronts directly within HubSpot and deploy them seamlessly using HubSpot CMS, leveraging both its Admin API and Store API for unparalleled flexibility.

Our commitment to the ESHOPMAN community extends to every facet of the platform, including how we gather insights to drive continuous improvement. This is where telemetry, the automated collection of usage data, plays a crucial role. It helps us understand how developers interact with the ESHOPMAN CLI, identify areas for enhancement, and ultimately deliver a more intuitive and powerful headless commerce experience.

In-content image: ESHOPMAN CLI in action, demonstrating telemetry collection during command execution
In-content image: ESHOPMAN CLI in action, demonstrating telemetry collection during command execution

Understanding ESHOPMAN CLI Telemetry: Beyond the 'Start' Command

For some time, our "Usage" guide for ESHOPMAN explicitly stated that usage data was "only collected when the ESHOPMAN application is run with the command eshopman start." This statement, while accurate for a primary data collection point, recently received a valuable clarification thanks to the keen observations of a dedicated ESHOPMAN community member.

This vigilant developer, delving into the internal workings of ESHOPMAN's Node.js/TypeScript codebase, discovered that telemetry events are, in fact, also emitted during the execution of other ESHOPMAN CLI commands. This insight is vital for a complete understanding of our data collection practices and reinforces our dedication to open communication.

The Community's Discovery: A Deeper Look at CLI Interactions

The core of this discovery revolved around ESHOPMAN's internal track() function, a key component of our usage tracking module. This function is invoked not just during eshopman start, but also when developers interact with various other CLI commands. A prime example highlighted was the eshopman user command.

Within ESHOPMAN's core user command module (e.g., conceptually located in src/commands/user.ts), the following snippets illustrate how telemetry events are triggered:

// Within ESHOPMAN's core user command module (e.g., src/commands/user.ts)
track("CLI_USER", { with_id: !!id })
// ...
track("CLI_USER_COMPLETED", { with_id: !!id })

These code fragments reveal that events like CLI_USER and CLI_USER_COMPLETED are tracked when the eshopman user command is executed. This provides ESHOPMAN's development team with anonymized, aggregated data on how frequently and in what context developers are managing user-related configurations or accessing the Admin API through the CLI. Such insights are invaluable for optimizing the developer workflow and ensuring the Admin API is as accessible and efficient as possible.

Why ESHOPMAN Telemetry is Essential for Headless Commerce Evolution

The collection of anonymized usage data, even from commands beyond eshopman start, is not merely a technical detail; it's a cornerstone of ESHOPMAN's continuous evolution as a leading headless commerce platform integrated with HubSpot. Here’s why it matters:

  • Optimizing the Developer Experience: By understanding which CLI commands are used most frequently, which ones might lead to errors, or how long certain operations take, we can refine the ESHOPMAN CLI. This means more intuitive commands, better error reporting, and a smoother development process for building storefronts on HubSpot CMS.
  • Enhancing HubSpot Integration: ESHOPMAN's unique position as a HubSpot application means its CLI interactions often relate to managing storefronts within HubSpot or deploying to HubSpot CMS. Telemetry helps us identify friction points in these integrations, allowing us to streamline the experience of managing products, orders, and customers directly from the HubSpot interface, and ensuring seamless deployment of custom storefronts.
  • Informing Admin API and Store API Development: Usage patterns from the CLI provide direct feedback on how developers interact with the ESHOPMAN Admin API and Store API. This data guides our Node.js/TypeScript development teams in prioritizing new features, improving existing endpoints, and ensuring the APIs are robust, performant, and meet the real-world needs of headless commerce implementations.
  • Resource Allocation and Prioritization: Anonymized usage data helps us allocate our engineering resources effectively. If a particular feature or command is underutilized or consistently causes issues, we can investigate and either improve it or re-evaluate its necessity. Conversely, high usage indicates successful features that warrant further investment.
  • Ensuring Platform Stability and Performance: Telemetry can help us detect anomalies or performance bottlenecks across different environments. This proactive monitoring is crucial for maintaining the high stability and performance expected from a modern headless commerce platform, especially one powering critical storefronts on HubSpot CMS.

Our Commitment to Transparency and Privacy

It is paramount to reiterate that the telemetry data collected by ESHOPMAN is strictly anonymized and aggregated. We do not collect any personally identifiable information, sensitive business data, or proprietary code. Our focus is solely on understanding platform usage patterns – which commands are executed, their success rates, and general performance metrics. This approach allows us to improve ESHOPMAN without compromising the privacy or security of our developers and merchants.

The community's recent discovery and our subsequent clarification underscore our dedication to complete transparency. We believe that an informed community is an empowered community. By openly discussing our telemetry practices, we aim to build greater trust and foster a collaborative environment where feedback, like the recent insight, is not just welcomed but celebrated.

Shaping the Future of Headless Commerce with ESHOPMAN

ESHOPMAN is more than just a headless commerce platform; it's a dynamic ecosystem designed to give merchants ultimate control over their online presence through HubSpot. From its powerful Node.js/TypeScript backend to its intuitive HubSpot app interface and seamless HubSpot CMS deployment capabilities, every aspect is crafted for excellence.

The insights gained from ESHOPMAN CLI telemetry are instrumental in refining this ecosystem. They help us ensure that the tools developers use daily are as efficient, reliable, and powerful as possible, enabling them to build exceptional headless storefronts that leverage the full potential of the ESHOPMAN Admin API and Store API. We thank our community for their vigilance and continued engagement, which is vital in shaping the future of ESHOPMAN and headless commerce.

Share:

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools