Add CLAUDE.md, MkDocs docs, docs page in admin, .claude/rules

- CLAUDE.md: Comprehensive documentation for Compliance SDK platform
- docs-src: AI-Compliance-SDK docs (architecture, developer, auditor, SBOM)
- mkdocs.yml: Compliance-specific nav with purple theme
- docker-compose: Added docs service (port 8011, profile: docs)
- admin-compliance: New /development/docs page with iframe + quick links
- navigation.ts: Added development category with docs module
- .claude/rules: testing, docs, open-source, compliance-checklist

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Boenisch
2026-02-12 00:49:28 +01:00
parent 4435e7ea0a
commit c11270f8e0
22 changed files with 4374 additions and 31 deletions

View File

@@ -8,6 +8,15 @@ import type {
CatalogFieldSchema,
} from '@/lib/sdk/catalog-manager/types'
// Resolve localized text objects to German string for display
function resolveDisplayValue(value: unknown): unknown {
if (value === null || value === undefined) return value
if (typeof value === 'object' && !Array.isArray(value) && 'de' in (value as Record<string, unknown>)) {
return String((value as Record<string, string>).de || '')
}
return value
}
interface CatalogEntryFormProps {
catalog: CatalogMeta
entry?: CatalogEntry | null
@@ -39,7 +48,7 @@ export default function CatalogEntryForm({
if (isEditMode && entry) {
const initialData: Record<string, unknown> = {}
for (const field of catalog.fields) {
initialData[field.key] = entry.data?.[field.key] ?? getDefaultValue(field)
initialData[field.key] = resolveDisplayValue(entry.data?.[field.key]) ?? getDefaultValue(field)
}
setFormData(initialData)
} else {

View File

@@ -66,7 +66,7 @@ interface CategoryCardProps {
export function CategoryCard({ category, showModuleCount = true }: CategoryCardProps) {
return (
<Link
href={`/${category.id}`}
href={category.id === 'compliance-sdk' ? '/sdk' : `/${category.id}`}
className="block p-6 rounded-xl border-2 transition-all hover:shadow-lg bg-white"
style={{
borderColor: `${category.color}40`,