Skip to content

feat(docs): add Spectrum 2 documentation and MCP server#697

Merged
GarthDB merged 5 commits intomainfrom
feat/s2-docs
Feb 12, 2026
Merged

feat(docs): add Spectrum 2 documentation and MCP server#697
GarthDB merged 5 commits intomainfrom
feat/s2-docs

Conversation

@GarthDB
Copy link
Member

@GarthDB GarthDB commented Feb 12, 2026

Summary

This PR adds comprehensive Spectrum 2 documentation to the monorepo:

  • 102 markdown pages with structured YAML frontmatter scraped from s2.spectrum.corp.adobe.com
  • MCP server for AI assistant access to S2 component docs
  • Transform scripts for maintaining frontmatter consistency

New Projects

docs/s2-docs/ (102 pages)

  • 69 component docs (actions, containers, feedback, inputs, navigation, status)
  • 25 design guidelines (color, typography, app frame, layout)
  • 3 fundamentals pages (home, introduction, principles)
  • 1 developer overview
  • 4 support pages (FAQs, contact, resources, quarterly recap)

tools/s2-docs-mcp/ (MCP server)

  • Query and search S2 documentation via Model Context Protocol
  • Tools: list-s2-components, get-s2-component, search-s2-docs, find-by-use-case, get-stats
  • Filesystem-based index generation (69 components)

