A minimalist AI coding agent
Project description
Pana
A minimalist AI coding agent with a custom terminal UI.
Features
- Custom TUI — No Textual/Rich dependency. Renders directly with ANSI escape codes and truecolor.
- GitHub Copilot integration via OAuth device flow
- Streaming responses with Markdown rendering and syntax highlighting
- Emacs-style keybindings with kill ring, undo/redo
- Slash commands —
/login,/model,/clear,/help,/quit
Installation
pip install pana
Usage
pana
Or run as a module:
python -m pana
Commands
| Command | Description |
|---|---|
/login |
Authenticate with a provider |
/model |
Select a model |
/clear |
Clear chat history |
/help |
Show available commands |
/quit |
Exit (also /exit, /q) |
Editor Keybindings
- Navigation: Arrow keys,
Ctrl+A/E(line start/end),Alt+B/F(word left/right) - Deletion:
Ctrl+W(word back),Alt+D(word forward),Ctrl+U/K(to line start/end) - Kill ring:
Ctrl+Y(yank),Alt+Y(yank pop) - Undo:
Ctrl+- - Submit:
Enter— New line:Shift+Enter - Autocomplete:
Tab
Environment Variables
| Variable | Default | Description |
|---|---|---|
AGENT_LOG_LEVEL |
INFO |
Python logging level |
AGENT_LOG_FILE |
(none) | Log to file instead of null handler |
Development
# Install with dev dependencies
uv sync --extra dev
# Run tests
uv run pytest
# Lint
uv run ruff check .
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pana-0.1.1.tar.gz
(282.6 kB
view details)
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
pana-0.1.1-py3-none-any.whl
(92.3 kB
view details)
File details
Details for the file pana-0.1.1.tar.gz.
File metadata
- Download URL: pana-0.1.1.tar.gz
- Upload date:
- Size: 282.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e174e035ba8c914057ce4656d930a8adfba7b7f249907a05afef05cef65a1fed
|
|
| MD5 |
9be99b982c72f542c0ed8cecb4922c97
|
|
| BLAKE2b-256 |
7e92ed1d9d926e91618ca3a1ea0773ca3e6fc56e3f63a7d435129270e491a571
|
File details
Details for the file pana-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pana-0.1.1-py3-none-any.whl
- Upload date:
- Size: 92.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd8273c59715f120abb66266277de8bb02208873fcb50719d2123b20dc3d47b9
|
|
| MD5 |
6d64927adfdf1850e26ce3cb64b5d45c
|
|
| BLAKE2b-256 |
65cee330a8cc2066ea4e00f8c7f4f6acef1807dcfc522d9bddeef6192544e1ba
|