@morodomi/ait3
Version:
AIT³ Development Platform - AI + Ticket + Test + Tool driven development methodology
61 lines (60 loc) • 2.21 kB
TypeScript
export declare const TICKET_CONSTANTS: {
readonly DEFAULT_BASE_PATH: ".tickets";
readonly LOCK_FILE_NAME: ".lock";
readonly CONFIG_FILE_NAME: "config.json";
readonly DIRECTORIES: {
readonly TODO: "todo";
readonly DOING: "doing";
readonly DONE: "done";
};
readonly ID_FORMAT: {
readonly LENGTH: 4;
readonly PAD_CHAR: "0";
};
readonly LOCK_CONFIG: {
readonly RETRIES: 5;
readonly STALE_TIME: 5000;
readonly REALPATH: false;
};
readonly VALIDATION: {
readonly TITLE_MIN_LENGTH: 1;
readonly TITLE_MAX_LENGTH: 200;
};
readonly FILE_EXTENSIONS: {
readonly MARKDOWN: ".md";
};
readonly TIME_FORMATS: {
readonly ISO: "YYYY-MM-DD HH:mm:ss";
};
};
export declare const DEFAULT_TICKET_CONFIG: {
readonly backend: "local";
readonly path: ".tickets";
readonly numbering: {
readonly format: "0000";
readonly increment: 1;
readonly next: 1;
};
readonly templates: {
readonly feature: "templates/feature-ticket.md";
readonly bug: "templates/bug-ticket.md";
readonly task: "templates/task-ticket.md";
};
readonly labels: {
readonly priority: readonly ["low", "medium", "high", "critical"];
readonly type: readonly ["feature", "bug", "task", "spike"];
readonly status: readonly ["todo", "doing", "done"];
};
};
export declare const VALID_STATUSES: readonly ["todo", "doing", "done"];
export declare const VALID_PRIORITIES: readonly ["low", "medium", "high", "critical"];
export declare const ERROR_MESSAGES: {
readonly EMPTY_TITLE: "Ticket title cannot be empty";
readonly INVALID_PRIORITY: `Invalid priority. Must be one of: ${string}`;
readonly INVALID_STATUS: `Invalid status. Must be one of: ${string}`;
readonly CONFIG_READ_ERROR: "Failed to read configuration file";
readonly CONFIG_WRITE_ERROR: "Failed to write configuration file";
readonly DIRECTORY_CREATE_ERROR: "Failed to create directory structure";
readonly FILE_WRITE_ERROR: "Failed to write ticket file";
readonly FILE_LOCK_ERROR: "Failed to acquire file lock";
};