---
title: "Contributor Profile Registration Guide"
description: "Comprehensive blueprint guide to register new ecosystem partner and core contributor profiles cleanly within the STACKIT Cloud Framework content repository."
scfAsset:
  category: "guide"
  external: false
  tags: ["Contributors", "Onboarding", "Astro", "Blueprint"]
  maintainers:
    - user: "tobias.mueller"
source_url: "https://framework.stackit.cloud/advisory/assetcontainer/stackit/howto-contributors/"
source_file: "docs/advisory/assetcontainer/stackit/howto-contributors.mdx"
---

Work in the STACKIT Cloud Framework is attributed to a contributor, and a contributor is a profile page. These profiles control the dynamic rendering inside the interactive `SCFContributorExplorer` component and establish an explicit link between technical asset containers and the contributing organizations.

That does not mean everyone needs a page of their own. There are two ways in, and the right one depends on whether a company stands behind the work:

- **An organization contributes.** Register it here. It earns its own page, a portfolio that collects every asset and trail it brings, and, once Framework Core has recorded the brand consent, its logo on every card. This guide is about that case.
- **A person contributes in their own name.** Use the shared **`open-contributors`** entry instead of inventing an organization. Nothing else changes: assets and trails are filed under `assetcontainer/open-contributors/` exactly as they would be anywhere else, and the same review applies. Because the entry is shared it carries no company mark, and the `maintainers` block on each page is what credits the individual — name yourself there with `user: your.username`.

Switching later is only a matter of moving the files: register the organization when it appears, and the pages move into its container.

---

## Directory Structure & Asset Placement

The registration of a new contributor profile requires strict compliance with the STACKIT Cloud Framework repository conventions to protect responsive layouts on mobile screen sizes.

### File System Paths

- **Profile Location**: Create the contributor profile as an MDX file under the following exact repository path:

```text
apps/docs/src/content/docs/contributors/[partner-slug].mdx
```

- **Asset Directory**: Store all profile-specific media assets within a matching subfolder:

```text
apps/docs/src/content/docs/contributors/[partner-slug]/
```

### Corporate Identity Assets

Each theme carries its own file, and a theme without one shows a placeholder mark
instead of borrowing the other. A logo drawn for white paper disappears on our dark
surfaces, so we no longer stretch one file across both.

- **Dark mode logo**: `logo.png` or `logo.svg` in the partner-specific subdirectory, 1:1 square aspect ratio. This is the file shown on the dark theme.
- **Light mode logo**: `light-logo.png` or `light-logo.svg`, same folder and format rules. If your mark works on both grounds, supply the same artwork under both names.
- **What happens if one is missing**: the theme without a file shows a neutral placeholder with your initials, never another company's logo. Send the missing variant and it replaces the placeholder on the next build.

---

## Technical Authoring & RAG Optimization Rules

To guarantee flawless compilation and high semantic visibility for automated Enterprise RAG indexers, follow these strict content design tokens:

- **SEO Recommendation**: Write a real, concise summary into the frontmatter `description` field and aim for 120 to 160 characters: enough to say what the page offers. The card shows all of it. The window is rewarded with a ranking bonus rather than enforced: missing it costs the bonus and nothing else, and the pipeline only warns below 120 or above 180 characters. A missing description, a stub, or a placeholder fails the pipeline.
- **Lead-Term Pattern**: All listings regarding competencies or core tech stacks must utilize the `- **Lead term**: Explanation sentence.` pattern to enforce HTML definition list rendering.
- **Context Splitting Prevention**: Avoid using vague pronouns such as "it", "they", or "the platform". Always explicitly state the partner name or the specific STACKIT service to keep vector database chunks completely self-contained.

---

## Production Blueprint Example: Mockup Company

The following block represents a fully compliant reference implementation for a contributor profile. The layout utilizes the centralized `<ScfContributorHeader />` component to automatically render brand marks and badges matching design system standards, replacing manual inline styling blocks.

