Skip to content

Enterprise Docs Page#612

Open
aaortiz wants to merge 25 commits intomainfrom
enterprise-tab
Open

Enterprise Docs Page#612
aaortiz wants to merge 25 commits intomainfrom
enterprise-tab

Conversation

@aaortiz
Copy link

@aaortiz aaortiz commented Mar 15, 2026

Description

This PR introduces a dedicated Stacklok Enterprise page in the documentation. The page is designed for technical evaluators from prospect companies who have used ToolHive Community and are building an internal business case for Enterprise. It provides a complete picture of what Enterprise is, how it differs from Community, and how to get started.

The page includes:

  • A positioning hero with social proof and an embedded HubSpot demo form
  • A self-identification section framing the Community-to-Enterprise transition as pain points rather than feature thresholds
  • A full ToolHive Community vs. Stacklok Enterprise comparison across six capability groups
  • A product offerings and pricing overview
  • An Enterprise feature deep-dive across Registry, Runtime, Gateway, and Portal
  • A proof of concept section for high-intent prospects
  • Ten FAQ answers addressing common evaluator and procurement objections
  • Section-level demo hooks that escalate in directness and destination as the reader moves down the page
  • A footer CTA pointing to ToolHive Community for readers not yet ready for Enterprise

CRM attribution by originating section is not currently supported. A follow-on issue should be created to evaluate creating a separate form for the proof of concept section.

Type of change

  • New documentation

Submitter checklist

Content and formatting

  • I have reviewed the content for technical accuracy
  • I have reviewed the content for spelling, grammar, and style

Navigation

  • New pages include a frontmatter section with title and description at a minimum
  • Sidebar navigation (sidebars.ts) updated for added, deleted, reordered, or renamed files

Reviewer checklist

Content

  • I have reviewed the content for technical accuracy
  • I have reviewed the content for spelling, grammar, and style

@aaortiz aaortiz self-assigned this Mar 15, 2026
@aaortiz aaortiz added the documentation Improvements or additions to documentation label Mar 15, 2026
@vercel
Copy link

vercel bot commented Mar 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-website Ready Ready Preview, Comment Mar 16, 2026 6:09pm

Request Review

Copy link
Collaborator

@danbarr danbarr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

The page content is solid — the comparison tables are clear, the FAQ is well-structured, and the information flow makes sense for a sales/landing page. The main work needed is structural: the page leans heavily on inline JSX/HTML style props in ways that create maintenance debt, break dark mode, and fight the framework. A handful of component-level issues compound this.


Primary issues

1. hide_title: true + manual <h1> fights Docusaurus

Lines 4, 9–12. The front matter sets hide_title: true to suppress the auto-generated H1, which is then replaced with a manually styled <h1> inside a flex container. This inverts the normal Docusaurus pattern. The right approach is to let Docusaurus render the H1 from the front-matter title, and find another treatment for the logo — for example, as a small inline image before or after the heading, or as part of the page header via a custom component, without overriding the page title mechanism.

Ask: Remove hide_title: true, restore normal H1 rendering from front matter, and move the logo treatment into a reusable component or CSS rather than inline JSX.


2. Hardcoded hex colors in inline styles will break dark mode

Lines 22–31 and 219–227. Both CTA boxes use backgroundColor: '#2d684b' and color: '#ffffff' as inline style props. The project already has --stacklok-green-leaf defined in custom.css for exactly this color, with dark mode overrides. Hardcoded hex values in inline styles bypass the CSS custom property system entirely — the boxes will not respond to the user's theme preference.

Ask: Replace hardcoded hex values with CSS custom properties (var(--stacklok-green-leaf), var(--stacklok-white)), either via a CSS class or by updating the component to use them.


3. Duplicated CTA block — move markup into the component

Lines 21–44 and 218–240. Both CTA boxes are structurally identical: same green box, same font sizing, same padding, same border radius, same nested layout. The only differences are the title text, subtitle text, the id anchor on the first one, and the instanceId prop. All the wrapper markup is copy-pasted.

This should be folded into the HubSpotForm component (or a thin CTAForm wrapper), accepting title, subtitle, and optional anchorId props. The .mdx call then reduces to:

<HubSpotForm
  anchorId="schedule-a-demo"
  title="Schedule a Demo"
  subtitle="See how teams go from evaluation to production in under 60 days"
  portalId="42544743"
  formId="9e42c0ba-c41b-4d22-bacc-86d75854da06"
  region="na2"
  instanceId="demo-cta"
/>

Ask: Consolidate both CTA box instances into a single component that owns all the presentation markup.


4. Single-column tables in "Enterprise feature deep-dive" are semantically wrong

Lines 172–210. Each subsection uses a Markdown table with one column, where the first row is a bolded description and the remaining rows are feature bullets. Tables with a single column are semantically incorrect — they render as a list-with-a-header but with all the visual noise of a table (borders, cell padding, column widths) and none of the navigability of a list. They also don't read as a "deep dive" — they're a capabilities overview.

Convert these to standard Markdown lists with the description as a sentence before the list:

### Registry: No more fighting shadow AI

The source of truth for approved MCP servers within the enterprise.

- Integrate with the official MCP registry
- Add custom MCP servers and skills
- Group servers based on role or use case
...

Also reconsider the section heading "Enterprise feature deep-dive" — "deep dive" sets an expectation the content doesn't meet. "Platform components" or "What's included" would be more accurate.

Ask: Convert single-column tables to Markdown lists; consider renaming the section.


5. Remaining inline HTML/JSX wrappers should be removed or componentized

