/** * File system layout utilities for multi-project .jm-mate structure * * Structure: * .jm-mate/ * config.json * projects/ * / * project.meta.json * tickets/ * / * ticket.meta.json * plan.md * tasks.md * progress.log.md * notes.md */ import type { JmMateProjectMeta, JmMateTicketMeta } from "./types"; /** * Get the .jm-mate root directory */ export declare function jmMateRoot(root: string): string; /** * Get the projects root directory */ export declare function projectsRoot(root: string): string; /** * Get project directory path */ export declare function projectDir(root: string, projectKey: string): string; /** * Get project metadata file path */ export declare function projectMetaPath(root: string, projectKey: string): string; /** * Get project tickets root directory */ export declare function projectTicketsRoot(root: string, projectKey: string): string; /** * Get ticket directory path */ export declare function ticketDir(root: string, projectKey: string, ticketKey: string): string; /** * Get ticket metadata file path */ export declare function ticketMetaPath(root: string, projectKey: string, ticketKey: string): string; /** * Get ticket plan.md path */ export declare function ticketPlanPath(root: string, projectKey: string, ticketKey: string): string; /** * Get ticket tasks.md path */ export declare function ticketTasksPath(root: string, projectKey: string, ticketKey: string): string; /** * Get ticket progress.log.md path */ export declare function ticketProgressPath(root: string, projectKey: string, ticketKey: string): string; /** * Get ticket notes.md path */ export declare function ticketNotesPath(root: string, projectKey: string, ticketKey: string): string; /** * Project summary for UI display */ export interface JmMateProjectSummary { key: string; name?: string; description?: string; url?: string; ticketCount: number; lastSyncedAt?: string; } /** * Ticket summary for UI display */ export interface JmMateTicketSummary { key: string; projectKey: string; summary: string; status: string; type: string; assignee?: string; storyPoints?: number; labels?: string[]; url: string; updatedAt: string; } /** * Ticket detail with all markdown content */ export interface JmMateTicketDetail { meta: JmMateTicketMeta; planMarkdown: string | null; tasksMarkdown: string | null; progressMarkdown: string | null; notesMarkdown: string | null; } /** * List all projects in .jm-mate/projects/ */ export declare function listProjects(root: string): Promise; /** * List all tickets for a project */ export declare function listTicketsForProject(root: string, projectKey: string): Promise; /** * Get full ticket detail including all markdown files */ export declare function getTicketDetail(root: string, projectKey: string, ticketKey: string): Promise; /** * Get project metadata */ export declare function getProjectMeta(root: string, projectKey: string): Promise; //# sourceMappingURL=fsLayout.d.ts.map