Skip to content

README: introduce value objects, Option and Result by example, and acknowledge Vogen #119

Closed

Description

@CaffeinatedCoder

Problem

The README opens with "What you get": five groups of bullets, then two value objects in one block, a generated-code listing, a closed set and another list. A .NET developer deciding whether to try TypeKit has to read all of it before they can say what the library's three core features are: generated value objects, Option and Result. Each feature is described by what it guarantees, not shown by what you write and what you get back.

The README also doesn't say where its ideas came from. Much of the value-object generation was inspired by Vogen by Steve Dunn, and the README credits only Metalama.

SuperStrong.Types shows the shape we want: "You write this", one line of code, "You get", a short list, then an "Acknowledgements" section.

Change

  • An introduction built on the three core features, each with a short example in plain words (.claude/skills/plain-docs):
    • Value objects: the one-line declaration and what it gets you, then a validated one and what Create does for every way a value gets created.
    • Option: a value or nothing, with no .Value to read by mistake.
    • Result: a value or an error, and what that gives you over an exception.
  • The rest of "What you get" in a short list after them: closed sets, Patch<T>, EF Core, ASP.NET Core, analyzers, Native AOT, logs and testing, each linking to its guide.
  • An "Acknowledgements" section near the end: Vogen for the value-object generation, and a pointer to "Built with Metalama".
  • Every new C# block is a region in test/CodoMetis.TypeKit.Samples/Root. The claims that quote the README (C21-*) keep their quotes, or move with them.

Done when

  • The README's first screen names the three features and shows each in a few lines of compiled code.
  • The README has an "Acknowledgements" section that credits Vogen.
  • ReadmeSampleTests, GeneratedCodeBlockTests and OracleCatalogueTests pass.

Activity

  1. added this to the 2.3.0 milestone on Oct 29, 2026
  2. added
    documentationImprovements or additions to documentation
    area/value-objectsValue-object contracts and what the aspects generate for them
    on Oct 29, 2026
  3. CaffeinatedCoder commented on Oct 29, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Done in #122, merged into release/2.3.0 (6a99f5b). It ships in 2.3.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/option-resultOption, Result and their extensionsarea/value-objectsValue-object contracts and what the aspects generate for themdocumentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions