§1. Whereas extensions are a familiar concept to most Inform users, "kits" are not. They provide what can be large bodies of pre-compiled material.

Every Inform project needs a kit called BasicInformKit, and a kit associated with the natural language it will eventually read or write, such as EnglishLanguageKit. After that, one of two things can happen:

In effect, Inform by default assumes it is making an interactive fiction of some kind, and must be explicitly told if it's to make a "basic" program with no world model or command parser.

In practice this leads to two default configurations:

BasicInformKit + EnglishLanguageKit + BasicInformExtrasKit
BasicInformKit + EnglishLanguageKit + WorldModelKit + CommandParserKit

See Manual (in inbuild) for where the compiler expects to find kits.

§2. Use of a kit can implicitly include an associated extension: for example, if BasicInformKit is used (and it always is), then the extension Basic Inform by Graham Nelson is auto-included. Similarly, use of either WorldModelKit or CommandParserKit mandates inclusion of the Standard Rules.1 Kits can also force each other to be present: for example, use of CommandParserKit forces WorldModelKit to be present, but not vice versa.

§3. The source code for a kit is a web. Inter code is highly verbose, very low-level and not at all legible, so these webs do not contain textual Inter code: instead, they are written in Inform 6 syntax.2 This means that to create or edit kits, you need to be able to write Inform 6 code, but it's a very simple language to learn if all you're doing is writing functions.

Though kits may be written in what looks like Inform 6 syntax, they are not compiled by the inform6 compiler. Instead, they are "assimilated" by inter. For details, see Using Inter (in inter). Or the process can conveniently be done as needed by the build-manager inbuild; in fact, using inbuild to make an Inform project which needs a kit will automatically cause that kit to be built before anything else is done.

BasicInformKit

BasicInformKit

A kit of Inter code providing runtime support for all programs written with Inform. Included with the apps in precompiled form.

BasicInformExtrasKit

BasicInformExtrasKit

A kit of Inter code providing runtime support for all programs not using WorldModelKit. Included with the apps in precompiled form.

EnglishLanguageKit

EnglishLanguageKit

A kit of Inter code providing runtime support for programs compiled with English as their natural language.

WorldModelKit

WorldModelKit

A kit of Inter code providing runtime support for interactive fiction projects with a simulated world. Included with the apps in precompiled form.

CommandParserKit

CommandParserKit

A kit of Inter code providing runtime support for interactive fiction projects with a command parser interface. Included with the apps in precompiled form.

§4. Kits are a much more structured version of what, in pre-2016 Inform, was done with so-called "I6 template files", which tended to have names like Whatever.i6t. Those do not exist any more.