| AI Assistant |
|
Technology to support the human Developer in his goals |
ALL |
| Artifact Name |
ArtifactName |
Technical identifier of the build output - the name of the executable binary or library archive. Derived from the Git remote slug when not supplied explicitly. In C++ projects hyphens are replaced by underscores. |
D |
| Delegate |
(pattern) |
A Generator implementation that handles a specific sub-scope (language or project type) by being called from its parent generator. NOT a general design pattern here - always a node in the delegate chain. |
D |
| Developer |
|
A specific type of User. Uses this generator to initialize Git repositories to start development |
ALL |
| Generation Request |
GenerationRequest |
The raw, unvalidated user intent expressed via CLI flags. Validated and assembled into a ProjectDescriptor. NOT the same as ProjectDescriptor - a request may be invalid; a descriptor is always valid. |
A |
| Generator |
Generator |
Interface with the single method PopulateRepository(). Contract for all code-generation delegates. NOT a factory - it does not create descriptors, it consumes them. |
D |
| Generator owned |
|
Files that are under control of the code generator, e.g. Makefile. These should not be edited by the user. |
ALL |
| Guideline |
(file concept) |
A Markdown document encoding a quality or process standard (e.g. testing.md, security.md). Copied verbatim to every generated project's specs/guidelines/ folder. NOT generated from a template. |
ALL |
| Presentation Model |
PresentationModel |
Flat, template-ready data structure derived from a ProjectDescriptor. Fed directly into Go's text/template engine. NOT a domain model - contains no business logic, only data shaped for rendering. |
D |
| Project Descriptor |
ProjectDescriptor |
Validated, immutable description of a project to be generated. Carries all user-supplied and inferred parameters. The single input to the generator pipeline. NOT a config file - it is an in-memory value. |
D |
| Repository |
|
Directory with subdirectory and files tracked by SCM Git. |
ALL |
| Repository Configuration |
RepoConfig |
Persistent YAML file (.repo.yaml) written by repo init and read by repo update. Records the project's language, type, CI system, name, and artifact so updates require no CLI flags. |
D |
| Scaffolding |
(process) |
The act of populating an empty repository with standard structure, boilerplate, and guidelines. The result is a scaffolded project. Includes both file generation and static file copying. |
ALL |
| SCM |
|
Short for Source Code Management, versioning of development artifacts |
ALL |
| Skill |
(file concept) |
A Claude Code custom slash command in .claude/commands/. Predefined prompt for a recurring AI-assisted development task (e.g. /review, /new-endpoint). Generated per project type per the Skill Matrix. |
ALL |
| Skill Matrix |
(content convention) |
Mapping of skills to applicable project types (CLI Tool, Library, Service). Determines which skill files are generated for a given ProjectDescriptor. Analogous to the guideline applicability table. |
ALL |
| Target Repository |
TargetPath |
The absolute or relative path of the empty Git repository to be populated. All generated and copied files are written here. NOT the generator's own repository. |
D |
| Template |
(embedded file) |
A text file containing Go text/template directives, embedded in the generator binary. Instantiated by the template engine to produce a generated file. Always refers to a text/template file, not a concept. |
I |
| Template Engine |
engine (package) |
The engine package that combines a template with a PresentationModel to produce a generated file. Handles file I/O and error propagation. |
I |
| User |
|
Human beeing that is using an application |
ALL |
| User owned |
|
Files that are under control of the user, e.g. Makefile.local. These should not be overwritten by the generator. |
ALL |