diff --git a/check-links.js b/check-links.js
index 34a3a17..793c1bb 100644
--- a/check-links.js
+++ b/check-links.js
@@ -6,6 +6,32 @@ import fetch from 'node-fetch';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
+// URLs to ignore during external link checking
+const IGNORED_URLS = [
+ 'https://deploystack.io',
+ 'https://deploystack.io/*',
+ 'https://cloud.deploystack.io'
+];
+
+// Check if a URL should be ignored
+const shouldIgnoreUrl = (url) => {
+ for (const pattern of IGNORED_URLS) {
+ if (pattern.endsWith('/*')) {
+ // Handle wildcard patterns
+ const baseUrl = pattern.slice(0, -2); // Remove /*
+ if (url === baseUrl || url.startsWith(baseUrl + '/')) {
+ return true;
+ }
+ } else {
+ // Handle exact matches
+ if (url === pattern) {
+ return true;
+ }
+ }
+ }
+ return false;
+};
+
// Read a markdown file and extract all markdown links
const extractLinks = (content) => {
const linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
@@ -82,6 +108,12 @@ const checkExternalUrl = async (url) => {
return true;
}
+ // Check if URL should be ignored
+ if (shouldIgnoreUrl(url)) {
+ console.log(` ➡️ ${url} (ignored)`);
+ return true;
+ }
+
try {
const response = await fetch(url, {
method: 'HEAD',
diff --git a/docs/development/frontend/index.mdx b/docs/development/frontend/index.mdx
index a0ca6f6..7a2bcdb 100644
--- a/docs/development/frontend/index.mdx
+++ b/docs/development/frontend/index.mdx
@@ -74,6 +74,17 @@ For table-specific implementations, refer to the [Table Design System](/developm
The frontend uses **TailwindCSS** for styling with **shadcn-vue** component library for consistent UI elements. For comprehensive styling guidelines, component patterns, and design standards, see the [UI Design System](/development/frontend/ui-design-system) documentation.
+### ⚠️ **Mandatory Design Patterns**
+
+All structured information displays must follow the **[Structured Data Display Pattern](/development/frontend/ui-design-system-structured-data)**. This includes:
+- User profiles and settings
+- Form layouts
+- Configuration displays
+- Installation details
+- Any information presented in label-value pairs
+
+This pattern ensures visual consistency across the entire application.
+
## Environment Configuration
The frontend uses a sophisticated environment variable system that works seamlessly across development and production environments. For complete details on configuring and using environment variables, see the dedicated [Environment Variables Guide](/development/frontend/environment-variables).
@@ -115,6 +126,7 @@ Continue reading the detailed guides:
- [Frontend Architecture](/development/frontend/architecture) - Application architecture, patterns, and development principles
- [UI Design System](/development/frontend/ui-design-system) - Component patterns, styling guidelines, and design standards
+- **[Structured Data Display Pattern](/development/frontend/ui-design-system-structured-data)** - **Mandatory pattern** for consistent information display
- [Environment Variables](/development/frontend/environment-variables) - Complete environment configuration guide
- [Global Event Bus](/development/frontend/event-bus) - Cross-component communication system
- [Internationalization (i18n)](/development/frontend/internationalization) - Multi-language support
diff --git a/docs/development/frontend/ui-design-system-structured-data.mdx b/docs/development/frontend/ui-design-system-structured-data.mdx
new file mode 100644
index 0000000..e3f0c86
--- /dev/null
+++ b/docs/development/frontend/ui-design-system-structured-data.mdx
@@ -0,0 +1,490 @@
+---
+title: Structured Data Display Pattern
+description: Mandatory design pattern for displaying structured information consistently throughout the DeployStack frontend using description lists.
+sidebar: Structured Data
+---
+
+# Structured Data Display Pattern
+
+This document establishes the **mandatory pattern** for displaying structured information throughout the DeployStack frontend. All structured data displays - whether read-only information or form layouts - must follow this consistent description list pattern.
+
+## Design Principle
+
+**Every piece of structured information must use the same visual pattern**: label on the left, content on the right, with consistent spacing and typography.
+
+This creates a cohesive, professional appearance across the entire application and eliminates visual inconsistency between different pages and components.
+
+## The Mandatory Pattern
+
+All structured data displays must use this HTML structure:
+
+```html
+
+ Featured servers appear prominently in the catalog
+
+
+
+```
+
+#### Tag Management Fields
+```html
+
+
Tags
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+
+
+ Tags help users discover your server
+
+
+
+```
+
+#### File Upload Fields
+```html
+
+
Configuration File
+
+
+
+
+
+ Drop your config file here or
+
+
+
+
+
+ Accepted formats: .json, .yaml, .yml
+
+
+
+```
+
+## Integration with ContentWrapper
+
+When using this pattern within pages that require the ContentWrapper (tabbed content, detail pages), structure it like this:
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Installation Details
+
+ Detailed information about this installation
+
+
+
+
+
+
+
+
+
+
+
+```
+
+For more information about ContentWrapper usage, see the [Layout Design Patterns](/development/frontend/ui-design-system#layout-design-patterns) section.
+
+## Typography and Spacing Standards
+
+### Label Typography (dt)
+- **Font size**: `text-sm/6` (14px with 24px line-height)
+- **Font weight**: `font-medium` (500)
+- **Color**: `text-gray-900` (high contrast for readability)
+
+### Content Typography (dd)
+- **Font size**: `text-sm/6` (14px with 24px line-height)
+- **Font weight**: Regular (400)
+- **Color**: `text-gray-700` (slightly lighter than labels)
+
+### Description Text
+- **Font size**: `text-xs` (12px)
+- **Color**: `text-muted-foreground`
+- **Margin**: `mt-1` (4px top margin)
+
+### Spacing
+- **Vertical padding**: `py-6` (24px top and bottom)
+- **Horizontal padding**: `px-4` on mobile, `px-0` on desktop
+- **Grid gap**: `sm:gap-4` (16px between columns)
+
+## Migration Guide
+
+### From Traditional Form Layout
+
+**Before (Traditional Form):**
+
+```html
+
+
+
+
+
+ Enter a unique name for the server
+
+
+
+```
+
+**After (Structured Data Pattern):**
+```html
+
` elements
+2. **Wrap in description list** - Add `
` container with dividers
+3. **Structure each field** - Use the dt/dd grid pattern
+4. **Update typography classes** - Apply standard text classes
+5. **Move descriptions** - Place help text inside `
` with `mt-1`
+
+## Accessibility Features
+
+### Semantic HTML
+- Uses proper `
`, `
`, `
` elements for screen readers
+- Maintains logical information hierarchy
+- Preserves form labeling with `id` and `for` attributes
+
+### Keyboard Navigation
+- All interactive elements remain keyboard accessible
+- Tab order follows natural reading flow (left to right, top to bottom)
+- Form validation and error states work normally
+
+### Screen Reader Support
+```html
+
+
Installation Name
+
+ brightdata-mcp
+
+```
+
+## Common Mistakes to Avoid
+
+### ❌ **Don't Use for Non-Structured Content**
+```html
+
+
Welcome Message
+
Welcome to DeployStack! This is just a paragraph...
+```
+
+## Component Examples
+
+For working examples of this pattern, see:
+- **InstallationInfo.vue** - Read-only information display
+- **BasicInfoStep.vue** - Form layout implementation
+- **UserProfile.vue** - Mixed content with badges and links
+
+## Related Documentation
+
+- [UI Design System](/development/frontend/ui-design-system) - Overall design patterns and component guidelines
+- [ContentWrapper Pattern](/development/frontend/ui-design-system#layout-design-patterns) - Mandatory wrapper for tabbed content
+- [Form Design Patterns](/development/frontend/ui-design-system#form-design-patterns) - Additional form styling guidelines
+
+---
+
+This structured data display pattern is **mandatory** for all new structured information displays and should be used when updating existing components to ensure visual consistency across the DeployStack frontend.
diff --git a/docs/self-hosted/quick-start.mdx b/docs/self-hosted/quick-start.mdx
index c486a77..dfb395b 100644
--- a/docs/self-hosted/quick-start.mdx
+++ b/docs/self-hosted/quick-start.mdx
@@ -316,10 +316,6 @@ If you need assistance:
- **[Global Settings](/global-settings)**: Configure email, auth, and more
- **[User Roles](/roles)**: Manage team permissions
-### Deploy MCP Servers
-
-- **[MCP Server Catalog](https://deploystack.io/mcp)**: Browse available servers
-
---
**🎉 Congratulations!** You now have DeployStack running. Start deploying MCP servers and streamline your AI agent infrastructure!