Skip to main content

metis_core/
constants.rs

1/// Shared constants for the Metis documentation system
2///
3/// Directory and file names
4pub const METIS_DIR_NAME: &str = ".metis";
5pub const DATABASE_FILE_NAME: &str = "metis.db";
6pub const BACKUP_DATABASE_FILE_NAME: &str = "metis.db.backup";
7pub const LOG_FILE_NAME: &str = "metis-mcp-server.log";
8
9/// File extensions
10pub const MARKDOWN_EXT: &str = ".md";
11pub const YAML_EXT: &str = ".yaml";
12pub const JSON_EXT: &str = ".json";
13
14/// Document directories
15pub const VISION_DIR: &str = "vision";
16pub const STRATEGY_DIR: &str = "strategy";
17pub const INITIATIVE_DIR: &str = "initiative";
18pub const TASK_DIR: &str = "task";
19pub const ADR_DIR: &str = "adr";
20pub const ARCHIVED_DIR: &str = "archived";
21
22/// Template names
23pub const VISION_TEMPLATE: &str = "vision";
24pub const STRATEGY_TEMPLATE: &str = "strategy";
25pub const INITIATIVE_TEMPLATE: &str = "initiative";
26pub const TASK_TEMPLATE: &str = "task";
27pub const ADR_TEMPLATE: &str = "adr";
28
29/// Document phases
30pub mod phases {
31    pub const VISION_DRAFT: &str = "draft";
32    pub const VISION_REVIEW: &str = "review";
33    pub const VISION_PUBLISHED: &str = "published";
34
35    pub const STRATEGY_SHAPING: &str = "shaping";
36    pub const STRATEGY_DESIGN: &str = "design";
37    pub const STRATEGY_READY: &str = "ready";
38    pub const STRATEGY_ACTIVE: &str = "active";
39    pub const STRATEGY_COMPLETED: &str = "completed";
40
41    pub const INITIATIVE_DISCOVERY: &str = "discovery";
42    pub const INITIATIVE_DESIGN: &str = "design";
43    pub const INITIATIVE_READY: &str = "ready";
44    pub const INITIATIVE_DECOMPOSE: &str = "decompose";
45    pub const INITIATIVE_ACTIVE: &str = "active";
46    pub const INITIATIVE_COMPLETED: &str = "completed";
47
48    pub const TASK_TODO: &str = "todo";
49    pub const TASK_ACTIVE: &str = "active";
50    pub const TASK_BLOCKED: &str = "blocked";
51    pub const TASK_COMPLETED: &str = "completed";
52
53    pub const ADR_DRAFT: &str = "draft";
54    pub const ADR_DISCUSSION: &str = "discussion";
55    pub const ADR_DECIDED: &str = "decided";
56    pub const ADR_SUPERSEDED: &str = "superseded";
57}
58
59/// Complexity levels for initiatives
60pub mod complexity {
61    pub const XS: &str = "xs";
62    pub const S: &str = "s";
63    pub const M: &str = "m";
64    pub const L: &str = "l";
65    pub const XL: &str = "xl";
66}
67
68/// Risk levels for strategies
69pub mod risk {
70    pub const LOW: &str = "low";
71    pub const MEDIUM: &str = "medium";
72    pub const HIGH: &str = "high";
73}
74
75/// Database settings
76pub mod database {
77    pub const CONNECTION_TIMEOUT_SECS: u64 = 30;
78    pub const MAX_RETRIES: u32 = 3;
79}
80
81/// File system settings
82pub mod filesystem {
83    pub const MAX_FILE_SIZE_BYTES: u64 = 10 * 1024 * 1024; // 10MB
84    pub const BACKUP_RETENTION_DAYS: u32 = 30;
85}