Clean project setup
pyproject.toml with sensible defaults; update fields then ship. No setup drama.
Ready-to-develop structure (pyproject, tox, pre-commit), a docs/ site for GitHub Pages, and a typed CLI: osassis.
$ git clone <repo_url>
$ cd os_assistant
$ uv sync
$ pre-commit install
$ cp .env.example .env
$ python setup_and_pull_general.py
$ osassis chat
pyproject.toml with sensible defaults; update fields then ship. No setup drama.
Fast env + deps (uv). Works cross-platform; plays nice with CI.
tox runs pytest, ruff, mypy. Pre-commit keeps diffs clean.
Serves GitHub Pages from docs/. Start static now; grow to CI build later.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone <repo_url>
cd os_assistant
uv sync
Tip: uv run <script.py> auto-syncs if needed.
pre-commit install
cp .env.example .env
copy .env.example .env
Edit .env → set MODEL_BASE_URL (your ngrok link), e.g.:
MODEL_BASE_URL=https://your-ngrok-link.ngrok.io
python setup_and_pull_general.py
Script: loads .env, sets OLLAMA_HOST from MODEL_BASE_URL, runs ollama pull for required models.
osassisosassis chat
Start tracing file system events in a directory:
osassis trace start file_system --dir path/to/watch
View trace logs with time filtering:
osassis trace show file_system --start "yesterday" --end "now"
Clear logs for a tracing domain:
osassis trace clear file_system
Editable install via uv pip:
uv pip install -e .
We also use make as a simple task runner (check the Makefile).
tox creates isolated envs and runs pytest, ruff, and mypy:
make tox
uv sync before every command?No — uv run will sync on demand. Running uv sync once sets everything up.
setup_and_pull_general.py script doing?Loads .env, exports OLLAMA_HOST from MODEL_BASE_URL, and pulls required models via ollama pull.
This page is served from docs/ on GitHub Pages. Add more static pages under docs/ as you grow.