/** * Jira Project Code Generator * * WHAT IS A JIRA PROJECT CODE? * ============================= * A Jira project code (also called "project key") is a short identifier that Jira uses * to identify projects. It appears in every ticket ID. * * Examples: * - Project: "Agent Handler" → Code: "AGE" → Tickets: "AGE-123", "AGE-456" * - Project: "NOVA" → Code: "NOVA" → Tickets: "NOVA-789", "NOVA-101" * - Project: "NextCrumbs" → Code: "NXT" → Tickets: "NXT-234" * * Rules: * - Must be 2-10 uppercase letters/numbers * - Must be unique within your Jira instance * - Cannot be changed after project creation * * WHAT THIS FUNCTION DOES: * ======================== * Takes a project slug (like "agent-handler") and optionally a display name (like "Agent Handler") * and generates a valid Jira project code (like "AGE"). * * It uses a smart algorithm: * 1. First checks known mappings (e.g., "nova" → "NOVA") * 2. Then tries to extract from display name (e.g., "Agent Handler" → "AH" or "AGE") * 3. Finally falls back to slug processing (e.g., "agent-handler" → "AGE") * * Examples: * - generateProjectCode("agent-handler", "Agent Handler") → "AGE" * - generateProjectCode("nova", "NOVA") → "NOVA" * - generateProjectCode("my-awesome-project", "My Awesome Project") → "MAP" * - generateProjectCode("test") → "TEST" (or "TE" if too short) */ /** * Generate a Jira project code from a project slug and optional display name * * @param slug - Project slug (e.g., "agent-handler", "nova") * @param displayName - Optional display name (e.g., "Agent Handler", "NOVA") * @returns A valid Jira project code (2-10 uppercase alphanumeric characters) * * @example * ```typescript * generateProjectCode("agent-handler", "Agent Handler") // Returns: "AGE" * generateProjectCode("nova") // Returns: "NOVA" * generateProjectCode("my-project", "My Project") // Returns: "MP" * ``` */ export declare function generateProjectCode(slug: string, displayName?: string): string; /** * Validate if a string is a valid Jira project code * * Jira project codes must be: * - 2-10 characters long * - Uppercase letters and numbers only (A-Z, 0-9) * * @param code - The code to validate * @returns true if valid, false otherwise * * @example * ```typescript * isValidProjectCode("AGE") // Returns: true * isValidProjectCode("NOVA") // Returns: true * isValidProjectCode("a") // Returns: false (too short) * isValidProjectCode("INVALID-CODE") // Returns: false (contains hyphen) * isValidProjectCode("toolongcode123") // Returns: false (too long, lowercase) * ``` */ export declare function isValidProjectCode(code: string): boolean; /** * Suggest a project code with validation and fallback * * This is the main function you should use. It generates a code and ensures it's valid. * If the generated code is invalid, it creates a safe fallback. * * @param slug - Project slug (e.g., "agent-handler") * @param displayName - Optional display name (e.g., "Agent Handler") * @returns A valid Jira project code (guaranteed to be 2-10 uppercase alphanumeric) * * @example * ```typescript * suggestProjectCode("agent-handler", "Agent Handler") // Returns: "AGE" * suggestProjectCode("nova") // Returns: "NOVA" * suggestProjectCode("test-project") // Returns: "TP" or "TEST" (depending on logic) * ``` */ export declare function suggestProjectCode(slug: string, displayName?: string): string; //# sourceMappingURL=project-code-generator.d.ts.map