Skip to content

feat: SOLID umbrella, German translations, catalog update#161

Merged
rdmueller merged 7 commits into
LLM-Coding:mainfrom
raifdmueller:feat/solid-translations-catalog
Mar 9, 2026
Merged

feat: SOLID umbrella, German translations, catalog update#161
rdmueller merged 7 commits into
LLM-Coding:mainfrom
raifdmueller:feat/solid-translations-catalog

Conversation

@raifdmueller

@raifdmueller raifdmueller commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • SOLID umbrella: Converted SOLID Principles to umbrella pattern with 5 sub-anchors (SRP, OCP, LSP, ISP, DIP), all Tier-1
  • German translations: Added .de.adoc for all 37 anchors that were missing translations (8 non-GoF + 24 GoF + 5 SOLID sub-anchors)
  • AgentSkill catalog: Updated catalog.md with all GoF sub-patterns (grouped by Creational/Structural/Behavioral) and SOLID sub-principles

Details

  • 91 total anchors, all with German translations
  • SOLID follows same umbrella pattern as GoF Design Patterns
  • Tier-3 GoF patterns (Flyweight, Interpreter, Memento, Visitor) marked as "not a semantic anchor" in catalog

Test plan

  • npm run extract-metadata — 91 anchors extracted, no errors
  • npm test — 87 tests passing
  • All .adoc files have corresponding .de.adoc translations

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Dokumentation
    • Umfangreiche deutschsprachige Anker ergänzt: 23 GoF-Designmuster (Creational, Structural, Behavioral)
    • SOLID-Prinzipien vollständig dokumentiert (SRP, OCP, LSP, ISP, DIP)
    • Neue Architektur- und Methoden-Referenzen: BDD, CQRS, Event-Driven Architecture, IEC 61508 (SIL), Morphological Box, YAGNI, Test Doubles, MBTI
    • Referenzkatalog und Querverweise für Ankerstruktur erweitert

raifdmueller and others added 5 commits March 9, 2026 16:56
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…8, morphological box, test double, YAGNI, MBTI)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Der Pull Request erweitert die Dokumentationsbasis um deutsche Übersetzungen und neue Anker für Architektur-, Design- und Methodik‑Konzepte. Über 40 neue AsciiDoc‑Anchordateien wurden hinzugefügt, das Referenzkatalog‑Markdown wurde erweitert und generierte Metadaten sowie die ESLint‑Konfiguration angepasst.

Changes

Cohort / File(s) Summary
GoF Creational Patterns
docs/anchors/gof-abstract-factory-pattern.de.adoc, docs/anchors/gof-builder-pattern.de.adoc, docs/anchors/gof-factory-method-pattern.de.adoc, docs/anchors/gof-prototype-pattern.de.adoc, docs/anchors/gof-singleton-pattern.de.adoc
Neue deutsche Dokumentationsanker für Creational‑Patterns: Metadaten, Absicht, Wann zu verwenden, Prompt‑Beispiele und Verweise.
GoF Structural Patterns
docs/anchors/gof-adapter-pattern.de.adoc, docs/anchors/gof-bridge-pattern.de.adoc, docs/anchors/gof-composite-pattern.de.adoc, docs/anchors/gof-decorator-pattern.de.adoc, docs/anchors/gof-facade-pattern.de.adoc, docs/anchors/gof-flyweight-pattern.de.adoc, docs/anchors/gof-proxy-pattern.de.adoc
Neue deutsche Dokumentationsanker für Structural‑Patterns mit strukturierter Beschreibung und Metadaten.
GoF Behavioral Patterns
docs/anchors/gof-chain-of-responsibility-pattern.de.adoc, docs/anchors/gof-command-pattern.de.adoc, docs/anchors/gof-interpreter-pattern.de.adoc, docs/anchors/gof-iterator-pattern.de.adoc, docs/anchors/gof-mediator-pattern.de.adoc, docs/anchors/gof-memento-pattern.de.adoc, docs/anchors/gof-observer-pattern.de.adoc, docs/anchors/gof-state-pattern.de.adoc, docs/anchors/gof-strategy-pattern.de.adoc, docs/anchors/gof-template-method-pattern.de.adoc, docs/anchors/gof-visitor-pattern.de.adoc
Neue deutsche Dokumentationsanker für Behavioral‑Patterns (Absicht, Einsatzszenarien, Prompt‑Beispiele, Verweise).
GoF Umbrella
docs/anchors/gof-design-patterns.de.adoc
Neuer Umbrella‑Anker für GoF Design Patterns mit Kernkonzepten, Prinzipien und Verweisen.
SOLID Prinzipien (DE/EN)
docs/anchors/solid-dip.de.adoc, docs/anchors/solid-isp.de.adoc, docs/anchors/solid-lsp.de.adoc, docs/anchors/solid-ocp.de.adoc, docs/anchors/solid-srp.de.adoc, docs/anchors/solid-dip.adoc, docs/anchors/solid-isp.adoc, docs/anchors/solid-lsp.adoc, docs/anchors/solid-ocp.adoc, docs/anchors/solid-srp.adoc, docs/anchors/solid-principles.adoc
Neue und aktualisierte Anker für alle SOLID‑Prinzipien (deutsche/englische Varianten) inklusive Metadatenaktualisierung des SOLID‑Umbrella.
Architektur & Methodiken
docs/anchors/bdd-given-when-then.de.adoc, docs/anchors/cqrs.de.adoc, docs/anchors/event-driven-architecture.de.adoc, docs/anchors/test-double-meszaros.de.adoc, docs/anchors/yagni.de.adoc
Neue deutsche Anker für BDD, CQRS, Event‑Driven Architecture, Test‑Doubles und YAGNI mit Konzepten und Einsatzhinweisen.
Sonstige Konzepte
docs/anchors/iec-61508-sil-levels.de.adoc, docs/anchors/morphological-box.de.adoc, docs/anchors/myers-briggs-type-indicator.de.adoc
Neue Anker zu IEC‑61508 SIL, Morphologische Analyse und MBTI (deutsch).
Katalog & Metadaten
skill/semantic-anchor-translator/references/catalog.md, website/public/data/metadata.json
Katalog erweitert (GoF, SOLID) und generierte metadata.json aktualisiert (Timestamp, Counts/Statistics).
Build / Lint / Website small edits
scripts/eslint.config.mjs, website/src/components/card-grid.js, website/src/components/card-grid.test.js, website/src/styles/main.css
ESLint: ignores und Test‑override hinzugefügt; kleine Formatierungsänderungen in Komponenten, Tests und CSS (stilistische/whitespace).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Der PR-Titel bezieht sich direkt auf die Hauptänderungen: SOLID-Umbrella-Struktur, deutsche Übersetzungen und Katalogaktualisierung.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

