You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+59-10Lines changed: 59 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,13 +65,62 @@ Tests are important while development. Whenever you add/update a functionality,
65
65
-`test_util.py`: Tests for utilities.
66
66
67
67
# Developer workflow
68
-
* Take the requirement from the user
69
-
* Read the existing codebase and understand where does this requirement fit best
70
-
* Discuss and refine the requirement with user
71
-
* Create a separate git branch for the requirement
72
-
* Implement the requirement/functionality
73
-
* Implement the tests for the same
74
-
* Verify tests are passing
75
-
* Update the documentation
76
-
* Increment the library version in `pyproject.toml`
77
-
* Push the changes to git repository with relevant commit messages
68
+
69
+
**IMPORTANT**: Follow these steps in EXACT sequence. Do NOT skip or reorder steps without explicit discussion with the user. Each step builds on the previous one.
70
+
71
+
1.**Take the requirement from the user**
72
+
- Listen carefully and document the requirement clearly
73
+
- Ask clarifying questions if ambiguous
74
+
75
+
2.**Discuss and refine the requirement WITH the user**
76
+
- Clarify scope, expected behavior, edge cases
77
+
- Get alignment before writing any code
78
+
- Document the refined requirement
79
+
80
+
3.**Read the existing codebase**
81
+
- Now that the requirement is clear, explore the relevant modules
82
+
- Understand where this requirement fits best
83
+
- Identify potential conflicts or dependencies
84
+
85
+
4.**Create a separate git branch for the requirement**
86
+
- Use descriptive branch name (e.g., `feature/add-xyz` or `fix/issue-xyz`)
87
+
- Ensure you're on the correct base branch before branching
88
+
89
+
5.**Implement the requirement/functionality**
90
+
- Write clean, documented code following project conventions
91
+
- Consider error handling and edge cases
92
+
93
+
6.**Write tests DURING implementation (not after)**
94
+
- Add unit tests alongside the code
95
+
- Aim for meaningful test coverage of the functionality
96
+
- Tests should cover both happy path and edge cases
97
+
98
+
7.**Verify all tests are passing**
99
+
- Run the full test suite: `pytest`
100
+
- Ensure both new and existing tests pass
101
+
- No skipped tests without justification
102
+
103
+
8.**Update the documentation**
104
+
- Update relevant docs in `docs/` folder
105
+
- Update `README.md` if applicable
106
+
- Add docstrings to new functions/classes
107
+
- Include examples for user-facing features
108
+
109
+
9.**Update CHANGELOG**
110
+
- Add entry describing what changed
111
+
- Use clear, user-friendly language
112
+
113
+
10.**Increment the library version in `pyproject.toml`**
114
+
- Follow semantic versioning (major.minor.patch)
115
+
- Patch: bug fixes
116
+
- Minor: new features (backward compatible)
117
+
- Major: breaking changes
118
+
119
+
11.**Push changes to git repository**
120
+
- Use clear, descriptive commit messages
121
+
- Each commit should be logically atomic
122
+
- Format: `[Type] Short description` e.g., `[Feature] Add live data fetching for BSE` or `[Fix] Handle missing data edge case`
0 commit comments