106 lines
1.4 KiB
Markdown
106 lines
1.4 KiB
Markdown
# Developer Instructions - VoIdea
|
|
|
|
**Date:** 2026-05-10
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
1. Python 3.12+
|
|
2. PostgreSQL (local)
|
|
3. Redis (optional for local dev)
|
|
|
|
---
|
|
|
|
## Setup
|
|
|
|
`ash
|
|
# 1. Clone repository
|
|
git clone <repo>
|
|
cd voidea
|
|
|
|
# 2. Create venv
|
|
python -m venv venv
|
|
source venv/Scripts/activate # Windows
|
|
|
|
# 3. Install dependencies
|
|
pip install -r requirements.txt
|
|
|
|
# 4. Configure environment
|
|
cp .env.example .env
|
|
# Edit .env with your values
|
|
|
|
# 5. Database setup
|
|
alembic upgrade head
|
|
|
|
# 6. Run application
|
|
uvicorn app.main:app --reload --port 8020
|
|
`
|
|
|
|
---
|
|
|
|
## Key Commands
|
|
|
|
`ash
|
|
# Lint
|
|
ruff check .
|
|
|
|
# Format
|
|
ruff format .
|
|
|
|
# Type check
|
|
mypy .
|
|
|
|
# Tests
|
|
pytest
|
|
|
|
# With coverage
|
|
pytest --cov=app tests/
|
|
|
|
# Run specific test
|
|
pytest tests/unit/test_core.py -v
|
|
`
|
|
|
|
---
|
|
|
|
## Project Structure
|
|
|
|
- pp/ - Application code
|
|
- docs/ - Documentation
|
|
- ests/ - Tests
|
|
|
|
---
|
|
|
|
## Naming Conventions
|
|
|
|
- Variables/Functions: snake_case
|
|
- Classes: PascalCase
|
|
- Constants: UPPER_SNAKE_CASE
|
|
- Files: snake_case.py
|
|
|
|
---
|
|
|
|
## Adding New Feature
|
|
|
|
1. Create feature branch: git checkout -b feature/description
|
|
2. Implement code
|
|
3. Write tests
|
|
4. Update documentation
|
|
5. Create PR
|
|
6. After approval: merge to develop, then main
|
|
|
|
---
|
|
|
|
## Rules
|
|
|
|
1. Always read 00-rules.md first
|
|
2. Follow code style (ruff, mypy)
|
|
3. Write docstrings
|
|
4. Update docs on changes
|
|
5. Tests required
|
|
6. No secrets in code
|
|
|
|
---
|
|
|
|
*Updated: 2026-05-10*
|