SKILL

cratis-fundamentals-concept

Use when a C# or TypeScript domain value needs a distinct type, a concept generates a value or an identity addresses a Chronicle stream. Not for enums, DTO-only values, Go concepts or event migration.

Target: Software development & testing. Automatically collected · unverified.

Excerpt from the author’s documentation

Extracted from a fixed version of SKILL.md in its original language. This is the author’s documentation; installation, compatibility and runtime results have not been verified by this site.

Read the original English text

Topics in the source

  • Cratis domain concepts and event-source identities
  • Verified product sources
  • Choose the type
  • Create a value concept
  • Absence and sentinels
  • Let a concept generate its own value
  • Choosing a strategy
  • When not to generate

Replace a primitive only when the domain gives it distinct meaning. Keep value concepts and Chronicle stream identities separate. Sources: | Package | Purpose | | --- | --- | | Cratis.Fundamentals | ConceptAs , IGeneratable , IGeneratableInContext , GenerationContext and GenerateValue | | Cratis.Chronicle | Cratis.Chronicle.Events.EventSourceId and EventSourceId | | @cratis/fundamentals | TypeScript ConceptAs , field, Guid, and JSON conversion | Reverify product sources before claiming support for another version. Derive a name, amount, code, number, or non-stream entity ID from ConceptAs . Derive an identity from EventSourceId only when that value is actually passed to Chronicle as the event-source/stream ID. Do not use ConceptAs for a Chronicle stream identity. Do not use EventSourceId merely because a value is called an ID. Do not wrap an enum. An enum already expresses a closed domain concept. Keep DTO-only transport values primitive unless the domain type belongs in the public contract. Both generic bases require an underlying type that implements IComparable. A value concept contains exactly one wrapped value. Do not add extra properties; Fundamentals converters assume the co

This is an excerpt. Refer to the complete source and its current requirements.

Source repository
Cratis/AI
Source file
.cratis/ai/skills/cratis-fundamentals-concept/SKILL.md
Fixed revision
868bc20e7f474299466331a3cf86eaf995be0a2b
Read the complete original documentation ↗

Requirements

  • Only the author’s Skill metadata is included. Read the full instructions to check dependencies, licensing and conditions of use.

A small first task

先阅读原作者说明,再决定是否在自己的 AI 工具中使用。

Instructions for your AI tool

Author documentation is not live verification by this site. Without evidence, we do not mark a resource as compatible, safe or free.

Sources and evidence

This record was collected automatically. Its documentation, suitability and runtime behavior have not been manually verified.

Author: Cratis/AI · original repository metadata. Documentation review: Not reviewed. Last source check: 2026-11-12T11:00:49.563Z.

Categories are inferred from names, descriptions and paths. They do not establish compatibility.

License and attribution

MIT. Third-party content and copyright remain with their authors. Refer to the original license and terms.

Original license ↗

Synchronization, copying and user-reported success do not mark a resource as runtime-tested.

Limitations and notes

  • Collecting metadata does not mean this site has installed, adapted, runtime-tested or security-reviewed the resource.