Skip to main content

deepseek_rust_cli/tools/
mod.rs

1pub mod base;
2pub mod code_ops;
3pub mod file_io;
4pub mod file_ops;
5pub mod git_ops;
6pub mod github_ops;
7pub mod schemas;
8pub mod system;
9pub mod web_ops;
10
11// Tool implementations
12pub mod file;
13pub mod git_tools;
14pub mod github_tools;
15pub mod system_tools;
16pub mod web_tools;
17
18use crate::tools::base::Tool;
19
20pub fn get_all_tools() -> Vec<Box<dyn Tool>> {
21    vec![
22        // File Tools
23        Box::new(file::read_write::ReadFileTool),
24        Box::new(file::read_write::WriteFileTool),
25        Box::new(file::read_write::ReplaceTextTool),
26        Box::new(file::ops::DeleteFileTool),
27        Box::new(file::ops::RenameFileTool),
28        Box::new(file::ops::CopyFileTool),
29        Box::new(file::ops::CopyDirectoryTool),
30        Box::new(file::ops::CreateDirectoryTool),
31        Box::new(file::ops::FileExistsTool),
32        Box::new(file::ops::GetFileInfoTool),
33        Box::new(file::navigation::ListDirectoryTool),
34        Box::new(file::navigation::TreeViewTool),
35        Box::new(file::diff::DiffFilesTool),
36        Box::new(file::ops::HashFileTool),
37        Box::new(file::ops::CountLinesTool),
38        Box::new(file::ops::SearchFilesTool),
39        Box::new(file::ops::BulkRenameTool),
40        // System Tools
41        Box::new(system_tools::ShellTool),
42        Box::new(system_tools::SystemInfoTool),
43        Box::new(system_tools::StartBackgroundProcessTool),
44        Box::new(system_tools::ReadBackgroundProcessLogsTool),
45        Box::new(system_tools::KillBackgroundProcessTool),
46        Box::new(system_tools::ListBackgroundProcessesTool),
47        Box::new(system_tools::CheckPortStatusTool),
48        // Web & Code Tools
49        Box::new(web_tools::RunPythonTool),
50        Box::new(web_tools::FetchUrlTool),
51        Box::new(web_tools::GetEnvVarTool),
52        // New Advanced Tools
53        Box::new(file::read_write::RegexReplaceTool),
54        Box::new(file::read_write::JsonUpdateValueTool),
55        Box::new(file::read_write::EditFileByLinesTool),
56        Box::new(file::read_write::ApplyDiffPatchTool),
57        Box::new(file::ops::ListSymbolsTool),
58        Box::new(file::ops::ViewSymbolContentsTool),
59        Box::new(file::refactor::MoveCodeBlockTool),
60        Box::new(file::refactor::SplitFileTool),
61        Box::new(file::refactor::CleanupFileTool),
62        Box::new(file::analysis::ProjectSummaryTool),
63        Box::new(file::analysis::ListTodoTasksTool),
64        Box::new(file::refactor::ProjectCheckpointTool),
65        Box::new(file::refactor::RestoreCheckpointTool),
66        Box::new(file::refactor::ProjectWideReplaceTool),
67        Box::new(web_tools::ScreenshotWebappTool),
68        Box::new(web_tools::WebSearchDuckDuckGoTool),
69        // Git Tools
70        Box::new(git_tools::GitStatusTool),
71        Box::new(git_tools::GitDiffTool),
72        Box::new(git_tools::GitLogTool),
73        Box::new(git_tools::GitBranchTool),
74        Box::new(git_tools::GitAddTool),
75        Box::new(git_tools::GitCommitTool),
76        Box::new(git_tools::GitPushTool),
77        Box::new(git_tools::GitPullTool),
78        Box::new(git_tools::GitCheckoutTool),
79        Box::new(git_tools::GitCloneTool),
80        Box::new(git_tools::GitRemoteListTool),
81        Box::new(git_tools::GitStashTool),
82        // Github Tools
83        Box::new(github_tools::GithubRepoInfoTool),
84        Box::new(github_tools::GithubRepoListIssuesTool),
85        Box::new(github_tools::GithubIssueCreateTool),
86        Box::new(github_tools::GithubIssueUpdateTool),
87        Box::new(github_tools::GithubPrListTool),
88        Box::new(github_tools::GithubPrCreateTool),
89        Box::new(github_tools::GithubPrInfoTool),
90        Box::new(github_tools::GithubPrMergeTool),
91        Box::new(github_tools::GithubSearchCodeTool),
92        Box::new(github_tools::GithubSearchReposTool),
93        Box::new(github_tools::GithubGetFileTool),
94        Box::new(github_tools::GithubWorkflowListTool),
95        Box::new(github_tools::GithubWorkflowRunsTool),
96    ]
97}