Metadata-Version: 2.4
Name: 2cli
Version: 2026.3a3
Summary: CLI tool bridging EDA interactive shells to AI agents
Home-page: https://dashthru.com/2cli
Author: DashThru Technology
Author-email: support@dashthru.com
License: MIT
Platform: Linux
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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 :: Implementation :: CPython
Requires-Python: >=3.6, <3.14
Description-Content-Type: text/markdown
Requires-Dist: setproctitle
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: platform
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

## 2cli - Agent-friendly CLI interface for EDA tools with interactive shell
# Overview
Many popular commercial EDA (Electronic Design Automation) tools provide an interactive shell for accepting engineers' commands. However, these interactive shells may not easily integrate with modern AI agents' MCP or CLI interfaces.

2cli is a freeware developed by [DashThru Technology](https://dashthru.com). It provides a simple CLI interface that allows AI agents to effortlessly manipulate EDA tools through their interactive shells. In addition to sending commands, 2cli also features optimized **tab completion** and **man page** mode control, both of which are widely used in commercial EDA tools.

# Launching an EDA tool with 2cli
Use `2cli -start` to launch an EDA tool. For example:
```
2cli -start dashrtl -no_gui
```
or
```
2cli -start 'dashrtl -no_gui'
```
This starts the DashRTL tool and prints its PID upon success.

# Manipulating the interactive shell of an EDA tool
Use `2cli` followed by a command and options to send text to the EDA tool. For example:
```
2cli puts hello
```
or
```
2cli 'puts hello'
```
This sends a print command to the Tcl shell of the EDA tool.
2cli also supports tab completion:
```
2cli 'get\t'
```
This prints all Tcl commands starting with `get` in the launched EDA tool.
Many EDA tools may enter page mode after receiving a `man` command. 2cli handles page mode correctly and will not get stuck on these commands:
```
2cli man get_cells
```
This prints detailed information for `get_cells` command, which exists in many EDA tools.
