@@ -146,12 +146,23 @@ You have access to tools to help analyze and understand the project:
146146- analyze_project - Detect languages, frameworks, dependencies, and architecture
147147- security_scan - Find potential vulnerabilities and secrets
148148- check_vulnerabilities - Check dependencies for known CVEs
149- - hadolint - Lint Dockerfiles for best practices
150- - terraform_fmt - Format Terraform configuration files
151- - terraform_validate - Validate Terraform configurations
152149- read_file - Read file contents
153150- list_directory - List files and directories
154151
152+ **Linting Tools (use NATIVE tools, not shell commands):**
153+ - hadolint - Lint Dockerfiles for best practices and security
154+ - dclint - Lint docker-compose files for best practices
155+ - kubelint - Lint Kubernetes manifests for SECURITY and BEST PRACTICES
156+ • Use for: raw YAML files, Helm charts (renders them), Kustomize directories
157+ • Checks: privileged containers, missing probes, RBAC issues, resource limits
158+ - helmlint - Lint Helm chart STRUCTURE and TEMPLATES (before rendering)
159+ • Use for: Chart.yaml validation, values.yaml, Go template syntax
160+ • Checks: chart metadata, template errors, undefined values, unclosed blocks
161+
162+ **Terraform Tools:**
163+ - terraform_fmt - Format Terraform configuration files
164+ - terraform_validate - Validate Terraform configurations
165+
155166**Generation Tools:**
156167- write_file - Write content to a file (creates parent directories automatically)
157168- write_files - Write multiple files at once
@@ -220,6 +231,12 @@ pub fn get_code_development_prompt(project_path: &std::path::Path) -> String {
220231- read_file - Read file contents
221232- list_directory - List files and directories
222233
234+ **Linting Tools (for DevOps artifacts):**
235+ - hadolint - Lint Dockerfiles
236+ - dclint - Lint docker-compose files
237+ - kubelint - Lint K8s manifests (security, best practices)
238+ - helmlint - Lint Helm charts (structure, templates)
239+
223240**Development Tools:**
224241- write_file - Write or update a single file
225242- write_files - Write multiple files at once
@@ -296,16 +313,29 @@ pub fn get_devops_prompt(project_path: &std::path::Path) -> String {
296313- analyze_project - Detect languages, frameworks, dependencies, build commands
297314- security_scan - Find potential vulnerabilities
298315- check_vulnerabilities - Check dependencies for known CVEs
299- - hadolint - Native Dockerfile linter (use this, NOT shell hadolint)
300316- read_file - Read file contents
301317- list_directory - List files and directories
302318
319+ **Linting Tools (use NATIVE tools, not shell commands):**
320+ - hadolint - Native Dockerfile linter for best practices and security
321+ - dclint - Native docker-compose linter for best practices
322+ - kubelint - Native Kubernetes manifest linter for SECURITY and BEST PRACTICES
323+ • Use for: K8s YAML files, Helm charts (renders them first), Kustomize directories
324+ • Checks: privileged containers, missing probes, RBAC wildcards, resource limits
325+ - helmlint - Native Helm chart linter for STRUCTURE and TEMPLATES
326+ • Use for: Chart.yaml, values.yaml, Go template syntax validation
327+ • Checks: missing apiVersion, unused values, undefined template variables
328+
329+ **Terraform Tools:**
330+ - terraform_fmt - Format Terraform configuration files
331+ - terraform_validate - Validate Terraform configurations
332+
303333**Generation Tools:**
304334- write_file - Write Dockerfile, terraform config, helm values, etc.
305335- write_files - Write multiple files (Terraform modules, Helm charts)
306336
307- **Validation Tools :**
308- - shell - Execute validation commands (docker build, terraform validate, helm lint )
337+ **Shell Tool :**
338+ - shell - Execute build/test commands (docker build, terraform init )
309339
310340**Plan Execution Tools:**
311341- plan_list - List available plans in plans/ directory
@@ -358,16 +388,24 @@ When the user says "execute the plan" or similar:
3583881. **Analyze**: Use analyze_project to understand the project
3593892. **Plan**: Determine what files need to be created
3603903. **Generate**: Use write_file or write_files to create artifacts
361- 4. **Validate**:
362- - Docker: hadolint tool FIRST, then shell docker build
363- - Terraform: shell terraform init && terraform validate
364- - Helm: shell helm lint ./chart
391+ 4. **Validate** (use NATIVE linting tools, not shell commands):
392+ - **Docker**: hadolint tool FIRST, then shell docker build
393+ - **docker-compose**: dclint tool
394+ - **Terraform**: terraform_validate tool (or shell terraform init && terraform validate)
395+ - **Helm charts**: helmlint tool for chart structure/templates
396+ - **K8s manifests**: kubelint tool for security/best practices
397+ - **Helm + K8s**: Use BOTH helmlint (structure) AND kubelint (security on rendered output)
3653985. **Self-Correct**: If validation fails, analyze error, fix files, re-validate
366399
367- **CRITICAL for hadolint **: If hadolint finds ANY errors or warnings:
400+ **CRITICAL for linting tools **: If ANY linter finds errors or warnings:
3684011. STOP and report ALL issues to the user FIRST
369- 2. Show each violation with line number, rule code, message
370- 3. DO NOT proceed to docker build until user acknowledges
402+ 2. Show each violation with line number, rule code, message, and fix recommendation
403+ 3. DO NOT proceed to build/deploy until user acknowledges or issues are fixed
404+
405+ **When to use helmlint vs kubelint:**
406+ - helmlint: Chart.yaml issues, values.yaml unused values, template syntax errors
407+ - kubelint: Security (privileged, RBAC), best practices (probes, limits), after Helm renders
408+ - For Helm charts: Run BOTH - helmlint catches template issues, kubelint catches security issues
371409</work_protocol>
372410
373411<error_handling>
@@ -554,7 +592,14 @@ Task status markers:
554592- list_directory - List files and directories
555593- shell - Run read-only commands only (ls, cat, grep, find, git status/log/diff)
556594- analyze_project - Analyze project architecture, dependencies
557- - hadolint - Lint Dockerfiles (read-only analysis)
595+
596+ **Linting Tools (read-only analysis):**
597+ - hadolint - Lint Dockerfiles for best practices
598+ - dclint - Lint docker-compose files
599+ - kubelint - Lint K8s manifests for security/best practices (works on YAML, Helm charts, Kustomize)
600+ - helmlint - Lint Helm chart structure and templates
601+
602+ **Planning Tools:**
558603- **plan_create** - Create structured plan files with task checkboxes
559604- **plan_list** - List existing plans in plans/ directory
560605
0 commit comments