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//!
23//! ### Diagnostics
24//! - `DiagnosticsTool` - Check for code errors via IDE/LSP or language-specific commands
25//!
26//! ### Terraform
27//! - `TerraformFmtTool` - Format Terraform configuration files
28//! - `TerraformValidateTool` - Validate Terraform configurations
29//! - `TerraformInstallTool` - Install Terraform CLI (auto-detects OS)
30//!
31//! ### Shell
32//! - `ShellTool` - Execute validation commands (docker build, terraform validate, helm lint)
33//!
34//! ### Planning (Forge-style workflow)
35//! - `PlanCreateTool` - Create structured plan files with task checkboxes
36//! - `PlanNextTool` - Get next pending task and mark it in-progress
37//! - `PlanUpdateTool` - Update task status (done, failed)
38//! - `PlanListTool` - List all available plan files
39//!
40mod analyze;
41mod diagnostics;
42mod file_ops;
43mod hadolint;
44mod plan;
45mod security;
46mod shell;
47mod terraform;
48mod truncation;
49
50pub use truncation::TruncationLimits;
51
52pub use analyze::AnalyzeTool;
53pub use diagnostics::DiagnosticsTool;
54pub use file_ops::{ListDirectoryTool, ReadFileTool, WriteFileTool, WriteFilesTool};
55pub use hadolint::HadolintTool;
56pub use plan::{PlanCreateTool, PlanListTool, PlanNextTool, PlanUpdateTool};
57pub use security::{SecurityScanTool, VulnerabilitiesTool};
58pub use shell::ShellTool;
59pub use terraform::{TerraformFmtTool, TerraformInstallTool, TerraformValidateTool};