-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.windsurfrules
56 lines (50 loc) · 1.85 KB
/
.windsurfrules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
project:
name: ipfs_dict_chain
description: A Python package providing dictionary-like data structures that store their state on IPFS and track changes
version: 1.0.7
requirements:
- Python >= 3.10
- IPFS node
- aioipfs >= 0.6.3
- multiaddr >= 0.0.9
structure:
core_modules:
ipfs_dict_chain/:
- CID.py: Content Identifier handling and validation
- IPFS.py: IPFS connectivity and operations
- IPFSDict.py: IPFS-backed dictionary implementation
- IPFSDictChain.py: Chain-based dictionary with history tracking
- __init__.py: Package initialization
tests:
tests/:
- test_CID.py: CID functionality tests
- test_IPFS.py: IPFS operations tests
- test_IPFSDict.py: IPFSDict implementation tests
- test_IPFSDictChain.py: IPFSDictChain functionality tests
- __init__.py: Test package initialization
configuration:
root/:
- setup.py: Package installation and dependencies
- MANIFEST.in: Package manifest configuration
- README.md: Project documentation
- LICENSE: MIT License
- .gitignore: Git ignore rules
- .windsurfrules: Project rules and structure
ci_cd:
.github/workflows/:
- tests.yml: GitHub Actions workflow for automated testing
development_rules:
- All tests must pass before pushing changes
- Use package-relative imports (from ipfs_dict_chain.xxx import yyy)
- Maintain Python 3.10 compatibility
- Follow existing code style and patterns (PEP 8)
- Use type hints and annotations
- Use Sphinx for documentation
- Update README.md as needed
- Use a testdriven development (TDD) approach
key_features:
- Store dictionary data on IPFS
- Track state changes in a chain-like structure
- Support for both dot notation and bracket notation
- Automatic IPFS content addressing
- History tracking and state retrieval