Aye Chat: Terminal-first AI Code Generator
Project description
Aye Chat - AI-Powered Terminal Code Generator
Aye Chat is a terminal-first AI coding assistant that helps you generate, modify, and manage code through natural language prompts. It provides both one-shot generation and interactive chat capabilities with built-in snapshot management for safe code modifications.
Key Features
Terminal-First Design
Unlike GUI-based tools, Aye Chat is built for developers who live in their terminals. All interactions happen through command-line interface with intuitive commands.
Intelligent File Detection
- Automatically detects relevant source file types in your project
- Respects
.gitignoreand.ayeignorepatterns to exclude irrelevant files - Supports multiple comma-separated file masks (e.g.,
"*.py,*.js") - Skips binary and hidden files for efficient processing
Safe Code Modification with Snapshots
- Creates timestamped snapshots of your files before any AI-generated changes
- "Latest" snapshot tracking for quick restores
- Interactive diff viewing to compare changes
- History management with pruning capabilities
Interactive Chat Experience
- REPL-based chat interface with command completion
- Supports both AI prompts and shell commands in the same session
- Persistent chat sessions that remember context
- Built-in command help system
Plugin Architecture
- Extensible plugin system for additional functionality
- Automatic plugin downloading based on user's license tier
- Modular design allowing easy addition of new features
Configuration Management
- Persistent configuration storage
- Support for multiple settings including file masks
Quick Start
-
Install the tool:
pip install ayechat
-
Authenticate:
aye auth login
Visit https://ayechat.ai to obtain your personal access token.
-
Start Interactive Chat:
aye chat -
One-Shot Generation:
aye generate "Create a function that reverses a string"
Usage Examples
Authentication
aye auth login # Configure your token
aye auth logout # Remove stored credentials
Interactive Chat
aye chat # Start chat with auto-detected files
aye chat --root ./src # Specify project root directory
aye chat --file-mask "*.js" # Work with JavaScript files
aye chat --file-mask "*.py,*.js" # Work with multiple file types
In chat mode, you can use these built-in commands:
help- Show available commandsexit/quit- End chat sessionnew- Start a new chathistory- Show snapshot historyrestore- Restore files from snapshotdiff [file] [snapshot]- Show differences in fileskeep [N]- Keep only N most recent snapshots
Any other command is treated as a shell command or AI prompt depending on context. Note that for the shell commands, you do not need to add '/' or any other special indicators: just type your command (e.g., "ls -la"). Some shell commands cannot be executed and will return an error or fail silently: these include those that alter terminal view (e.g., text editors) or attempt to switch shell context (e.g., "sudo su - ").
Except for Aye Chat own commands, which are matched and executed first, for each prompt, the tool attempts to find a shell command for the first token, and if successfull - execute it, if not - the prompt is treated as a message to AI.
Snapshot Management
aye snap history # List all snapshots
aye snap history src/main.py # List snapshots for specific file
aye snap restore # Restore latest snapshot
aye snap restore 001 # Restore specific snapshot
aye snap restore 001 file.py # Restore specific file from snapshot
aye snap keep -n 5 # Keep only 5 most recent snapshots
aye snap cleanup -d 7 # Delete snapshots older than 7 days
Configuration
aye config list # Show all settings
aye config get file_mask # Get current file mask
aye config set file_mask "*.py" # Set file mask
aye config delete file_mask # Remove file mask setting
Running using Visual Code
Example of launch.json you can use. Store this file under .vscode/
Note: Python 3.14.0, Visual Code and debugpy currently don't work. So we are currently using Python 3.13.x
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Module",
"type": "debugpy", // currently python 3.14.0 and visual code don't work well together. You have to use python 3.13.x.
"request": "launch",
"module": "aye",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/",
"justMyCode": true,
"args": [ "--help" ], // adjust/extend for the argument(s) you want to use.
}
]
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ayechat-0.11.0.tar.gz.
File metadata
- Download URL: ayechat-0.11.0.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c24f5c3da8129a32d23f11528c794f9c80927b61ff6dd9130a1ea2c8bd589a9
|
|
| MD5 |
acab6569c57f7b519b4c2b81cc674a8e
|
|
| BLAKE2b-256 |
bbd40ada22f65d11eb828dc9ad53e5bb64e45ddaff4c4eaa6001cb3db5a8813b
|
Provenance
The following attestation bundles were made for ayechat-0.11.0.tar.gz:
Publisher:
python-publish.yml on acrotron/aye-chat
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ayechat-0.11.0.tar.gz -
Subject digest:
0c24f5c3da8129a32d23f11528c794f9c80927b61ff6dd9130a1ea2c8bd589a9 - Sigstore transparency entry: 621708289
- Sigstore integration time:
-
Permalink:
acrotron/aye-chat@ebe14d0f7b34d02c6d87e739bc66cf992d26d6f0 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/acrotron
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ebe14d0f7b34d02c6d87e739bc66cf992d26d6f0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ayechat-0.11.0-py3-none-any.whl.
File metadata
- Download URL: ayechat-0.11.0-py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16dd0db3c77a8e4f2af5a005ec650536245dd993ac09faff419a1f7bd6ee0cb1
|
|
| MD5 |
d7e2005c1ddcae1f7c7313c7376bb24b
|
|
| BLAKE2b-256 |
fc7352a0614db0f9167282e96de4018a0f45d746b5099cbe7d3bdd840be28bad
|
Provenance
The following attestation bundles were made for ayechat-0.11.0-py3-none-any.whl:
Publisher:
python-publish.yml on acrotron/aye-chat
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ayechat-0.11.0-py3-none-any.whl -
Subject digest:
16dd0db3c77a8e4f2af5a005ec650536245dd993ac09faff419a1f7bd6ee0cb1 - Sigstore transparency entry: 621708292
- Sigstore integration time:
-
Permalink:
acrotron/aye-chat@ebe14d0f7b34d02c6d87e739bc66cf992d26d6f0 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/acrotron
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ebe14d0f7b34d02c6d87e739bc66cf992d26d6f0 -
Trigger Event:
release
-
Statement type: