|
1 | 1 | # xfetch Roadmap |
2 | 2 |
|
3 | | -## Phase 0 · Foundation & Core |
4 | | -<!-- phase:phase-0:foundation --> |
| 3 | +## Phase 0 · Foundation & Core <!-- phase:phase-0:foundation --> |
5 | 4 |
|
6 | 5 | - [x] Initialize Rust project with dependencies |
7 | 6 | - [x] Implement cross-platform OS detection (Linux, Windows, macOS) |
8 | 7 | - [x] Create system information gathering module |
9 | 8 | - [x] Implement configuration system with JSONC support |
10 | 9 | - [x] Build UI rendering engine with crossterm |
11 | 10 |
|
12 | | -## Phase 1 · System Information Modules |
13 | | -<!-- phase:phase-1:system-modules --> |
| 11 | +## Phase 1 · System Information Modules <!-- phase:phase-1:system-modules --> |
14 | 12 |
|
15 | 13 | - [x] OS Name & Architecture display |
16 | 14 | - [x] Kernel version detection |
|
26 | 24 | - [x] Package count for multiple managers (pacman, dpkg, scoop) |
27 | 25 | - [x] Desktop Environment / Window Manager detection |
28 | 26 |
|
29 | | -## Phase 2 · Visual Customization & Layouts |
30 | | -<!-- phase:phase-2:visual-features --> |
| 27 | +## Phase 2 · Visual Customization & Layouts <!-- phase:phase-2:visual-features --> |
31 | 28 |
|
32 | 29 | - [x] Custom ASCII art support from text files |
33 | 30 | - [x] Image/SVG logo support via viuer |
|
41 | 38 | - [x] Section layout for grouped information |
42 | 39 | - [x] Color palette display with style options |
43 | 40 |
|
44 | | -## Phase 3 · Documentation & Examples |
45 | | -<!-- phase:phase-3:documentation --> |
| 41 | +## Phase 3 · Documentation & Examples <!-- phase:phase-3:documentation --> |
46 | 42 |
|
47 | 43 | - [x] Installation guide (INSTALLATION.md) |
48 | 44 | - [x] Configuration guide (CONFIGURATION.md) |
|
53 | 49 | - [x] Setup uninstallation scripts |
54 | 50 | - [x] Layout documentation (LAYOUTS.md) |
55 | 51 |
|
56 | | -## Phase 4 · Package Manager Expansion |
57 | | -<!-- phase:phase-4:package-managers --> |
| 52 | +## Phase 4 · Package Manager Expansion <!-- phase:phase-4:package-managers --> |
58 | 53 |
|
59 | 54 | - [ ] Add RPM package manager support (Fedora, RHEL) |
60 | 55 | - [ ] Add APK package manager support (Alpine) |
|
64 | 59 | - [ ] Detect multiple installed package managers |
65 | 60 | - [/] Optimize package count detection performance |
66 | 61 |
|
67 | | -## Phase 5 · Network & Connectivity |
68 | | -<!-- phase:phase-5:network --> |
| 62 | +## Phase 5 · Network & Connectivity <!-- phase:phase-5:network --> |
69 | 63 |
|
70 | 64 | - [ ] Implement local IP address detection |
71 | 65 | - [ ] Fetch public IP address (with privacy option) |
72 | 66 | - [ ] Add IPv6 support |
73 | 67 | - [ ] Display network interface information |
74 | 68 | - [ ] Add option to disable IP fetching for privacy |
75 | 69 |
|
76 | | -## Phase 6 · Enhanced Modules |
77 | | -<!-- phase:phase-6:enhanced-modules --> |
| 70 | +## Phase 6 · Enhanced Modules <!-- phase:phase-6:enhanced-modules --> |
78 | 71 |
|
79 | 72 | - [ ] Implement music player integration (MPD support) |
80 | 73 | - [ ] Add Spotify current track display |
|
84 | 77 | - [ ] Add display resolution and refresh rate |
85 | 78 | - [ ] Add theme and color scheme detection |
86 | 79 |
|
87 | | -## Phase 7 · Additional Layouts |
88 | | -<!-- phase:phase-7:additional-layouts --> |
| 80 | +## Phase 7 · Additional Layouts <!-- phase:phase-7:additional-layouts --> |
89 | 81 |
|
90 | 82 | - [ ] Implement compact layout for minimal output |
91 | 83 | - [ ] Implement horizontal layout variant |
92 | 84 | - [ ] Implement bottom layout with logo below info |
93 | 85 | - [ ] Implement minimal layout (text-only) |
94 | 86 | - [ ] Add layout preview documentation |
95 | 87 |
|
96 | | -## Phase 8 · Performance Optimization |
97 | | -<!-- phase:phase-8:performance --> |
| 88 | +## Phase 8 · Performance Optimization <!-- phase:phase-8:performance --> |
98 | 89 |
|
99 | 90 | - [ ] Parallelize slow hardware probes |
100 | 91 | - [ ] Implement caching for module data |
101 | 92 | - [ ] Optimize GPU detection for multi-GPU systems |
102 | 93 | - [ ] Add lazy loading for optional modules |
103 | 94 | - [ ] Benchmark and profile performance |
104 | 95 |
|
105 | | -## Phase 9 · CI/CD & Distribution |
106 | | -<!-- phase:phase-9:cicd --> |
| 96 | +## Phase 9 · CI/CD & Distribution <!-- phase:phase-9:cicd --> |
107 | 97 |
|
108 | 98 | - [ ] Setup GitHub Actions for automated builds |
109 | 99 | - [ ] Create binary releases for Linux x86_64 |
|
114 | 104 | - [ ] Setup PyPI or cargo registry for distribution |
115 | 105 | - [ ] Setup automated changelog generation |
116 | 106 |
|
117 | | -## Phase 10 · Community & Ecosystem |
118 | | -<!-- phase:phase-10:ecosystem --> |
| 107 | +## Phase 10 · Community & Ecosystem <!-- phase:phase-10:ecosystem --> |
119 | 108 |
|
120 | 109 | - [ ] Create themes repository / registry |
121 | 110 | - [ ] Implement theme download manager |
|
126 | 115 | - [ ] Setup community issue templates |
127 | 116 | - [ ] Create contribution guidelines (CONTRIBUTING.md) |
128 | 117 |
|
129 | | -## Phase 11 · Testing & Quality Assurance |
130 | | -<!-- phase:phase-11:testing --> |
| 118 | +## Phase 11 · Testing & Quality Assurance <!-- phase:phase-11:testing --> |
131 | 119 |
|
132 | 120 | - [ ] Implement unit tests for info module |
133 | 121 | - [ ] Implement unit tests for config module |
|
138 | 126 | - [ ] Add cross-platform testing suite |
139 | 127 | - [ ] Setup code coverage reporting |
140 | 128 |
|
141 | | -## Phase 12 · Advanced Features |
142 | | -<!-- phase:phase-12:advanced --> |
| 129 | +## Phase 12 · Advanced Features <!-- phase:phase-12:advanced --> |
143 | 130 |
|
144 | 131 | - [ ] Implement custom module scripting language / support |
145 | 132 | - [ ] Add conditional module display based on system state |
|
150 | 137 | - [ ] Implement telemetry (optional, privacy-respecting) |
151 | 138 | - [ ] Add accessibility features (high contrast themes) |
152 | 139 |
|
153 | | -## Phase 13 · Documentation & Marketing |
154 | | -<!-- phase:phase-13:marketing --> |
| 140 | +## Phase 13 · Documentation & Marketing <!-- phase:phase-13:marketing --> |
155 | 141 |
|
156 | 142 | - [ ] Create comprehensive user manual |
157 | 143 | - [ ] Create video tutorials |
|
0 commit comments