```markdown
---
title: "Mockup Company Inc."
description: "Official partner profile of Mockup Company Inc. – Specializing in sovereign cloud consulting, STACKIT infrastructure, and fully automated DevOps pipelines."
sidebar:
  hidden: true
---

<ScfContributorHeader title="Mockup Company Inc." badge="Consulting Partner" />

## Company Profile

Mockup Company Inc. guides organizations through the migration, modernization, and operation of workloads in sovereign cloud environments. As a core contributor to the STACKIT Cloud Framework, Mockup Company Inc. focuses on production-ready enterprise architectures, cloud automation, and compliance-driven cloud-native solutions.

## Consultant Profile

### Key Facts
- **Consultant Role**: Senior Cloud Consultant specializing in enterprise architecture.
- **Cloud Experience**: More than 4 years of dedicated project engineering experience.
- **Schwarz Gruppe History**: 8 years of total group experience including 2 years within the STACKIT ecosystem.
- **Academic Education**: Master of Science (M.Sc.) in Media Informatics.

### Technical Core Competencies

#### Cloud Platforms & Managed Services
- **STACKIT SKE**: Design, provisioning, and orchestration of production-ready managed Kubernetes clusters.
- **STACKIT Cloud Foundry**: Deployment, scaling, and lifecycle management of cloud-native applications.
- **Sovereign Cloud Compliance**: Architectural consulting aligned with Schwarz Gruppe governance and security directives.

#### Infrastructure as Code (IaC) & Automation
- **Terraform Automation**: Declarative provisioning and versioning of STACKIT resources including projects, networks, compute, and SKE.
- **Bash Scripting**: Automation of system processes, OS template preparation, and CI utility scripts.

#### DevOps, CI/CD & Tooling
- **Pipelining Engines**: Conception and implementation of robust CI/CD tracks for automated quality assurance and continuous deployment.
- **Docker Runtimes**: Construction of standardized container images and configuration of secure container runtimes.
- **Git Versioning**: Structured version control utilizing Git-Flow and Trunk-Based Development within distributed engineering teams.
```

---

## Live Component Playground (local dev server)

Run the docs locally (VS Code task **🥾 Hike — Start Dev Docs**, or the `hike` command in the container terminal, served on `http://localhost:4321`) and open the interactive playgrounds below. Each renders the component live and documents its configuration options:

- **Contributor Loader** — every prop (`showSearch`, `contributorIds`) with default and pre-filtered examples: `http://localhost:4321/demo/components/demo-scf-contributor-loader`
- **Logo resolution** — how folder-based `logo.png` / `light-logo.svg` brand marks resolve per theme, and what the placeholder looks like when one is missing: `http://localhost:4321/demo/components/demo-scf-logos`

---

## Central Directory Overview

<div class="scf-overview-card-container">
	<a href="/contributors" class="scf-custom-link-card">
		<div class="scf-card-text-box">
			<h4 class="scf-card-title">Explore Registered Contributors</h4>
			<p class="scf-card-desc">Return to the main directory to view all live, interactive contributor profiles and partner ecosystem maps.</p>
		</div>
		<div class="scf-card-icon-box">
			<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
		</div>
	</a>
</div>

<style>{`
	.scf-overview-card-container {
		margin: 3rem 0;
		width: 100%;
		box-sizing: border-box;
	}

	.scf-custom-link-card {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: var(--nds-viewport-spacing-component-150, 24px);
		background: var(--nds-mode-color-background-neutral-surface-default-rest, #18232c);
		border: 1px solid var(--nds-mode-color-border-neutral-subtle-rest, #2e3c48);
		border-radius: var(--nds-viewport-border-radius-container, 16px);
		text-decoration: none !important;
		transition: all 0.2s ease-in-out;
		gap: 24px;
	}

	.scf-custom-link-card:hover {
		background: var(--nds-mode-color-background-neutral-surface-default-hover, #202c36);
		border-color: var(--nds-mode-color-foreground-primary-on-neutral, #00c2cc);
		transform: translateY(-2px);
		box-shadow: 0 8px 24px -8px rgba(0, 194, 204, 0.2);
	}

	.scf-card-text-box {
		display: flex;
		flex-direction: column;
		gap: 6px;
		flex: 1;
		min-width: 0;
	}

	.scf-card-title {
		margin: 0 !important;
		font-family: var(--nds-mode-font-family-heading, 'Univia Pro'), sans-serif;
		font-size: var(--nds-viewport-font-size-heading-content-level-3, 18px) !important;
		font-weight: 700;
		color: var(--nds-mode-color-foreground-neutral-high-contrast, #fff) !important;
	}

	.scf-card-desc {
		margin: 0 !important;
		font-family: var(--nds-mode-font-family-body, 'DIN 2014'), sans-serif;
		font-size: var(--nds-viewport-font-size-body-small, 14px);
		color: var(--nds-mode-color-foreground-neutral-subtle, #9da5ac);
		line-height: 1.4;
	}

	.scf-card-icon-box {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: var(--nds-mode-color-background-neutral-component-subtle-rest, #25323d);
		color: var(--nds-mode-color-foreground-neutral-default, #e5eaee);
		flex-shrink: 0;
		transition: all 0.2s ease-in-out;
	}

	.scf-custom-link-card:hover .scf-card-icon-box {
		background: var(--nds-mode-color-foreground-primary-on-neutral, #00c2cc);
		color: var(--nds-mode-color-background-neutral-surface-sunken-rest, #101820);
		transform: translateX(4px);
	}

	@media (max-width: 600px) {
		.scf-custom-link-card {
			flex-direction: column;
			align-items: flex-start;
			gap: 16px;
		}
		.scf-card-icon-box {
			align-self: flex-end;
		}
	}
`}</style>
