Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
danbarr
left a comment
There was a problem hiding this comment.
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
|
@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. |
|
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>
docs/toolhive/enterprise/index.mdx
Outdated
|
|
||
| --- | ||
| <p className="text--center"> | ||
| In production at Fortune 500 financial services, Fortune 500 technology, |
There was a problem hiding this comment.
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"
There was a problem hiding this comment.
Noted! I incorporated the suggestion.
docs/toolhive/enterprise/index.mdx
Outdated
| </details> | ||
|
|
||
| <details> | ||
| <summary>Can I migrate my existing ToolHive Community setup to Enterprise?</summary> |
There was a problem hiding this comment.
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.
docs/toolhive/enterprise/index.mdx
Outdated
| 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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Edit are incorporated. We should definitely start thinking what the downgrade experience looks like.
docs/toolhive/enterprise/index.mdx
Outdated
| <details> | ||
| <summary>How long does a typical deployment take?</summary> | ||
|
|
||
| Most deployments reach production within 60 days of contract signing. |
There was a problem hiding this comment.
Edit: Most customers begin to see value in less than 2 weeks of contract signing.
docs/toolhive/enterprise/index.mdx
Outdated
| <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 |
There was a problem hiding this comment.
Edit: replace with Stacklok Enteprise (ToolHive is the OSS version) :)
There was a problem hiding this comment.
Good catch! The changes are in.
docs/toolhive/enterprise/index.mdx
Outdated
| 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. |
There was a problem hiding this comment.
I'd remove this since our FDEs can maintain and secure custom connectors as well.
There was a problem hiding this comment.
removed entire question and answer.
docs/toolhive/enterprise/index.mdx
Outdated
| <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 |
There was a problem hiding this comment.
Actually, kept question and only have the note to contact us to share use case.
|
@danbarr all remaining changes, checks, and comments have been addressed. Let's ship! |
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:
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
Submitter checklist
Content and formatting
Navigation
sidebars.ts) updated for added, deleted, reordered, or renamed filesReviewer checklist
Content