--- type: types/type-spec.md name: concept description: Base type for concept pages - architectures, patterns, protocols, workflows, decisions or problems schema: types/concept.schema.yaml subtype_field: concept_type base_dir: concepts page_ref_fields: [related, sources] layout: architecture: {dir: architectures, title: Architekturen} pattern: {dir: patterns, title: Muster} protocol: {dir: protocols, title: Protokolle} workflow: {dir: workflows, title: Abläufe} decision: {dir: decisions, title: Entscheidungen} problem: {dir: problems, title: Problemstellungen} --- # Concept `concept` is the type for abstract ideas, methodologies, patterns and architectural decisions. Concepts provide the theoretical and methodological ground that entities implement or follow. ## Contents - [When to use](#when-to-use) - [When NOT to use](#when-not-to-use) - [Frontmatter](#frontmatter) - [Authoring guidance](#authoring-guidance) - [Template](#template) ## When to use - Documenting an architectural pattern or design approach - Explaining a design pattern or a programming methodology - Describing a communication protocol or standard - Recording a workflow or process that recurs across projects - Documenting an architectural decision (ADR) or design decision - Analysing a recurring problem and its solutions ## When NOT to use - For concrete things such as projects, systems or tools (use `entity`) - For source documents or ingested material (use `source`) - For comparative analyses of concrete subjects (use `comparison`) ## Frontmatter | Field | Required | Use | |---|---:|---| | `type` | Yes | `types/concept.md` | | `concept_type` | Yes | One of: architecture, pattern, protocol, workflow, decision, problem | | `tags` | No | Navigation tags for categorization | | `created` | Yes | Creation date (YYYY-MM-DD) | | `modified` | Yes | Date last changed (YYYY-MM-DD) | | `related` | No | Titles of related concepts and entities | | `sources` | No | Titles of the source pages backing this page's claims | | `provenance` | Yes | sourced, general or mixed | | `summary` | Yes | One-liner for `kb/index.md` | ## Authoring guidance - The title is the concept's canonical name and follows the established term of art, not the KB language (`kb/CONTRACT.md` § "Titles are identifiers", `kb/CONVENTIONS.md` §§ "Naming" and "Language") - Open with a clear definition: what the concept is - Give examples wherever they carry the understanding - Link to the entities that implement or use the concept - Under `provenance: sourced` or `mixed`, back hard facts inline with a `[^cite-id]` footnote - `tools/wikitool cite add --page "" --source "Source - X"` mints the id and its definition - Wikipedia register: factual, neutral, no marketing language ## Template The block below is page material, so it is written in this instance's KB language (`kb/CONVENTIONS.md` `language:`) rather than in the control plane's English - its headings become the headings of every page `wikitool new concept` scaffolds. ```markdown # {name} **Typ:** {concept_type|capitalize} ## Definition TODO: Klare Definition dessen, was dieses Concept ist. ## Kernpunkte - TODO: Kernpunkt 1 - TODO: Kernpunkt 2 - TODO: Kernpunkt 3 ## Beispiele - [[Entity 1]] - kurze Beschreibung - [[Entity 2]] - kurze Beschreibung ## Wann zu verwenden TODO: Bedingungen und Kontexte, in denen dieses Concept greift ## Wann NICHT zu verwenden TODO: Anti-Muster, Warnungen oder Situationen, in denen es fehl am Platz ist ## Verwandte Concepts - [[Related Concept 1]] - [[Related Concept 2]] ``` The value behind `**Typ:**` stays the English enum value - that is what `search --field` filters on. When `wikitool xref` adds a relationship, the two tool-managed sections for relationships and cross-references appear as well; what they are called is the instance's decision in `kb/CONVENTIONS.md` (`sections:`). --- Additional notes: - Concept pages carry the wiki's theoretical underpinning - Each concept type stands for a different category of abstract knowledge - Concepts should be linked to from the entities that implement or use them