Dashboard › craft › Distillation
6c314672-c30e-4987-ad92-ffcdc82cb284["lore_tm_v1_-6V4mK-o2paGYVkxnAKHDg85rIEmgYUKotVGBvXeRns"]
Date: Aug 28, 2026
src/schemas/project_config.ts: defines deprecated ChangelogPolicy enum (Auto = 'auto', Simple = 'simple', None = 'none'), StatusProviderName.GitHub = 'github', ArtifactProviderName (GCS = 'gcs', GitHub = 'github', None = 'none'), and VersioningPolicy (Auto = 'auto', Manual = 'manual', CalVer = 'calver').src/schemas/project_config.ts defines GitHubGlobalConfigSchema with required string owner and repo, optional string projectPath; TargetConfigSchema has required name, optional id, includeNames, and excludeNames, with .passthrough() for target-specific properties; TypedTargetConfig<T> is TargetConfig & T.src/schemas/project_config.ts defines BaseStatusProviderSchema permitting only name: 'github' and optional config: z.record(z.any()); BaseArtifactProviderSchema permits name: 'gcs' | 'github' | 'none' with optional arbitrary-record config.src/schemas/project_config.ts defines GitHub artifact configuration: ArtifactPatternsSchema accepts one string or string[]; optional GitHubArtifactsConfigSchema accepts either artifact patterns or a record mapping workflow names to artifact patterns; GitHubArtifactProviderConfigSchema contains artifacts.src/schemas/project_config.ts defines CalVerConfigSchema with optional numeric offset (documented default 14) and optional string format (documented default %y.%-m; supports %y, %m, and %-m); VersioningConfigSchema has optional policy 'auto' | 'manual' | 'calver' and optional calver.src/schemas/project_config.ts defines ChangelogConfigSchema as either a string or object with optional filePath, policy: 'auto' | 'simple' | 'none', and boolean scopeGrouping.src/schemas/project_config.ts centralizes releaseUnitFields: optional github, targets, preReleaseCommand, postReleaseCommand, releaseBranchPrefix, changelog, deprecated changelogPolicy, requireNames, statusProvider, artifactProvider, versioning, and noMerge; noMerge means do not merge the release branch after publishing and defaults to true for compiled GitHub Actions with a dist/ folder.WorkspaceSchema in src/schemas/project_config.ts uses all releaseUnitFields and replaces github with optional GitHubGlobalConfigSchema.partial(), allowing workspace overrides of owner and/or repo while inheriting unspecified top-level GitHub fields; it rejects github.projectPath with message Workspace github.projectPath is not supported..CraftProjectConfigSchema in src/schemas/project_config.ts uses releaseUnitFields, optional minVersion matching /^\d+\.\d+\.\d+.*$/, and optional workspaces record whose names must match /^[A-Za-z0-9_.-]+$/ and values are WorkspaceSchema.CraftProjectConfigSchema.superRefine() rejects configurations that have at least one workspace and top-level github.projectPath, adding a custom issue at ['github', 'projectPath'] with message Workspace configurations cannot use github.projectPath.; documented semantics say a release run selects a named workspace through --workspace <name> or CRAFT_WORKSPACE, and selected workspace fields override top-level fields, while absent workspaces preserves backward-compatible implicit single-release-unit behavior.