diff options
Diffstat (limited to 'packages/shared/utils')
| -rw-r--r-- | packages/shared/utils/tag.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/shared/utils/tag.ts b/packages/shared/utils/tag.ts index 8e1bd105..4dc7c696 100644 --- a/packages/shared/utils/tag.ts +++ b/packages/shared/utils/tag.ts @@ -1,6 +1,30 @@ +import type { ZTagStyle } from "../types/users"; + /** * Ensures exactly ONE leading # */ export function normalizeTagName(raw: string): string { return raw.trim().replace(/^#+/, ""); // strip every leading # } + +export type TagStyle = ZTagStyle; + +export function getTagStylePrompt(style: TagStyle): string { + switch (style) { + case "lowercase-hyphens": + return "- Use lowercase letters with hyphens between words (e.g., 'machine-learning', 'web-development')"; + case "lowercase-spaces": + return "- Use lowercase letters with spaces between words (e.g., 'machine learning', 'web development')"; + case "lowercase-underscores": + return "- Use lowercase letters with underscores between words (e.g., 'machine_learning', 'web_development')"; + case "titlecase-spaces": + return "- Use title case with spaces between words (e.g., 'Machine Learning', 'Web Development')"; + case "titlecase-hyphens": + return "- Use title case with hyphens between words (e.g., 'Machine-Learning', 'Web-Development')"; + case "camelCase": + return "- Use camelCase format (e.g., 'machineLearning', 'webDevelopment')"; + case "as-generated": + default: + return ""; + } +} |
