Metadata-Version: 2.4
Name: chad-ai
Version: 0.13.2
Summary: Chad: YOLO AI
Author: Team Chad: AI Police
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 3
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
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: bcrypt>=4.0.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: pexpect>=4.9.0; platform_system != "Windows"
Requires-Dist: filelock>=3.0.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: uvicorn[standard]>=0.20.0
Requires-Dist: websockets>=11.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyte>=0.8.0
Requires-Dist: segno>=1.6.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pyinstaller>=6.0.0; extra == "dev"
Requires-Dist: playwright>=1.40.0; extra == "dev"

# Chad: YOLO AI

Coding agents need hand holding to implement complex features, but no one holds Chad's hand. 

Add one or more OpenAI Codex, Claude Code, Google Gemini, Alibaba Qwen, Mistral Vibe, Moonshot Kimi, or OpenCode coding 
agents, decide what happens when you reach a limit (wait for the reset and continue, switch provider), ask for a coding 
task, and Chad will ralph loop to deliver a one-shot result.

**The First Warning:** Chad was developed with...  Chad. Yes, this material writes itself. No, high quality robust code 
this is not. 

**World Warning II:** Chad is a risk-taker who knows no limits. Chad runs agents in YOLO mode and has access to 
everything on your hard drive and your internet connection. Especially if you are going to allow remote connections,
consider using a cheap isolated cloud server, the [Weft](https://github.com/iondrive-co/weft) project makes this easy.

### Blah blah how do I run it?

- Install the latest version from the [releases page](https://github.com/iondrive-co/chad/releases) or with
[`pipx`](https://pipx.pypa.io/stable/) `pipx install chad-ai`
- Run it locally with the `chad` command OR
- Run it remotely with the `chad --tunnel` command and connect at https://iondrive.co/Chad. If your server is headless,
it is easiest to setup your providers via oauth with a chad server on a desktop and then use the export->import function
in the settings to move your encrypted provider config to the server

### How is this better than $Grug?

- Switch between agents (tokens encrypted with a master password you create and provide for each session)
- Optional remote access which can be shared with multiple users
- Display usage from multiple providers
- Await reset or switch providers when a desired hourly or weekly usage level is reached
- Run multiple tasks in parallel with git worktrees
- Send progress messages to slack and notify you once a task is done
- Chat view for continuing sessions or reviewing changes

<details open>
<summary><b>Screenshots</b></summary>

#### Monitor provider accounts with usage tracking
<img src="https://raw.githubusercontent.com/iondrive-co/chad/main/docs/screenshot-providers.png" width="800" alt="Providers tab with usage">

#### Configure rules to switch providers or wait for usage resets
<img src="https://raw.githubusercontent.com/iondrive-co/chad/main/docs/screenshot-settings.png" width="800" alt="Action rules configuration">

#### Run tasks with selected coding and verification agents
<img src="https://raw.githubusercontent.com/iondrive-co/chad/main/docs/screenshot-task-input.png" width="800" alt="Task input panel">
</details>

### Is this satire? What are you even doing here?

<p style="text-align: center;">
  <img src="https://raw.githubusercontent.com/iondrive-co/chad/main/docs/Chad.png" alt="Chad Code" width="80">
</p>
