1#[derive(Debug, Clone)]
3pub struct LibraryInfo {
4 pub name: &'static str,
5 pub version: &'static str,
6 pub license: &'static str,
7 pub description: &'static str,
8 pub repository: &'static str,
9 pub contributors: Vec<&'static str>,
10}
11
12#[derive(Debug, Clone)]
14pub struct Contributor {
15 pub name: &'static str,
16 pub email: &'static str,
17 pub contributions: u32,
18}
19
20pub fn get_project_contributors() -> Vec<Contributor> {
22 vec![
23 Contributor {
24 name: "Edgar Sanchez",
25 email: "esanchez@m2iab.com",
26 contributions: 99,
27 },
28 Contributor {
29 name: "Edgar H Sanchez",
30 email: "esanchez@m2iab.com",
31 contributions: 15,
32 },
33 ]
34}
35
36pub fn get_library_dependencies() -> Vec<LibraryInfo> {
38 vec![
39 LibraryInfo {
40 name: "anyhow",
41 version: "1.0.95",
42 license: "MIT OR Apache-2.0",
43 description: "Flexible concrete Error type built on std::error::Error",
44 repository: "https://github.com/dtolnay/anyhow",
45 contributors: vec!["David Tolnay", "And 50+ contributors"],
46 },
47 LibraryInfo {
48 name: "bevy",
49 version: "0.15",
50 license: "MIT OR Apache-2.0",
51 description: "A refreshingly simple data-driven game engine built in Rust",
52 repository: "https://github.com/bevyengine/bevy",
53 contributors: vec!["Carter Anderson", "Alice Cecile", "And 300+ contributors"],
54 },
55 LibraryInfo {
56 name: "bevy_ratatui",
57 version: "0.7.0",
58 license: "MIT OR Apache-2.0",
59 description: "A Bevy plugin for Ratatui (terminal UI library)",
60 repository: "https://github.com/bevy-ratatui/bevy_ratatui",
61 contributors: vec!["Johan Klokkhammer Helsing", "And 10+ contributors"],
62 },
63 LibraryInfo {
64 name: "bevy-tokio-tasks",
65 version: "0.15.0",
66 license: "Unknown",
67 description: "Rust library dependency",
68 repository: "https://crates.io/crates/bevy-tokio-tasks",
69 contributors: vec!["Various contributors"],
70 },
71 LibraryInfo {
72 name: "clap",
73 version: "4.0",
74 license: "MIT OR Apache-2.0",
75 description: "A full featured, fast Command Line Argument Parser for Rust",
76 repository: "https://github.com/clap-rs/clap",
77 contributors: vec!["Kevin K. <kbknapp@gmail.com>", "And 200+ contributors"],
78 },
79 LibraryInfo {
80 name: "color-eyre",
81 version: "0.6.3",
82 license: "MIT OR Apache-2.0",
83 description: "An error report handler for panics and eyre::Report",
84 repository: "https://github.com/eyre-rs/color-eyre",
85 contributors: vec!["Jane Lusby", "And 20+ contributors"],
86 },
87 LibraryInfo {
88 name: "crossterm",
89 version: "0.28.1",
90 license: "MIT",
91 description: "Cross-platform terminal manipulation library",
92 repository: "https://github.com/crossterm-rs/crossterm",
93 contributors: vec!["T. Postma", "And 50+ contributors"],
94 },
95 LibraryInfo {
96 name: "futures",
97 version: "0.3.31",
98 license: "MIT OR Apache-2.0",
99 description: "An implementation of futures and streams featuring zero allocations",
100 repository: "https://github.com/rust-lang/futures-rs",
101 contributors: vec!["Alex Crichton", "And 100+ contributors"],
102 },
103 LibraryInfo {
104 name: "git2",
105 version: "0.19",
106 license: "MIT OR Apache-2.0",
107 description: "Rust bindings to libgit2 for interoperating with git repositories",
108 repository: "https://github.com/rust-lang/git2-rs",
109 contributors: vec!["Alex Crichton", "And 50+ contributors"],
110 },
111 LibraryInfo {
112 name: "insta",
113 version: "1.40.0",
114 license: "Unknown",
115 description: "Rust library dependency",
116 repository: "https://crates.io/crates/insta",
117 contributors: vec!["Various contributors"],
118 },
119 LibraryInfo {
120 name: "kalosm",
121 version: "0.4.0",
122 license: "MIT OR Apache-2.0",
123 description: "A user-friendly interface for pre-trained large language models",
124 repository: "https://github.com/floneum/kalosm",
125 contributors: vec!["Evan Almloff", "And 10+ contributors"],
126 },
127 LibraryInfo {
128 name: "mockall",
129 version: "0.13.0",
130 license: "Unknown",
131 description: "Rust library dependency",
132 repository: "https://crates.io/crates/mockall",
133 contributors: vec!["Various contributors"],
134 },
135 LibraryInfo {
136 name: "num_cpus",
137 version: "1.16",
138 license: "Unknown",
139 description: "Rust library dependency",
140 repository: "https://crates.io/crates/num_cpus",
141 contributors: vec!["Various contributors"],
142 },
143 LibraryInfo {
144 name: "pretty_assertions",
145 version: "1.4.1",
146 license: "Unknown",
147 description: "Rust library dependency",
148 repository: "https://crates.io/crates/pretty_assertions",
149 contributors: vec!["Various contributors"],
150 },
151 LibraryInfo {
152 name: "proptest",
153 version: "1.5.0",
154 license: "Unknown",
155 description: "Rust library dependency",
156 repository: "https://crates.io/crates/proptest",
157 contributors: vec!["Various contributors"],
158 },
159 LibraryInfo {
160 name: "rat-cursor",
161 version: "1.2.0",
162 license: "Unknown",
163 description: "Rust library dependency",
164 repository: "https://crates.io/crates/rat-cursor",
165 contributors: vec!["Various contributors"],
166 },
167 LibraryInfo {
168 name: "rat-event",
169 version: "1.1.0",
170 license: "Unknown",
171 description: "Rust library dependency",
172 repository: "https://crates.io/crates/rat-event",
173 contributors: vec!["Various contributors"],
174 },
175 LibraryInfo {
176 name: "rat-focus",
177 version: "0.31.0",
178 license: "Unknown",
179 description: "Rust library dependency",
180 repository: "https://crates.io/crates/rat-focus",
181 contributors: vec!["Various contributors"],
182 },
183 LibraryInfo {
184 name: "ratatui",
185 version: "0.29.0",
186 license: "MIT",
187 description: "A Rust library to build rich terminal user interfaces",
188 repository: "https://github.com/ratatui/ratatui",
189 contributors: vec!["Florian Dehau", "Joshka", "And 100+ contributors"],
190 },
191 LibraryInfo {
192 name: "rayon",
193 version: "1.8",
194 license: "Unknown",
195 description: "Rust library dependency",
196 repository: "https://crates.io/crates/rayon",
197 contributors: vec!["Various contributors"],
198 },
199 LibraryInfo {
200 name: "regex",
201 version: "1.11.1",
202 license: "MIT OR Apache-2.0",
203 description: "An implementation of regular expressions for Rust",
204 repository: "https://github.com/rust-lang/regex",
205 contributors: vec!["Andrew Gallant", "And 50+ contributors"],
206 },
207 LibraryInfo {
208 name: "rstest",
209 version: "0.23.0",
210 license: "Unknown",
211 description: "Rust library dependency",
212 repository: "https://crates.io/crates/rstest",
213 contributors: vec!["Various contributors"],
214 },
215 LibraryInfo {
216 name: "serde",
217 version: "1.0",
218 license: "MIT OR Apache-2.0",
219 description: "A generic serialization/deserialization framework",
220 repository: "https://github.com/serde-rs/serde",
221 contributors: vec!["David Tolnay", "And 100+ contributors"],
222 },
223 LibraryInfo {
224 name: "serde_json",
225 version: "1.0",
226 license: "Unknown",
227 description: "Rust library dependency",
228 repository: "https://crates.io/crates/serde_json",
229 contributors: vec!["Various contributors"],
230 },
231 LibraryInfo {
232 name: "serial_test",
233 version: "3.1.1",
234 license: "Unknown",
235 description: "Rust library dependency",
236 repository: "https://crates.io/crates/serial_test",
237 contributors: vec!["Various contributors"],
238 },
239 LibraryInfo {
240 name: "tempfile",
241 version: "3.13.0",
242 license: "Unknown",
243 description: "Rust library dependency",
244 repository: "https://crates.io/crates/tempfile",
245 contributors: vec!["Various contributors"],
246 },
247 LibraryInfo {
248 name: "tokio",
249 version: "1.47.0",
250 license: "MIT",
251 description: "An event-driven, non-blocking I/O platform for writing async I/O",
252 repository: "https://github.com/tokio-rs/tokio",
253 contributors: vec!["Carl Lerche", "Sean McArthur", "And 200+ contributors"],
254 },
255 LibraryInfo {
256 name: "tokio-test",
257 version: "0.4.4",
258 license: "Unknown",
259 description: "Rust library dependency",
260 repository: "https://crates.io/crates/tokio-test",
261 contributors: vec!["Various contributors"],
262 },
263 LibraryInfo {
264 name: "uuid",
265 version: "1.11.0",
266 license: "Apache-2.0 OR MIT",
267 description: "A library to generate and parse UUIDs",
268 repository: "https://github.com/uuid-rs/uuid",
269 contributors: vec!["Ashley Mannix", "And 50+ contributors"],
270 },
271 ]
272}
273
274pub fn display_comprehensive_credits() {
276 println!("🎉 AI Code Buddy - Comprehensive Credits & Acknowledgments");
277 println!("==========================================================");
278 println!();
279
280 println!("📚 About AI Code Buddy:");
282 println!("An intelligent code analysis tool with elegant Bevy-powered TUI");
283 println!("that provides comprehensive code reviews with AI assistance.");
284 println!("Repository: https://github.com/edgarhsanchez/ai_code_buddy");
285 println!();
286
287 println!("👥 Project Contributors:");
289 println!("------------------------");
290 let contributors = get_project_contributors();
291 for contributor in contributors {
292 println!(
293 " • {} <{}> ({} commits)",
294 contributor.name, contributor.email, contributor.contributions
295 );
296 }
297 println!();
298
299 println!("📦 Library Dependencies & Licenses:");
301 println!("-----------------------------------");
302 let libraries = get_library_dependencies();
303
304 for library in libraries {
305 println!("🔧 {} v{}", library.name, library.version);
306 println!(" 📄 License: {}", library.license);
307 println!(" 📖 Description: {}", library.description);
308 println!(" 🔗 Repository: {}", library.repository);
309 println!(" 👥 Key Contributors:");
310
311 for contributor in &library.contributors {
312 println!(" • {contributor}");
313 }
314 println!();
315 }
316
317 println!("🙏 Special Thanks:");
319 println!("------------------");
320 println!(" • The Rust Programming Language team");
321 println!(" • All open source contributors");
322 println!(" • The Bevy game engine community");
323 println!(" • The broader Rust ecosystem");
324 println!();
325
326 println!("💡 Want to contribute? Visit: https://github.com/edgarhsanchez/ai_code_buddy");
328 println!("🐛 Found a bug? Report it: https://github.com/edgarhsanchez/ai_code_buddy/issues");
329}