@z-test/memory-bank-mcp
Version:
MCP Server for managing Memory Bank
66 lines (65 loc) • 2.02 kB
TypeScript
/**
* Type definitions for rules in Memory Bank MCP
*
* This file contains interfaces related to clinerules and mode management.
*/
/**
* Interface for Memory Bank configuration in clinerules
*/
export interface MemoryBankConfig {
/** Files to read from the Memory Bank */
files_to_read?: string[];
/** Files to update in the Memory Bank */
files_to_update?: string[];
/** Custom templates for Memory Bank files */
templates?: Record<string, string>;
/** Additional configuration options */
options?: {
/** Whether to auto-initialize the Memory Bank if not found */
auto_initialize?: boolean;
/** Whether to create missing files */
create_missing_files?: boolean;
/** Whether to backup before updates */
backup_before_update?: boolean;
};
}
/**
* Interface to represent the basic structure of rules
*/
export interface ClineruleBase {
/** Mode identifier (architect, ask, code, debug, test) */
mode: string;
/** Instructions for the mode */
instructions: {
/** General instructions for the mode */
general: string[];
/** Update Memory Bank (UMB) configuration */
umb?: {
/** Mode that triggers UMB */
trigger: string;
/** Instructions for UMB */
instructions: string[];
/** Whether to override file restrictions */
override_file_restrictions: boolean;
};
/** Memory Bank configuration */
memory_bank?: MemoryBankConfig;
};
/** Mode triggers configuration */
mode_triggers?: Record<string, Array<{
condition: string;
}>>;
}
/**
* Interface for mode state
*/
export interface ModeState {
/** Name of the current mode */
name: string;
/** Status of the Memory Bank */
memoryBankStatus: 'ACTIVE' | 'INACTIVE';
/** Whether UMB mode is active */
isUmbActive?: boolean;
/** Rules for the current mode */
rules?: ClineruleBase | null;
}