Metadata-Version: 2.1
Name: iac-code
Version: 0.2.1
Summary: Your AI-powered Infrastructure as Code assistant
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: agent-client-protocol (>=0.9.0)
Requires-Dist: alibabacloud-credentials (>=0.3.0)
Requires-Dist: alibabacloud-ros20190910 (>=3.0.0)
Requires-Dist: anthropic (>=0.40)
Requires-Dist: cryptography (>=42.0)
Requires-Dist: httpx (>=0.27.0)
Requires-Dist: jsonschema (>=4.20)
Requires-Dist: keyring (>=25.0)
Requires-Dist: loguru (>=0.7.0)
Requires-Dist: openai (>=1.50)
Requires-Dist: opentelemetry-distro (>=0.48b0)
Requires-Dist: opentelemetry-exporter-otlp (>=1.27.0)
Requires-Dist: pillow (==12.2.0)
Requires-Dist: pydantic (>=2.0)
Requires-Dist: pyperclip (>=1.8.0)
Requires-Dist: pyyaml (>=6.0)
Requires-Dist: rich (>=13.0)
Requires-Dist: tiktoken (>=0.7.0)
Requires-Dist: tree-sitter-bash (>=0.23)
Requires-Dist: tree-sitter (>=0.23)
Requires-Dist: typer (>=0.9.0)
Provides-Extra: a2a
Requires-Dist: a2a-sdk[http-server,signing] (<2,>=1.0.2) ; extra == 'a2a'
Requires-Dist: cryptography (>=42.0) ; extra == 'a2a'
Requires-Dist: starlette (>=0.39.0) ; extra == 'a2a'
Requires-Dist: uvicorn[standard] (>=0.30.0) ; extra == 'a2a'
Provides-Extra: a2a-grpc
Requires-Dist: grpcio-status (>=1.60.0) ; extra == 'a2a-grpc'
Requires-Dist: grpcio (>=1.60.0) ; extra == 'a2a-grpc'
Provides-Extra: a2a-redis
Requires-Dist: redis (>=5.0.0) ; extra == 'a2a-redis'
Provides-Extra: a2a-signing
Requires-Dist: a2a-sdk[signing] (<2,>=1.0.2) ; extra == 'a2a-signing'
Provides-Extra: http
Requires-Dist: starlette (>=0.39.0) ; extra == 'http'
Requires-Dist: uvicorn[standard] (>=0.30.0) ; extra == 'http'

<p align="center">
  <img src="website/static/img/logo-with-front.png" alt="iac-code" width="200">
</p>
<p align="center">
  <em>AI-powered Infrastructure as Code assistant for Alibaba Cloud (ROS / Terraform) through natural language interaction.</em>
</p>
<p align="center">
  <a href="https://github.com/aliyun/iac-code/actions/workflows/test.yml"><img src="https://github.com/aliyun/iac-code/actions/workflows/test.yml/badge.svg" alt="Test"></a>
  <a href="https://pypi.org/project/iac-code"><img src="https://img.shields.io/pypi/v/iac-code?color=%2334D058&label=pypi%20package" alt="PyPI Package"></a>
  <a href="https://pypi.org/project/iac-code"><img src="https://img.shields.io/pypi/pyversions/iac-code?color=%2334D058&label=python" alt="Python"></a>
</p>
<p align="center">
  <strong>Language</strong>: English | <a href="readme/README.zh.md">中文</a> | <a href="readme/README.es.md">Español</a> | <a href="readme/README.fr.md">Français</a> | <a href="readme/README.de.md">Deutsch</a> | <a href="readme/README.ja.md">日本語</a> | <a href="readme/README.pt.md">Português</a>
</p>

> **Documentation**: [https://aliyun.github.io/iac-code/](https://aliyun.github.io/iac-code/)

## Installation

```bash
pip install iac-code
```

## Usage

On first use, configure the LLM provider and IaC cloud service by entering `/auth` in interactive mode.

### Interactive Mode

Run directly to enter the interactive REPL:

```bash
iac-code
```

### Non-Interactive Mode

Pass a one-shot prompt via `--prompt`:

```bash
iac-code --prompt "Create a VPC and two ECS instances"
```

Reading from stdin is also supported:

```bash
echo "Create an OSS Bucket" | iac-code --prompt -
```

## Contact Us

| [DingTalk](https://qr.dingtalk.com/action/joingroup?code=v1,k1,ubm/77U7qRh/STFZUNBP26X4PNg2z6+uhiPcLGtDNfU=&_dt_no_comment=1&origin=11) | [Discord](https://discord.gg/qECFuFBwF) |
| :----------------------------------------------------------: | :----------------------------------------------------------: |
| [<img src="website/static/img/qrcode-dingtalk.jpg" width="120" height="120" alt="DingTalk">](https://qr.dingtalk.com/action/joingroup?code=v1,k1,ubm/77U7qRh/STFZUNBP26X4PNg2z6+uhiPcLGtDNfU=&_dt_no_comment=1&origin=11) | [<img src="website/static/img/qrcode-discord.jpg" width="120" height="120" alt="Discord">](https://discord.gg/qECFuFBwF) |
