syncable_cli/agent/tools/mod.rs
1//! Agent tools using Rig's Tool trait
2//!
3//! These tools wrap existing CLI functionality for the agent to use.
4//!
5//! ## Available Tools
6//!
7//! ### File Operations
8//! - `ReadFileTool` - Read file contents
9//! - `WriteFileTool` - Write single files (Dockerfiles, Terraform, etc.)
10//! - `WriteFilesTool` - Write multiple files (Terraform modules, Helm charts)
11//! - `ListDirectoryTool` - List directory contents
12//!
13//! ### Analysis
14//! - `AnalyzeTool` - Analyze project architecture, dependencies, build commands
15//!
16//! ### Security
17//! - `SecurityScanTool` - Security vulnerability scanning
18//! - `VulnerabilitiesTool` - Dependency vulnerability checking
19//!
20//! ### Linting
21//! - `HadolintTool` - Native Dockerfile linting (best practices, security)
22//! - `DclintTool` - Native Docker Compose linting (best practices, style, security)
23//!
24//! ### Diagnostics
25//! - `DiagnosticsTool` - Check for code errors via IDE/LSP or language-specific commands
26//!
27//! ### Terraform
28//! - `TerraformFmtTool` - Format Terraform configuration files
29//! - `TerraformValidateTool` - Validate Terraform configurations
30//! - `TerraformInstallTool` - Install Terraform CLI (auto-detects OS)
31//!
32//! ### Shell
33//! - `ShellTool` - Execute validation commands (docker build, terraform validate, helm lint)
34//!
35//! ### Planning (Forge-style workflow)
36//! - `PlanCreateTool` - Create structured plan files with task checkboxes
37//! - `PlanNextTool` - Get next pending task and mark it in-progress
38//! - `PlanUpdateTool` - Update task status (done, failed)
39//! - `PlanListTool` - List all available plan files
40//!
41mod analyze;
42mod dclint;
43mod diagnostics;
44mod file_ops;
45mod hadolint;
46mod plan;
47mod security;
48mod shell;
49mod terraform;
50mod truncation;
51
52pub use truncation::TruncationLimits;
53
54pub use analyze::AnalyzeTool;
55pub use dclint::DclintTool;
56pub use diagnostics::DiagnosticsTool;
57pub use file_ops::{ListDirectoryTool, ReadFileTool, WriteFileTool, WriteFilesTool};
58pub use hadolint::HadolintTool;
59pub use plan::{PlanCreateTool, PlanListTool, PlanNextTool, PlanUpdateTool};
60pub use security::{SecurityScanTool, VulnerabilitiesTool};
61pub use shell::ShellTool;
62pub use terraform::{TerraformFmtTool, TerraformInstallTool, TerraformValidateTool};