Features

  • YAML frontmatter with source_url, category, tags, related_components
  • Source URLs for chatbot citation (e.g., https://s2.spectrum.corp.adobe.com/page/button/)
  • Related component metadata for navigation
  • Transform scripts (transform-to-frontmatter.js, add-related-metadata.js)
  • Moon task configs for both projects

Benefits

  • Unified ecosystem: S2 docs alongside tokens, schemas, visualizers
  • AI assistant access to S2 component docs and design guidelines
  • Structured metadata enables filtering, search, and smart recommendations
  • Modular MCP server works independently or alongside spectrum-design-data-mcp

Test Plan

  • MCP server loads 69 components from docs/s2-docs/
  • Index generation creates docs/s2-docs/index.json
  • Component docs load with source_url in frontmatter
  • Transform scripts work correctly
  • Install MCP in Cursor and test tools
  • Verify documentation is accurate and complete

Made with Cursor

@changeset-bot
Copy link

changeset-bot bot commented Feb 12, 2026

🦋 Changeset detected

Latest commit: 74f34ee

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@adobe/s2-docs-mcp Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@GarthDB
Copy link
Member Author

GarthDB commented Feb 12, 2026

Run report for 74f34ee5

Total time: 6.8ms | Comparison time: 0s | Estimated loss: 6.8ms (100.0% slower)

Action Time Status Info
🟩 SyncWorkspace 6.7ms Passed
Touched files
.changeset/README.md
.changeset/s2-docs-mcp-initial-release.md
.lintstagedrc.js
README.md
docs/s2-docs/INDEX.md
docs/s2-docs/README.md
docs/s2-docs/components/actions/action-bar.md
docs/s2-docs/components/actions/action-button.md
docs/s2-docs/components/actions/action-group.md
docs/s2-docs/components/actions/button-group.md
docs/s2-docs/components/actions/button.md
docs/s2-docs/components/actions/close-button.md
docs/s2-docs/components/actions/link.md
docs/s2-docs/components/actions/list-view.md
docs/s2-docs/components/actions/menu.md
docs/s2-docs/components/containers/cards.md
docs/s2-docs/components/containers/divider.md
docs/s2-docs/components/containers/popover.md
docs/s2-docs/components/containers/standard-panel.md
docs/s2-docs/components/containers/table.md
docs/s2-docs/components/feedback/alert-banner.md
docs/s2-docs/components/feedback/alert-dialog.md
docs/s2-docs/components/feedback/coach-indicator.md
docs/s2-docs/components/feedback/coach-mark.md
docs/s2-docs/components/feedback/contextual-help.md
docs/s2-docs/components/feedback/illustrated-message.md
docs/s2-docs/components/feedback/in-line-alert.md
docs/s2-docs/components/feedback/standard-dialog.md
docs/s2-docs/components/feedback/takeover-dialog.md
docs/s2-docs/components/feedback/toast.md
docs/s2-docs/components/feedback/tooltip.md
docs/s2-docs/components/inputs/calendar.md
docs/s2-docs/components/inputs/checkbox-group.md
docs/s2-docs/components/inputs/checkbox.md
docs/s2-docs/components/inputs/color-area.md
docs/s2-docs/components/inputs/color-handle-and-loupe.md
docs/s2-docs/components/inputs/color-handle.md
docs/s2-docs/components/inputs/color-slider.md
docs/s2-docs/components/inputs/color-wheel.md
docs/s2-docs/components/inputs/combo-box.md
docs/s2-docs/components/inputs/date-picker.md
docs/s2-docs/components/inputs/drop-zone.md
docs/s2-docs/components/inputs/field-label.md
docs/s2-docs/components/inputs/help-text.md
docs/s2-docs/components/inputs/number-field.md
docs/s2-docs/components/inputs/picker.md
docs/s2-docs/components/inputs/radio-button.md
docs/s2-docs/components/inputs/radio-group.md
docs/s2-docs/components/inputs/rating.md
docs/s2-docs/components/inputs/search-field.md
docs/s2-docs/components/inputs/segmented-control.md
docs/s2-docs/components/inputs/select-box.md
docs/s2-docs/components/inputs/slider.md
docs/s2-docs/components/inputs/swatch-group.md
docs/s2-docs/components/inputs/swatch.md
docs/s2-docs/components/inputs/switch.md
docs/s2-docs/components/inputs/tag-field.md
docs/s2-docs/components/inputs/tag-group.md
docs/s2-docs/components/inputs/tag.md
docs/s2-docs/components/inputs/text-area.md
docs/s2-docs/components/inputs/text-field.md
docs/s2-docs/components/inputs/thumbnail.md
docs/s2-docs/components/navigation/accordion.md
docs/s2-docs/components/navigation/breadcrumbs.md
docs/s2-docs/components/navigation/side-navigation.md
docs/s2-docs/components/navigation/tabs.md
docs/s2-docs/components/navigation/tree-view.md
docs/s2-docs/components/status/avatar-group.md
docs/s2-docs/components/status/avatar.md
docs/s2-docs/components/status/badge.md
docs/s2-docs/components/status/meter.md
docs/s2-docs/components/status/progress-bar.md
docs/s2-docs/components/status/progress-circle.md
docs/s2-docs/components/status/status-light.md
docs/s2-docs/components/status/steplist.md
docs/s2-docs/designing/app-frame-content-area.md
docs/s2-docs/designing/app-frame-creating-bluelines.md
docs/s2-docs/designing/app-frame-header.md
docs/s2-docs/designing/app-frame-overview.md
docs/s2-docs/designing/app-frame-side-navigation.md
docs/s2-docs/designing/attention-hierarchy.md
docs/s2-docs/designing/background-layers.md
docs/s2-docs/designing/brand.md
docs/s2-docs/designing/colors.md
docs/s2-docs/designing/containers.md
docs/s2-docs/designing/fonts.md
docs/s2-docs/designing/grays.md
docs/s2-docs/designing/icon-fundamentals.md
docs/s2-docs/designing/illustrations.md
docs/s2-docs/designing/motion.md
docs/s2-docs/designing/object-styles.md
docs/s2-docs/designing/s2-app-frame-content-area-browsing-context.md
docs/s2-docs/designing/s2-app-frame-creating-bluelines-browsing-context.md
docs/s2-docs/designing/s2-app-frame-header-browsing-context.md
docs/s2-docs/designing/s2-app-frame-side-navigation-browsing-context.md
docs/s2-docs/designing/s2-app-frame.md
docs/s2-docs/designing/spacing.md
docs/s2-docs/designing/states.md
docs/s2-docs/designing/typography-fundamentals.md
docs/s2-docs/designing/using-icons.md
docs/s2-docs/developing/developer-overview.md
docs/s2-docs/fundamentals/home.md
docs/s2-docs/fundamentals/introduction.md
docs/s2-docs/fundamentals/principles.md
docs/s2-docs/index.json
docs/s2-docs/moon.yml
docs/s2-docs/support/faqs.md
docs/s2-docs/support/resources.md
package.json
pnpm-lock.yaml
tools/s2-docs-mcp/README.md
tools/s2-docs-mcp/moon.yml
tools/s2-docs-mcp/package.json
tools/s2-docs-mcp/src/batch-scraper.js
tools/s2-docs-mcp/src/cli.js
tools/s2-docs-mcp/src/data/docs.js
tools/s2-docs-mcp/src/index.js
tools/s2-docs-mcp/src/tools/docs.js
tools/s2-docs-transformer/README.md
tools/s2-docs-transformer/SCRAPING.md
tools/s2-docs-transformer/moon.yml
tools/s2-docs-transformer/package.json
tools/s2-docs-transformer/scripts/add-related-metadata.js
tools/s2-docs-transformer/scripts/transform-to-frontmatter.js
tools/s2-docs-transformer/src/browser-client.js
tools/s2-docs-transformer/src/cli.js
tools/s2-docs-transformer/src/parser.js
tools/s2-docs-transformer/src/scraper.js

@GarthDB GarthDB force-pushed the feat/s2-docs branch 3 times, most recently from 522f1e0 to 6804322 Compare February 12, 2026 19:07
GarthDB and others added 2 commits February 12, 2026 12:21
Add comprehensive S2 component documentation scraped from s2.spectrum.corp.adobe.com:
- 100 pages with YAML frontmatter (source_url, tags, relationships)
- 69 components across 6 categories (actions, containers, feedback, inputs, navigation, status)
- 25 design guidelines (color, typography, app frame, layout)
- 2 support pages (FAQs and Resources)
- MCP server for AI assistant access to S2 docs
- Transformation tools for scraping and processing documentation

New projects:
- docs/s2-docs/: Markdown documentation with structured frontmatter
- tools/s2-docs-mcp/: MCP server providing query/search tools for AI assistants
- tools/s2-docs-transformer/: Scraping and transformation utilities

Features:
- Proper YAML frontmatter with source URLs for citation
- Related component metadata for navigation
- Transform scripts for maintaining frontmatter consistency
- Filesystem-based index generation for MCP tool
- Filters to exclude non-useful content (contact, quarterly updates)

Co-authored-by: Cursor <cursoragent@cursor.com>
GarthDB and others added 3 commits February 12, 2026 12:36
@GarthDB GarthDB merged commit d1a8659 into main Feb 12, 2026
3 checks passed
@GarthDB GarthDB deleted the feat/s2-docs branch February 12, 2026 19:58
@GarthDB GarthDB mentioned this pull request Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant