Skip to content

AI Agents Overview

Kyku is designed to work well with AI coding agents (Claude Code, GitHub Copilot, Cursor, etc.). The TypeScript-based configuration, deterministic plan output, and structured state format make it easy for agents to understand and modify infrastructure.

Feature Benefit for AI Agents
TypeScript config Strong types guide agents toward correct API usage
Deterministic plan/apply Agents can preview changes before applying
Object references Auto-dependency inference reduces reasoning load
Abstract types 'small't3.small — agents don’t need provider-specific knowledge
JSON state files Machine-readable, easy to parse and analyze
Simple CLI kyku plan, kyku apply — clear command semantics
llms.txt Discoverable documentation for agent context
1. Agent reads llms.txt and relevant docs
2. Agent writes infrastructure.ts with resource definitions
3. Agent runs: kyku plan → reads output → iterates
4. Agent runs: kyku apply → reads output → confirms
5. Agent runs: kyku output → reads results
Write an Kyku config that creates:
- A VPC in us-east with 2 AZs
- A web server (small, ubuntu-24.04) with SSH access
- A PostgreSQL database (medium, version 16)
- A load balancer on port 80 targeting the web server
Use object references for dependencies.
Run kyku plan and check for unexpected changes.
If the plan shows drift, identify which resource changed
and what caused it (manual console change, config update).
Read the state file and identify all resources.
Run kyku destroy --auto-approve to clean up.
Verify with kyku plan (should show no resources).
Resource Description
llms.txt Discoverable documentation standard
Contributor Context AGENTS.md conventions for provider development
Docs MCP Server MCP server for runtime agent queries
  1. Config over CLI flags — Complex operations go in TypeScript, not CLI args.
  2. Predictable output — Plan output is always parseable; use --json for machine reading.
  3. Safe defaultsplan never modifies resources; apply always requires confirmation.
  4. Error messages — Include the resource ID and expected fix in every error.
  5. Idempotent — Running apply twice produces the same result.