Beyond the CTA boxes already covered, there are additional unnecessary wrappers:

  • Lines 14–19: <div style={{marginTop, marginBottom}}> around the intro paragraph. Remove it — standard Markdown spacing between elements is sufficient.
  • Lines 47–50: <p style={{marginTop, textAlign: 'center'}}> around a single line of social proof text. If center alignment is needed, use a CSS class.
  • Lines 58–73: A JSX .map() rendering a custom <ul> with Stacklok logo bullets. If the branded bullet is intentional, extract it to a named component (<BrandedList> or similar) with items as a prop. If not essential, a standard Markdown list is cleaner and far easier to maintain.
  • Line 21 outer wrapper: <div style={{textAlign: 'center'}}> wrapping the already-centered inner CTA box — redundant once the component handles its own centering.

Ask: Replace inline-styled wrappers with Markdown, CSS classes, or extracted components. Aim for the .mdx file to contain no raw style={{}} props.


Secondary issues

Location Issue Recommendation
HubSpotForm/index.tsx line 60 Commented-out <p> tag is dead code Remove it
index.mdx line 3 description: "Stacklok Enterprise offerings for ToolHive" is too vague for SEO/link previews Write a sentence that describes the value proposition, e.g. "Stacklok Enterprise is a hardened, production-ready distribution of ToolHive with IdP integration, centralized governance, and SLA-backed support."
index.mdx line 15 Leading space in <h2> A hardened... Remove the space
index.mdx lines 16–18 Intro text exceeds 80-character line limit Wrap at 80 characters per style guide
index.mdx lines 29, 226 width: 'auto' on display: 'inline-block' elements auto is the default; remove
index.mdx lines 46, 52, 78, 152, 167, 214, 242 Seven --- horizontal rules used as section dividers Heading hierarchy + Docusaurus spacing already separates sections. Consider removing most of these — they add visual clutter rather than clarity.
HubSpotForm/index.tsx line 59 Submitted state renders an empty <div> (the <p> inside was commented out) Either restore a confirmation message or remove the empty div

What's working well

The comparison tables in "ToolHive Community vs. Stacklok Enterprise" are well-structured and easy to scan. The FAQ section is thorough and covers the questions a skeptical enterprise buyer would actually ask. The anchor-link CTAs ([Schedule a demo](#schedule-a-demo)) throughout the page are a good pattern for keeping the form accessible from anywhere. The config change (navbar href → internal to link) is the right move.


Generated with Claude Code

@aaortiz
Copy link
Author

aaortiz commented Mar 16, 2026

@danbarr I completed the changes noted in the Claude Review, with the exception of primary issue 4. That particular section of the enterprise doc is a series of lists which look like a block of text when using plain lists. By using tables, the series of lists are easier to parse and distinguish.

@danbarr
Copy link
Collaborator

danbarr commented Mar 16, 2026

Thanks @aaortiz. I suggested a fix for the custom list icons, the light green is barely visible on a white background so that quick override will change it to the dark version in light mode.

You'll need to run the formatting fixes to get CI to pass...if you don't have the tools locally (details in the README and in Claude's instructions), you could load up the dev container, otherwise I can run them when I get home this afternoon.

Co-authored-by: Dan Barr <danbarr@users.noreply.github.com>

---
<p className="text--center">
In production at Fortune 500 financial services, Fortune 500 technology,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a bit redundant, maybe reword: "Running in production at major financial services, technology, and software companies, including Fortune 500 and Global 2000 enterprises"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted! I incorporated the suggestion.

</details>

<details>
<summary>Can I migrate my existing ToolHive Community setup to Enterprise?</summary>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it worth removing this specific question? It makes the migration over to Enterprise sound a lot more complicated and might turn away some prospects.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Removed the question.

your contract status. If you end your contract, your existing Enterprise
binary continues to run. There is no vendor lock-in. You lose access to
new releases, backported security patches, and dedicated support, but your
deployment remains fully operational.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit:

Your data never leaves your environment. Stacklok Enterprise is fully self-hosted: you retain complete control over your data and infrastructure, regardless of contract status. If you end your subscription, you can downgrade to the open-source version at any time. The only things you lose are access to Enterprise features, forward-deployed engineers, backported security patches, and dedicated support. There is zero vendor lock-in.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit are incorporated. We should definitely start thinking what the downgrade experience looks like.

<details>
<summary>How long does a typical deployment take?</summary>

Most deployments reach production within 60 days of contract signing.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit: Most customers begin to see value in less than 2 weeks of contract signing.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

<summary>Why should I use an MCP platform instead of running MCP servers directly?</summary>

Running MCP servers directly gives you no isolation, no access controls, and no visibility
into what those servers are doing. ToolHive addresses this by running each server in its

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit: replace with Stacklok Enteprise (ToolHive is the OSS version) :)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! The changes are in.

on the enterprise release cadence, signed, attested, and qualified for your target workload so your
security team does not have to validate them independently. Custom Connectors are servers you bring
yourself, which ToolHive can run and govern, but which remain your responsibility to maintain and
secure. Enterprise Connectors are sold per connector on an annual basis.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove this since our FDEs can maintain and secure custom connectors as well.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed entire question and answer.

<details>
<summary>Is Stacklok Enterprise available on AWS or Azure Marketplace?</summary>

Stacklok Enterprise is not currently available on AWS or Azure Marketplace. Stacklok is actively exploring cloud marketplace availability and welcomes your input on

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think fine to remove this line.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed entire question.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, kept question and only have the note to contact us to share use case.

@aaortiz
Copy link
Author

aaortiz commented Mar 16, 2026

@danbarr all remaining changes, checks, and comments have been addressed. Let's ship!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants