Thanks for helping improve HALO Core. This project focuses on a NotebookLM-style Streamlit experience with Agno-backed orchestration for sources, chat, and Studio templates.
- Python 3.10+
- Git
- FFmpeg (for audio/video transcription)
- OpenAI API key or other provider credentials (store in
.streamlit/secrets.toml)
-
Clone the repository
git clone https://github.com/aizech/halo_core.git cd halo_core -
Create a virtual environment
python -m venv .venv
. .venv/Scripts/activate # Windows Powershell: .venv\Scripts\Activate.ps1-
Install dependencies
pip install -r requirements.txt
4. **Configure secrets**
```toml
# .streamlit/secrets.toml
OPENAI_API_KEY = "sk-..."
ANTHROPIC_API_KEY = "sk-..."
-
Create a feature branch
git checkout -b feature/<issue>-<short-description>
-
Make your changes
- Keep edits focused.
- Update documentation (PRD/ADR/README) when requirements change.
- Add or update tests for new behavior.
-
Run checks
pytest ruff check . black --check . mypy app services
4. **Run the app**
```bash
streamlit run app/main.py
- Submit a PR
- Describe the change, include screenshots for UI updates.
- Call out any backward-compatibility concerns.
- Python formatting: black
- Linting: ruff
- Prefer type hints for public interfaces
- Keep Streamlit UI changes minimal and consistent with the existing design
- Update
HALO_CORE_PRD.mdfor requirements changes. - Add/extend ADRs in
adr/for architectural decisions. - Ensure README references stay current.
- Never commit secrets or API keys.
- Avoid logging sensitive data.
- Open an issue for questions or clarifications.