Source code for pjkm.core.models.group
"""Package group models: curated dependency bundles with scaffolded code."""
from __future__ import annotations
from pydantic import BaseModel, Field
[docs]
class ScaffoldedFile(BaseModel):
"""A template fragment to render when a group is selected."""
[docs]
conditions: dict[str, bool | str] = Field(default_factory=dict)
[docs]
class PackageGroup(BaseModel):
"""A curated bundle of dependencies and scaffolded code/config."""
[docs]
category: str = "Core Dev"
[docs]
archetypes: list[str] = Field(default_factory=list)
[docs]
requires_groups: list[str] = Field(default_factory=list)
[docs]
dependencies: dict[str, list[str]] = Field(default_factory=dict)
[docs]
scaffolded_files: list[ScaffoldedFile] = Field(default_factory=list)