Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
7
**ALWAYS use the virtual environment for Python commands!**
Sign in to like and favorite skills
ALWAYS use the virtual environment for Python commands!
.venv/.venv\Scripts\python.exe (Windows) or .venv/bin/python (Unix).venv/, not globally# ✅ CORRECT - Use virtual environment Python .venv\Scripts\python.exe -m pytest tests/ .venv\Scripts\python.exe -c "import pandas; print(pandas.__version__)" # ✅ CORRECT - Use enhanced check.py script python check.py # Run all checks python check.py test # Run tests only python check.py lint # Run pylint only # ❌ INCORRECT - Don't use system Python python -m pytest tests/ python -c "import pandas"
.venv/ exists in the project rootOur comprehensive documentation is located in
docs/. Always reference these when working with code:
docs/architecture.md - Complete system architecture overviewdocs/architecture-standards.md - Centralized architectural standardsdocs/adrs/ - Historical record of architectural decisionsdocs/adrs/README.md - Overview and format for ADRsOur comprehensive testing standards are located in
docs/testing-standards/. Always reference these when working with tests:
docs/testing-standards/test-plan-template.mddocs/testing-standards/test-implementation-guide.mddocs/testing-standards/coverage-requirements.mddocs/testing-standards/tools-and-automation/ci-cd-integration.mddocs/testing-standards/ai-prompts-guide.md for consistent resultstest_method_name_condition_expected_result# Standard test file structure class TestClassNameInit: """Test class initialization.""" pass class TestClassNameCore: """Test core functionality.""" @pytest.fixture def sample_instance(self): return ClassName(valid_params) class TestClassNameEdgeCases: """Test edge cases and error conditions.""" pass
@pytest.mark.unit)@pytest.mark.integration)hypothesis for comprehensive validation@pytest.mark.security)tests/ directorytest_[module_name].pysrc/banking/account.py → tests/test_account.pydocs/test-plans/test_plan_[class_name].mddocs/testing-standards/test-plan-template.mdAlways use our standard pytest configuration from
docs/testing-standards/pytest-configuration.md:
[tool.pytest.ini_options] testpaths = ["tests"] addopts = [ "--strict-markers", "--cov=src", "--cov-branch", "--cov-report=term-missing", "--cov-fail-under=90" ]
docs/test-plans/Always reference our architecture documentation when:
Always reference our testing standards documentation when:
When reviewing code, check compliance with:
# Preferred test method pattern def test_deposit_positive_amount_increases_balance(self, sample_account): """Test that depositing positive amount increases balance.""" # Arrange initial_balance = sample_account.balance deposit_amount = 100 # Act result = sample_account.deposit(deposit_amount) # Assert assert result is True assert sample_account.balance == initial_balance + deposit_amount # Preferred exception testing def test_withdraw_insufficient_funds_raises_error(self, sample_account): """Test withdrawal with insufficient funds raises exception.""" with pytest.raises(InsufficientFundsError) as exc_info: sample_account.withdraw(999999) assert "Insufficient funds" in str(exc_info.value)
# Run tests with coverage pytest --cov=src --cov-report=html # Run specific test categories pytest -m unit pytest -m integration pytest -m "not slow" # Generate test report pytest --html=report.html # Check coverage only coverage report --show-missing