Skip to content

The framework

Knowledge as Code is a way of keeping engineering knowledge: plain Markdown in git, where every document has a type and every type declares a schema. kac is the tool that checks a corpus against that schema. This section is the framework itself, meaning the ideas the tool serves rather than the commands serving them.

A corpus is one repository of knowledge records, with the schema it runs. Every corpus takes the same framework and fills it with its own knowledge.

The pages here

  • Principles says why the framework is shaped the way it is, and what the design will not trade away.
  • Taxonomy says what a type and a tier are, what the four tiers ask, and the shape a type takes on disk.
  • The default types introduces every type that ships, grouped by tier, one line each.
  • Metadata says what a record has in frontmatter, how ids are formed, and how a citation reaches a part of one.
  • Contributing says how knowledge is added, reviewed and merged, and where the rules for the words themselves live.
  • Automation says what a pipeline does for a corpus, and what it leaves alone.
  • Lineage says how the types relate to their prior art, and on what terms.

What a corpus has beside these

Four pages travel with each corpus as well. Three of them have tables generated from the types that corpus adopted, so a corpus that took five of the framework's types gets five rows, each linking to a page it holds. Contributing has no generated block. It is the way in, and what a corpus adds locally.

In the corpus What it answers
Taxonomy which types this corpus adopted, and where a record goes
Metadata which fields this corpus's own types carry
Lineage the prior art behind each type this corpus adopted
Contributing the way in to all of the above, and anything the corpus asks locally

Each sits under knowledge-as-code/ in the corpus, beside a root page that is the way in. Every one of them is the narrow, corpus-facing half of a page here.