-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrules.json5
More file actions
89 lines (89 loc) · 3.05 KB
/
rules.json5
File metadata and controls
89 lines (89 loc) · 3.05 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
"groups": [
{
"name": "Code organization & cleanup",
"rules": [
"Move all demo code/data to demo/ and never use in production.",
"Mark demo runs with a large DEMO banner.",
"Docs go in docs/ with clear subdirs.",
"First task in every task list: 'clean up this directory'.",
"Keep imports working; remove dead/unimplemented code."
]
},
{
"name": "Data modeling & database",
"rules": [
"Prefer simple key-value stores for common needs.",
"Choose high-cardinality partition keys (userId/tenantId/deviceId).",
"Minimize cross-partition queries; use hierarchical partition keys to scale and target queries.",
"Ensure even partition distribution."
]
},
{
"name": "SDK & reliability",
"rules": [
"Use latest Cosmos DB SDK and async APIs when available.",
"Reuse a singleton client; enable retries and preferred regions.",
"Handle 429 with retry-after logic and log diagnostics for unexpected latency/status codes."
]
},
{
"name": "Tools & containers",
"rules": [
"Use podman (not docker).",
"Prefer plocate or fdfind over find.",
"Use VMKit where applicable.",
"Test every pf/pf.py entry before finishing work."
]
},
{
"name": "Build & automation",
"rules": [
"Prefer pf.py as the task runner; keep pf scripts simple and delegate complexity to helpers.",
"If AUTOMATION.txt exists: keep building until it's removed; first task: check AUTOMATION.txt; last task: plan next task."
]
},
{
"name": "Testing & web",
"rules": [
"Prefer Playwright for web tests; validate every page and detect HTTP errors (502/404).",
"Include file-upload tests where applicable."
]
},
{
"name": "Python & environments",
"rules": [
"Prefer a conda environment; avoid hardcoded paths like /home/punk/.venv.",
"Use CONDA_PREFIX/bin for full paths when needed; consider venv breaks from sudo."
]
},
{
"name": "Style & output",
"rules": [
"Use only ASCII skulls as emojis (☠) if any; avoid other emojis.",
"Prefer simple, clear, undecorated output for readability."
]
},
{
"name": "Workflow & execution",
"rules": [
"Gather context before work: check WARP.md, PROJECT.txt, AGENTS.md, and .pf files.",
"Use planfile.json for complex multi-part runs."
]
},
{
"name": "Quality & restrictions",
"rules": [
"No demo code in production; run only production or real tests.",
"Log and monitor diagnostics; tune RUs and retry strategies as needed."
]
},
{
"name": "Metrics",
"rules": [
"Track CPUpwn (CPU-relative performance) for performance changes in any pcpu-related repo."
]
}
],
"precedence_note": "Rules in ascending order of precedence; later rules override earlier ones; project/subdirectory rules override parent/personal rules."
}