1.6 KiB
1.6 KiB
Tool Usage Learnings
This file is intended to be used by an LLM such as Claude.
UV Package Manager
- Use
uv runto run Python tools without activating virtual environments - For formatting:
uv run ruff format . - For type checking:
uv run pyright - For upgrading packages:
uv add --dev package --upgrade-package packageto upgrade a specific package- Don't use
@latestsyntax - it doesn't work - Be careful with
uv pip installas it may downgrade packages
Git and GitHub CLI
- When using gh CLI for PRs, always quote title and body:
gh pr create --title "\"my title\"" --body "\"my body\"" - For git commits, use double quotes and escape inner quotes:
git commit -am "\"fix: my commit message\""
Python Tools
Ruff
- Handles both formatting and linting
- For formatting:
uv run ruff format . - For checking:
uv run ruff check . - Common issues:
- Line length (default 88 chars)
- Import sorting
- Unused imports
Pyright
- Type checker
- Run with:
uv run pyright - Version warnings can be ignored if type checking passes
- Common issues:
- Optional types need explicit None checks
- String operations need type narrowing
Best Practices
- Always check git status and diff before committing
- Run formatters before type checkers
- When fixing CI:
- Start with formatting issues
- Then fix type errors
- Then address any remaining linting issues
- For type errors:
- Get full context around error lines
- Consider optional types
- Add type narrowing checks when needed