File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed
Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ # Copilot Instructions
2+
3+ ## Python Environment
4+
5+ Always activate and use the Python virtual environment when running Python commands:
6+
7+ - On Windows: ` .venv\Scripts\activate `
8+ - On Linux/macOS: ` source .venv/bin/activate `
9+
10+ Use ` python -m pip ` instead of bare ` pip ` when installing packages.
11+
12+ ## Dev Setup
13+
14+ Install all dependencies with:
15+
16+ ```
17+ python -m pip install -e ".[dev,test]"
18+ ```
19+
20+ ## Python Version
21+
22+ This project requires Python 3.10 or newer.
23+
24+ ## Project Structure
25+
26+ - ` featuremanagement/ ` — Synchronous feature management code
27+ - ` featuremanagement/aio/ ` — Async equivalents of feature management classes
28+ - ` featuremanagement/_models/ ` — Data models (feature flags, variants, telemetry)
29+ - ` featuremanagement/_time_window_filter/ ` — Time window filter with recurrence support
30+ - ` featuremanagement/azuremonitor/ ` — Optional Azure Monitor telemetry integration
31+ - ` tests/ ` — Unit tests (sync and async)
32+ - ` samples/ ` — Sample applications
33+
34+ ## Code Conventions
35+
36+ - All source files must include the Microsoft copyright header.
37+ - All modules must have a module-level docstring.
38+ - Maximum line length is 120 characters.
39+ - Use type annotations on all functions and methods.
40+
41+ ## Code Quality
42+
43+ Run these before submitting changes:
44+
45+ ```
46+ black featuremanagement
47+ pylint featuremanagement
48+ mypy featuremanagement
49+ pytest tests
50+ ```
51+
52+ ## Testing
53+
54+ - Sync tests are in ` tests/test_*.py `
55+ - Async tests use ` pytest-asyncio ` and are in files ending with ` _async.py `
56+ - Run tests with: ` pytest tests `
You can’t perform that action at this time.
0 commit comments