Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2d40e6c
docs(test-helpers) Update to existing modules
tony Feb 27, 2025
e8b5d7a
docs(test-helpers) Add retry page
tony Feb 27, 2025
76326f3
py(deps[dev]) Bump dev packages
tony Feb 27, 2025
1668b45
chore: Add `__init__.py` for tests/examples
tony Feb 27, 2025
fc3dec2
chore: Add `__init__.py` for tests/examples/test
tony Feb 26, 2025
a438f2d
chore: Add `__init__.py` for tests/examples/_internal/waiter
tony Feb 27, 2025
aa260f2
fix(retry): Improve retry_until_extended function with better error m…
tony Feb 26, 2025
10a37e5
feat(waiter): Enhance terminal content waiting utility with fluent AP…
tony Feb 26, 2025
0c74d33
test(waiter): Fix test cases and improve type safety
tony Feb 26, 2025
a10493a
docs(waiter): Add comprehensive documentation for terminal content wa…
tony Feb 26, 2025
6bdbb5c
pyproject(mypy[exceptions]): examples to ignore `no-untyped-def`
tony Feb 26, 2025
d436d75
test: add conftest.py to register example marker
tony Feb 26, 2025
17d2967
refactor(tests[waiter]): Add waiter test examples into individual files
tony Feb 26, 2025
50081b5
docs(CHANGES) Note `Waiter`
tony Feb 27, 2025
afaa68b
cursor(rules[git-commits]) Use component name first
tony Feb 28, 2025
87bfeb7
cursor(rules[git-commits]) Standardize further
tony Feb 28, 2025
24dc049
cursor(rules[dev-loop]) Use `--show-fixes` in `ruff check`
tony Feb 28, 2025
ed09b06
tests(test_waiter[capture_pane]): Add resiliency for CI test grid
tony Feb 28, 2025
52816d5
tests(test_waiter[exact_match]): Skip flaky exact match test on tmux …
tony Feb 28, 2025
f4046c6
test(waiter): Replace assertions with warning-based checks in detaile…
tony Feb 28, 2025
808f978
cursor(rules[dev-loop]): Format, Test, then Typecheck and Lint
tony Feb 28, 2025
11dbe65
py(deps[dev]) Bump dev packages
tony Feb 28, 2025
e10c38d
cursor(rules[dev-loop]) add Python docstring and doctest guidelines t…
tony Feb 28, 2025
eca28f6
cursor(rules[dev-loop]) add pytest-watcher commands for continuous te…
tony Mar 1, 2025
2d1f60d
cursor(rules[dev-loop]) add project stack to development guidelines
tony Mar 1, 2025
3e059d6
.windsurfrules: Create file based on dev-loop
tony Mar 1, 2025
a3f1ff8
.windsurfrules: Create file based on git-commit.msc
tony Mar 1, 2025
5aefaa5
cursor,windsurf(rules): Add pytest testing guidelines to project rules
tony Mar 1, 2025
fd231cf
cursor(rules[avoid-debug-loops]) Prevent AI digging us a hole
tony Mar 2, 2025
4f12f02
tests(waiter) Rerun flaky test a few times
tony Mar 2, 2025
526e091
py(deps[dev]) Bump dev packages
tony Mar 2, 2025
f8c2646
tests(waiter) Eliminate `test_wait_for_pane_content_exact_match`
tony Mar 2, 2025
4975ed8
tests(waiter) Bump reruns for `wait_for_pane_content_regex_line_match`
tony Mar 2, 2025
3d8cdd9
docs(README) Overhaul README
tony Mar 2, 2025
db84b74
docs(README) Rephrasing
tony Mar 2, 2025
e4d09ef
docs(README) Examples
tony Mar 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
.windsurfrules: Create file based on dev-loop
  • Loading branch information
tony committed Mar 1, 2025
commit 3e059d6d454a1b0355c21abd042b0e8f893ff9dc
77 changes: 77 additions & 0 deletions .windsurfrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# libtmux Python Project Rules

<project_stack>
- uv - Python package management and virtual environments
- ruff - Fast Python linter and formatter
- py.test - Testing framework
- pytest-watcher - Continuous test runner
- mypy - Static type checking
- doctest - Testing code examples in documentation
</project_stack>

<coding_style>
- Use a consistent coding style throughout the project
- Format code with ruff before committing
- Run linting and type checking before finalizing changes
- Verify tests pass after each significant change
</coding_style>

<python_docstrings>
- Use reStructuredText format for all docstrings in src/**/*.py files
- Keep the main description on the first line after the opening `"""`
- Use NumPy docstyle for parameter and return value documentation
- Format docstrings as follows:
```python
"""Short description of the function or class.

Detailed description using reStructuredText format.

Parameters
----------
param1 : type
Description of param1
param2 : type
Description of param2

Returns
-------
type
Description of return value
"""
```
</python_docstrings>

<python_doctests>
- Use narrative descriptions for test sections rather than inline comments
- Format doctests as follows:
```python
"""
Examples
--------
Create an instance:

>>> obj = ExampleClass()

Verify a property:

>>> obj.property
'expected value'
"""
```
- Add blank lines between test sections for improved readability
- Keep doctests simple and focused on demonstrating usage
- Move complex examples to dedicated test files at tests/examples/<path_to_module>/test_<example>.py
- Utilize pytest fixtures via doctest_namespace for complex scenarios
</python_doctests>

<testing_practices>
- Run tests with `uv run py.test` before committing changes
- Use pytest-watcher for continuous testing: `uv run ptw . --now --doctest-modules`
- Fix any test failures before proceeding with additional changes
</testing_practices>

<git_workflow>
- Make atomic commits with conventional commit messages
- Start with an initial commit of functional changes
- Follow with separate commits for formatting, linting, and type checking fixes
</git_workflow>
Loading