raifdmueller and others added 2 commits March 9, 2026 17:14
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
scripts/eslint.config.mjs (1)

26-29: Duplizierte Regeln könnten extrahiert werden.

Die rules sind identisch in beiden Konfigurationsobjekten. Um das DRY-Prinzip einzuhalten, könnte eine gemeinsame Variable verwendet werden.

♻️ Optionale Verbesserung
+const sharedRules = {
+  'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
+  'no-console': 'off',
+}
+
 export default [
   js.configs.recommended,
   prettierConfig,
   {
     files: ['**/*.js'],
     ignores: ['**/*.test.js'],
     languageOptions: {
       ecmaVersion: 2022,
       sourceType: 'commonjs',
       globals: nodeGlobals,
     },
-    rules: {
-      'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
-      'no-console': 'off',
-    },
+    rules: sharedRules,
   },
   {
     files: ['**/*.test.js'],
     languageOptions: {
       ecmaVersion: 2022,
       sourceType: 'module',
+      globals: nodeGlobals,
     },
-    rules: {
-      'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
-      'no-console': 'off',
-    },
+    rules: sharedRules,
   },
 ]

Also applies to: 37-40

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/eslint.config.mjs` around lines 26 - 29, The two ESLint configuration
objects duplicate the same rules ('no-unused-vars' and 'no-console'); extract
those into a shared constant (e.g., commonRules) and replace the inline rules
entries in both config objects with that constant to follow DRY. Update the
top-level export to reference commonRules for both configurations so both places
that currently define rules: { 'no-unused-vars': [...], 'no-console': 'off' }
reuse the single shared variable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/eslint.config.mjs`:
- Around line 31-41: The test-specific ESLint config object for files:
['**/*.test.js'] is missing a globals entry, causing Node globals like
process/console/Buffer/__dirname/__filename to be reported as undefined; add a
property globals: nodeGlobals to that same object (inside the block that
contains languageOptions and rules) so ESLint recognizes Node.js globals for the
matching test files.

---

Nitpick comments:
In `@scripts/eslint.config.mjs`:
- Around line 26-29: The two ESLint configuration objects duplicate the same
rules ('no-unused-vars' and 'no-console'); extract those into a shared constant
(e.g., commonRules) and replace the inline rules entries in both config objects
with that constant to follow DRY. Update the top-level export to reference
commonRules for both configurations so both places that currently define rules:
{ 'no-unused-vars': [...], 'no-console': 'off' } reuse the single shared
variable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: e19ea447-1414-415d-8ef9-58f322d39a9a

📥 Commits

Reviewing files that changed from the base of the PR and between ef999f3 and d25fc67.

📒 Files selected for processing (4)
  • scripts/eslint.config.mjs
  • website/src/components/card-grid.js
  • website/src/components/card-grid.test.js
  • website/src/styles/main.css
💤 Files with no reviewable changes (1)
  • website/src/styles/main.css
✅ Files skipped from review due to trivial changes (2)
  • website/src/components/card-grid.js
  • website/src/components/card-grid.test.js

Comment thread scripts/eslint.config.mjs
Comment on lines +31 to +41
{
files: ['**/*.test.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
},
rules: {
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
'no-console': 'off',
},
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fehlende globals in der Test-Konfiguration.

Der Test-Konfiguration fehlt globals: nodeGlobals. Testdateien, die Node.js-Globals wie process, console, Buffer, __dirname oder __filename verwenden, werden ESLint-Fehler ("is not defined") verursachen.

🐛 Vorgeschlagene Korrektur
   {
     files: ['**/*.test.js'],
     languageOptions: {
       ecmaVersion: 2022,
       sourceType: 'module',
+      globals: nodeGlobals,
     },
     rules: {
       'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
       'no-console': 'off',
     },
   },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
files: ['**/*.test.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
},
rules: {
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
'no-console': 'off',
},
},
{
files: ['**/*.test.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: nodeGlobals,
},
rules: {
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
'no-console': 'off',
},
},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/eslint.config.mjs` around lines 31 - 41, The test-specific ESLint
config object for files: ['**/*.test.js'] is missing a globals entry, causing
Node globals like process/console/Buffer/__dirname/__filename to be reported as
undefined; add a property globals: nodeGlobals to that same object (inside the
block that contains languageOptions and rules) so ESLint recognizes Node.js
globals for the matching test files.

@rdmueller rdmueller merged commit 4d24593 into LLM-Coding:main Mar 9, 2026
8 checks passed
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.

2 participants