Project
Project-related data models for spec-kit
Overview
These models define project context and template variables for the Jinja2 engine.
Classes
TemplateContext
Context data for template rendering with Jinja2
Dataclass
Methods
create_default
create_default(project_name: str) -> 'TemplateContext'
Create a default template context for a project
Parameters:
project_name(str, required)
Returns: TemplateContext
from_dict
from_dict(data: Dict[str, Any]) -> 'TemplateContext'
Create TemplateContext from dictionary
Parameters:
data(Dict, required)
Returns: TemplateContext
merge_variables
merge_variables(self, variables: Dict[str, Any]) -> 'TemplateContext'
Create new context with merged template variables
Parameters:
variables(Dict, required)
Returns: TemplateContext
to_dict
to_dict(self) -> Dict[str, Any]
Convert to dictionary for Jinja2 template rendering
Returns: Dict
TemplateVariables
Type-safe container for template variables that avoids dict method conflicts.
Dataclass
This replaces TemplateDict with a more type-safe approach that prevents template variables from conflicting with dictionary methods in Jinja2.
Methods
get
get(self, key: str, default: Any = None) -> Any
Get a template variable with a default value.
Parameters:
key(str, required)default(Any, optional)
items
items(self)
Get all template variables as key-value pairs.
keys
keys(self)
Get all template variable keys.
to_dict
to_dict(self) -> Dict[str, Any]
Convert to regular dictionary for Jinja2 compatibility.
Returns: Dict
values
values(self)
Get all template variable values.