docs: add comprehensive setup and testing guide for agents
- Add Initial Setup section with uv installation and venv creation steps - Include pre-commit hook setup with clear explanation of automation - Update Code Style section to mention pre-commit auto-fixing - Update Running Tests Locally with venv activation and linting commands - Add note clarifying pre-commit integration in CI/CD workflow This ensures new developers/agents know how to: 1. Install dependencies properly with uv 2. Set up pre-commit for automatic linting and testing 3. Run tests and linting commands manually when needed
This commit is contained in:
parent
15b595456a
commit
23bd31b233
42
AGENTS.md
42
AGENTS.md
@ -52,6 +52,32 @@ steward/
|
|||||||
|
|
||||||
## Development Workflow
|
## Development Workflow
|
||||||
|
|
||||||
|
### Initial Setup
|
||||||
|
|
||||||
|
1. **Install uv** (faster Python package manager):
|
||||||
|
```bash
|
||||||
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
source $HOME/.local/bin/env # Add to PATH
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Create virtual environment and install dependencies**:
|
||||||
|
```bash
|
||||||
|
uv venv
|
||||||
|
source .venv/bin/activate
|
||||||
|
uv pip install -e ".[dev]"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Set up pre-commit hooks** (runs ruff + tests on commit):
|
||||||
|
```bash
|
||||||
|
pre-commit install
|
||||||
|
```
|
||||||
|
|
||||||
|
From now on, `git commit` will automatically:
|
||||||
|
- Run `ruff check` and `ruff format` (with auto-fix)
|
||||||
|
- Run `pytest` to ensure tests pass
|
||||||
|
|
||||||
|
You can skip hooks with `git commit --no-verify` if needed.
|
||||||
|
|
||||||
### Before Making Changes
|
### Before Making Changes
|
||||||
|
|
||||||
1. **Understand the Context**
|
1. **Understand the Context**
|
||||||
@ -69,6 +95,7 @@ steward/
|
|||||||
- Line length: 100 characters
|
- Line length: 100 characters
|
||||||
- Use type hints throughout (mypy strict mode)
|
- Use type hints throughout (mypy strict mode)
|
||||||
- Import order: standard lib → third party → local
|
- Import order: standard lib → third party → local
|
||||||
|
- Pre-commit will auto-fix most linting issues
|
||||||
|
|
||||||
### Making Changes
|
### Making Changes
|
||||||
|
|
||||||
@ -192,9 +219,11 @@ class Settings(BaseModel):
|
|||||||
|
|
||||||
### Running Tests Locally
|
### Running Tests Locally
|
||||||
|
|
||||||
|
After setting up your venv (see Initial Setup), you can run tests:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install dev dependencies
|
# Activate venv if not already activated
|
||||||
pip install -e ".[dev]"
|
source .venv/bin/activate
|
||||||
|
|
||||||
# Run all tests
|
# Run all tests
|
||||||
pytest tests/ -v
|
pytest tests/ -v
|
||||||
@ -207,8 +236,17 @@ pytest tests/test_bot.py::test_mytest -v
|
|||||||
|
|
||||||
# Run with coverage
|
# Run with coverage
|
||||||
pytest tests/ --cov=steward --cov-report=html
|
pytest tests/ --cov=steward --cov-report=html
|
||||||
|
|
||||||
|
# Run linting only (pre-commit does this automatically)
|
||||||
|
ruff check steward/ tests/
|
||||||
|
|
||||||
|
# Auto-fix linting issues
|
||||||
|
ruff check steward/ tests/ --fix
|
||||||
|
ruff format steward/ tests/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note: Pre-commit will run these checks automatically on commit, so you usually don't need to run them manually unless you want to check before committing.
|
||||||
|
|
||||||
### Debugging Issues
|
### Debugging Issues
|
||||||
|
|
||||||
**Bot not responding:**
|
**Bot not responding:**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user