diff --git a/justfile b/justfile new file mode 100644 index 0000000..c8a80a5 --- /dev/null +++ b/justfile @@ -0,0 +1,26 @@ +set shell := ["bash", "-c"] + +default: run + +[private] +_ensure_tools: + @mise trust --yes . 2>/dev/null; mise install --quiet + +# Run the AI bot +run *args: _ensure_tools + @uv run ai_bot.py {{args}} + +# Run all checks (fmt, lint) +check: fmt-check lint + +# Format code +fmt: _ensure_tools + @uv run ruff format . + +# Check formatting without changing files +fmt-check: _ensure_tools + @uv run ruff format --check . + +# Lint +lint: _ensure_tools + @uv run ruff check . diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..a245b1c --- /dev/null +++ b/mise.toml @@ -0,0 +1,4 @@ +[tools] +python = "3.14" +uv = "latest" +just = "latest" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..8186e09 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,21 @@ +[project] +name = "donglora-ai-bot" +version = "0.1.0" +description = "MeshCore AI chatbot — default mesh name 'Orac'" +license = "MIT" +requires-python = ">=3.10" +authors = [{ name = "Stephen Waits" }] +dependencies = [ + "donglora-python", + "anthropic", + "cobs", + "pyserial", + "pycryptodome", + "pynacl", +] + +[dependency-groups] +dev = ["ruff"] + +[tool.uv] +package = false