A command-line agent.
Project description
Heare Developer CLI
Heare Developer CLI is a powerful and interactive coding assistant that leverages Anthropic's Claude AI models to help developers with various tasks. It provides a sandbox environment where you can perform file operations, execute bash commands, and interact with an AI assistant for coding-related queries and tasks.
Key Features
- Advanced AI Models: Access to Claude 3 models (Opus, Sonnet, Sonnet-3.5, Haiku) for varied needs and performance levels
- Intelligent File Handling: Smart file mention system using @ syntax for referencing files
- Sandbox Environment: Configurable sandbox modes for controlled file operations
- Tool Integration: Built-in tools for file and system operations, including Plane.so API integration for task management
- Command Auto-completion: Intelligent command and path completion
- Multi-line Input Support: Easy handling of multi-line code and text input
- Token Usage Tracking: Real-time monitoring of token usage and associated costs
- Rate Limiting Protection: Built-in rate limit handling with exponential backoff
- Permission Management: Granular control over file and system operations
- Rich Command History: Searchable command history with auto-suggestions
Installation
-
Clone the repository:
git clone https://github.com/clusterfudge/heare-developer.git cd heare-developer -
Install the required dependencies:
pip install -r requirements.txt -
Set up your Anthropic API key:
export ANTHROPIC_API_KEY=your_api_key_hereOr create a
.envfile containing:ANTHROPIC_API_KEY=your_api_key_here -
(Optional) Set up your Plane.so API key for task management:
export PLANE_API_KEY=your_plane_api_key_hereOr create a
~/.plane-secretfile containing just your API key.
Usage
Basic usage:
python -m heare.developer.cli [sandbox_path]
Command Line Options
sandbox_path: Path to initialize the sandbox (default: current directory)--model: Choose the Claude AI model (default: sonnet-3.5)- Available options: opus, sonnet, sonnet-3.5, haiku
--summary-cache: Specify path for summary cache (default: ~/.cache/heare.summary_cache)--sandbox-mode: Set sandbox mode for file operations- Options: REMEMBER_PER_RESOURCE, FORGET_IMMEDIATELY, REMEMBER_FOREVER
--prompt: Provide initial prompt (prefix with @ to read from file)
Interactive Features
-
File References: Use @ syntax to reference files in your messages:
> Can you explain the code in @src/main.py? -
Multi-line Input:
> { Here's my multi-line input that can include code or text } -
Command Auto-completion:
- Press Tab to auto-complete commands and file paths
- @ followed by partial path triggers file path completion
-
Available Commands:
/quitor/exit: Exit the CLI/restart: Clear chat history and start over- Various tool-specific commands (shown on startup)
-
Plane.so Integration:
- Manage tasks, issues, and projects directly through the CLI
- List workspaces, projects, and issues
- Create, update, and link issues
- Add comments and create subtasks
- See
docs/plane_tools_examples.mdfor detailed usage examples
Sandbox Modes
REMEMBER_PER_RESOURCE: Remember permissions per resource (default)FORGET_IMMEDIATELY: Ask for permission each timeREMEMBER_FOREVER: Remember all permissions
Development
Environment Setup
-
The project uses Python 3.11+. Make sure you have the appropriate Python version installed.
-
Clone the repository:
git clone https://github.com/clusterfudge/heare-developer.git cd heare-developer -
Set up a development environment using
uv(recommended):# Install uv if you don't have it pip install uv # Create and activate a virtual environment uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies including development tools uv pip install -e ".[dev]"
Alternatively, you can use pip:
# Create and activate a virtual environment python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies including development tools pip install -e ".[dev]"
-
Install pre-commit hooks:
pre-commit installThis sets up automatic code quality checks that run before each commit, including:
- autoflake: Removes unused imports and variables
- ruff: Lints and fixes code issues
- ruff-format: Formats code consistently
-
Run tests to verify your setup:
pytest
The project follows a modular architecture:
heare/developer/: Core CLI and developer toolsheare/pm/: Project management functionality (WIP)tests/: Test suite
Contributing
To contribute:
- Fork the repository
- Create a feature branch
- Make your changes, adding tests for new functionality
- Ensure all tests pass and pre-commit checks succeed
- Submit a pull request
License
[Insert your chosen license here]
Acknowledgements
This project uses:
- Anthropic's Claude AI models
- Rich for terminal UI
- Prompt Toolkit for command line interface
- Various other open source packages (see requirements.txt)
-
Available Commands:
/quitor/exit: Exit the CLI/restart: Clear chat history and start over- Various tool-specific commands (shown on startup)
-
Plane.so Integration:
- Manage tasks, issues, and projects directly through the CLI
- List workspaces, projects, and issues
- Create, update, and link issues
- Add comments and create subtasks
- See
docs/plane_tools_examples.mdfor detailed usage examples
-
Google Services Integration:
- Manage Google API authentication tokens for Gmail and Calendar
- Generate, export, and import authentication tokens
- Support for headless/remote environments
- See
docs/google_auth_cli.mdfor auth setup anddocs/google_tools_examples.mdfor usage examples
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 heare_developer-0.8.10.tar.gz.
File metadata
- Download URL: heare_developer-0.8.10.tar.gz
- Upload date:
- Size: 234.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7c9e18635d36b8973e14eed473769925bcde678a49a542e8e8d22ad495fd243
|
|
| MD5 |
072b0d9a16dc14e73ae4962d46900223
|
|
| BLAKE2b-256 |
f822a1e3750f67a9c1a87fcb7aeaae1454d0c994942d2adf96513105df2540df
|
Provenance
The following attestation bundles were made for heare_developer-0.8.10.tar.gz:
Publisher:
publish-to-pypi.yml on clusterfudge/heare-developer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
heare_developer-0.8.10.tar.gz -
Subject digest:
f7c9e18635d36b8973e14eed473769925bcde678a49a542e8e8d22ad495fd243 - Sigstore transparency entry: 232593026
- Sigstore integration time:
-
Permalink:
clusterfudge/heare-developer@39d0c398e30d16bcc210edb3a2a234a55584759c -
Branch / Tag:
refs/tags/v0.8.10 - Owner: https://github.com/clusterfudge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@39d0c398e30d16bcc210edb3a2a234a55584759c -
Trigger Event:
push
-
Statement type:
File details
Details for the file heare_developer-0.8.10-py3-none-any.whl.
File metadata
- Download URL: heare_developer-0.8.10-py3-none-any.whl
- Upload date:
- Size: 131.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebaf8cd0aaa9f17f1a8f7cb6d1a5f7078a7f277b75f27f9d981b1bab8d26c003
|
|
| MD5 |
2beb7b4a7bec67b6b3e9a815f4da567b
|
|
| BLAKE2b-256 |
587d30024c12436e2e5a5cebed8d28a85224a6ea6d6bd691b1c19425a0c0d14c
|
Provenance
The following attestation bundles were made for heare_developer-0.8.10-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on clusterfudge/heare-developer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
heare_developer-0.8.10-py3-none-any.whl -
Subject digest:
ebaf8cd0aaa9f17f1a8f7cb6d1a5f7078a7f277b75f27f9d981b1bab8d26c003 - Sigstore transparency entry: 232593044
- Sigstore integration time:
-
Permalink:
clusterfudge/heare-developer@39d0c398e30d16bcc210edb3a2a234a55584759c -
Branch / Tag:
refs/tags/v0.8.10 - Owner: https://github.com/clusterfudge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@39d0c398e30d16bcc210edb3a2a234a55584759c -
Trigger Event:
push
-
Statement type: