A modern command-line interface for managing IDA Pro licenses, downloads, ...
See https://hcli.docs.hex-rays.com/
HCLI is under heavy active development by our team. We are not accepting external contributions at this time due to:
- Rapid development and frequent breaking changes
- Tight integration requirements with our proprietary IDA Pro workflows
- Internal roadmap priorities and architectural decisions
However feel free to report bugs or suggest features via Issues
For our internal team, please see our Contributing Guidelines for development setup and workflow.
This project is licensed under the MIT License - see the LICENSE file for details.
- Bug Reports & Feature Requests: GitHub Issues
- Questions & Discussions: Discussions
- Documentation: Auto-generated from source code at build time
- Commercial Support: Contact [email protected]
- Hex-Rays Website: hex-rays.com
- Python 3.10 or higher
- uv package manager
# Clone the repository
git clone https://github.com/HexRaysSA/ida-hcli.git
cd ida-hcli
# Install dependencies
uv sync
# Run in development mode
uv run hcli --help# Install with development dependencies
uv sync --extra dev
# Build package
uv build
# Run development tools
uvx ruff format
uvx ruff check --fix
uvx ruff check --select I --fix
uvx mypy --check-untyped-defs src/ tests/ --exclude tests/data/ --disable-error-code=import-untyped --disable-error-code=import-not-foundDocumentation is automatically generated from source code:
# Build documentation
uv run mkdocs build
# Serve documentation locally
uv run mkdocs serve
# Documentation includes:
# - CLI commands (from Click help text)
# - API reference (from Python docstrings)
# - Usage examples (auto-generated)# Run tests
uv run pytest
# Test CLI commands
uv run hcli whoami
uv run hcli plugin listSee CONTRIBUTING.md for detailed development guidelines.
