Skip to content

Commit 726d02d

Browse files
author
Your Name
committed
d
1 parent 5915dce commit 726d02d

File tree

3 files changed

+263
-0
lines changed

3 files changed

+263
-0
lines changed

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Please follow all rules in rules.json strictly!

bfg-1.15.0.jar

14 MB
Binary file not shown.

rules.json

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
{
2+
"rules": [
3+
{
4+
"id": "07kwRDfGEGxIqlUskCf32",
5+
"title": "pf tool usage",
6+
"category": "tools",
7+
"content": "if you do not have access to the pf-web-poly-compile-helper-runner repo at P4x-ng/pf-web-poly-compile-helper-runner on github or code at /home/punk/Projects/AlexRepos/pf-web-poly-compile-helper-runner/ you may skip this task. Otherwise, if there are any broken pf tasks, fix them OR fix the grammar in the repo, overall we should be supporting any intuitively written tasks. Rule id 07kwRDfGEGxIqlUskCf32 still applies to all."
8+
},
9+
{
10+
"id": "07kwRDfGEGxIqlUskCf32",
11+
"title": "pf tool usage",
12+
"category": "tools",
13+
"content": "Code cleanliness rules: docs go in docs/ please, the repo should be fairly flat, example of good: ```src/ include/ build/ bin/ lib/ py/ main.c main.py``` example of bad: `src/ src-all/src/prod bin/src/prod build/build/src` in other words, not too many embedded dirs, dirs should have unique names, if there are embedded dirs it should be because different components are required and have separate builds, in which there should be one unified build. But overall, keep things flat, if things need to be integrated integrate them. Also, check all pf tasks and fix them OR remove them if they are no longer relevant."
14+
},
15+
{
16+
"id": "07kwRDfGEGxIqlUskCfmp8",
17+
"title": "pf tool usage",
18+
"category": "tools",
19+
"content": "Use the pf tool at /usr/local/bin. It is NOT bash - it's for simple command running and grouping commands. Avoid complex bash syntax like 'bash -lc'. Use simple commands like: ls -al | grep whatever && ./script.sh"
20+
},
21+
{
22+
"id": "2DZfPjDisCAbGN0eN3CJCg",
23+
"title": "Demo code organization",
24+
"category": "code-organization",
25+
"rules": [
26+
"NO DEMO CODE mixed with production",
27+
"NO CALCULATION BASED EMULATIONS",
28+
"Demo code should be clearly marked and put in a demo/ directory",
29+
"Document and be well organized"
30+
]
31+
},
32+
{
33+
"id": "2ESPh9w6c0yEEOjeFmfBuY",
34+
"title": "Database preference",
35+
"category": "architecture",
36+
"content": "Prefer key-value store instead of Postgres for database needs"
37+
},
38+
{
39+
"id": "4aSzJFzCO4U9PIgsCoDnOi",
40+
"title": "Justfile structure (DEPRECATED - use pf.py)",
41+
"category": "build-tools",
42+
"content": "Split Justfile into separate runner scripts: Justfile.tests, Justfile.builds, Justfile.demos, Justfile.cleanup, Justfile.dev (development superset), and Justfile (user-focused with includes)"
43+
},
44+
{
45+
"id": "5t4qAzabAxNhPAZ7Kw1DIR",
46+
"title": "Performance metrics",
47+
"category": "metrics",
48+
"content": "Track pcpu throughput as a performance metric and include this context in WARP.md for reference"
49+
},
50+
{
51+
"id": "BAIhf6C1OOs5EfRuK5VCUC",
52+
"title": "Container runtime",
53+
"category": "tools",
54+
"rule": "PODMAN > Docker",
55+
"content": "Use podman, never docker. You may install podman docker compatibility, but use podman here"
56+
},
57+
{
58+
"id": "CLnubWNBAjKTRDVzT2FMzQ",
59+
"title": "Security - TLS",
60+
"category": "security",
61+
"content": "Prefer using TLS (Transport Layer Security) for secure communications. Good security practices are REQUIRED"
62+
},
63+
{
64+
"id": "CM8n5UWim5J4dOhdcRb6Ko",
65+
"title": "pf file structure",
66+
"category": "build-tools",
67+
"content": "When writing a pf file, use helper scripts. Do not use any long commands"
68+
},
69+
{
70+
"id": "Cq2U8ZLkwWDZc86Tbcsp43",
71+
"title": "Output formatting",
72+
"category": "style",
73+
"rules": [
74+
"NO EMOJIS",
75+
"NO COLOR",
76+
"ASCII skulls are OK"
77+
]
78+
},
79+
{
80+
"id": "I3v2uJ8F5lEvaCpsbeC9Rc",
81+
"title": "Cleanup rule",
82+
"category": "organization",
83+
"rule_version": "v1.1",
84+
"content": "First task item in each task list should be 'clean up this directory'. Questions: Is this directory cleanly and intuitively laid out? Do imports work properly? Is there old/unimplemented functionality? Communicate your cleanup actions in the plan"
85+
},
86+
{
87+
"id": "MdtnS6a7KC7YAAqtiKSPCR",
88+
"title": "Container management",
89+
"category": "containers",
90+
"content": "Standardize on rebuilding containers whenever big changes are made or changes with volumes that need rebuilding"
91+
},
92+
{
93+
"id": "PvoHcANXykvQbXAzGLIeAI",
94+
"title": "WARP context",
95+
"category": "tools",
96+
"content": "You are being used from WARP, consider that in all answers"
97+
},
98+
{
99+
"id": "QxD09LUQsVFM7V45ZTXwMe",
100+
"title": "Code restrictions",
101+
"category": "code-quality",
102+
"rules": [
103+
"no_demo_code: true",
104+
"only_prod_or_real_tests: true"
105+
]
106+
},
107+
{
108+
"id": "WBCrwc74pxm0po76XaM8r0",
109+
"title": "Automation mode",
110+
"category": "automation",
111+
"content": "If AUTOMATION.txt exists: keep building until it's removed. First task: check for AUTOMATION.txt. Last task: plan next task. Replace tasks like 'present to user' or 'finish build' with 'KEEP BUILDING'"
112+
},
113+
{
114+
"id": "WtBnml2asBLZYH8fuWGwRa",
115+
"title": "Web testing",
116+
"category": "testing",
117+
"content": "Prefer Playwright scripts for automated web testing, including detection of HTTP errors (502, 404) and file uploads with test files"
118+
},
119+
{
120+
"id": "XbJgGWHKUWsRYTmjCOhWQs",
121+
"title": "LLVM integration",
122+
"category": "toolchain",
123+
"content": "LLVM should be an integral part of development and build processes"
124+
},
125+
{
126+
"id": "XfUwjg7MdHYO7ANfWDdaQv",
127+
"title": "Python venv",
128+
"category": "python",
129+
"rules": [
130+
"Central venv sometimes activated by user, sometimes not",
131+
"Set python, pip, and other python tools to use FULL PATH of venv at /home/punk/.venv/bin/ or necessary directory"
132+
]
133+
},
134+
{
135+
"id": "Yoen0Bgo0cSoUGuCFpoBAh",
136+
"title": "Performance metrics - CPUpwn",
137+
"category": "metrics",
138+
"content": "Track CPUpwn as a metric measuring performance relative to CPU processing linearly to gauge speed improvements"
139+
},
140+
{
141+
"id": "clPgJ7hct9G9Z2wo4g2KfM",
142+
"title": "Complex program runs - planfile.json",
143+
"category": "execution",
144+
"content": "Complex programs with many parts must be run using planfile.json. Full schema available in rule details"
145+
},
146+
{
147+
"id": "dfCF31dZnTmP5nBOESpVQu",
148+
"title": "Demo data handling",
149+
"category": "code-organization",
150+
"rules": [
151+
"ALL DEMO DATA moved to demo/ folder",
152+
"Don't use it in any production runs",
153+
"If using demo data, application must show LARGE 'DEMO' banner at top"
154+
]
155+
},
156+
{
157+
"id": "eOpzwDgpsLoyAbBs93F2TT",
158+
"title": "Web app validation",
159+
"category": "testing",
160+
"content": "When building web applications, use Playwright MCP to visit EACH PAGE and validate that it works before handing off to user"
161+
},
162+
{
163+
"id": "ffDrRBtXeViteZNzZFtlJY",
164+
"title": "pf.py tool (replaces Just)",
165+
"category": "build-tools",
166+
"deprecated": "Justfiles deprecated in place of pf.py",
167+
"content": "pf — tiny Fabric runner with symbol-free DSL, parallel SSH, and live output. Syntax: pf [<pf_file>] <task> [params...]"
168+
},
169+
{
170+
"id": "k3tzmesS000dHCsjSMA6pP",
171+
"title": "Fast file finding",
172+
"category": "tools",
173+
"content": "Use plocate (instant) or fdfind (much faster than find) as alternatives to find command"
174+
},
175+
{
176+
"id": "l97X1BaMznW0KhJjwzyT1I",
177+
"title": "Central Python venv",
178+
"category": "python",
179+
"content": "Use central venv at /home/punk/.venv unless conflicts prevent it. OK to install as root, but change ownership back to punk:punk user and group when done"
180+
},
181+
{
182+
"id": "nEPKDioWrzRjPM66LagDL6",
183+
"title": "Kubernetes preference",
184+
"category": "infrastructure",
185+
"content": "Prefer charmed kubernetes instead of k3s for Kubernetes orchestration"
186+
},
187+
{
188+
"id": "nXE9yT8KaZ1AR35JHVNueZ",
189+
"title": "pf script simplicity",
190+
"category": "build-tools",
191+
"content": "Keep pf scripts super simple - essentially just calls to other shell scripts and combining them, avoiding complexity"
192+
},
193+
{
194+
"id": "p8sPc6hUTzckfWR4ZSFIzZ",
195+
"title": "Justfile categories (DEPRECATED - use pf.py)",
196+
"category": "build-tools",
197+
"content": "Structure with category prefixes: dev- for development, prod- for production, test- for testing, and other relevant categories"
198+
},
199+
{
200+
"id": "pwFzpJBqaPLvuStmxSw6Zf",
201+
"title": "Default command",
202+
"category": "usability",
203+
"content": "Have a 'just <do thing>' command that performs a default, reasonable action based on project purpose for inexperienced users"
204+
},
205+
{
206+
"id": "pzmsFt0kDrVk1G326GC4iv",
207+
"title": "Context gathering",
208+
"category": "workflow",
209+
"rule_version": "v1.2",
210+
"content": "Always check WARP.md, PROJECT.txt, and .pf files before beginning tasks. Gather context from code to understand what needs to be done and what the project is about"
211+
},
212+
{
213+
"id": "v5aBevIUENpSFjR53G3Csq",
214+
"title": "VMKit usage",
215+
"category": "tools",
216+
"content": "Use VMKit for virtualization or related tasks always. If it can't do it, add the feature"
217+
},
218+
{
219+
"id": "vsmNyCgHb8bbN9l2Fck0fu",
220+
"title": "pf.py tool preference",
221+
"category": "build-tools",
222+
"content": "Prefer to use pf.py instead of other tools for task running and automation"
223+
},
224+
{
225+
"id": "vwyqnlJFEyfkWJ8GhiBeOT",
226+
"title": "File writing verification",
227+
"category": "quality",
228+
"content": "When you say you're WRITING A FILE, actually write the file. Double check to make sure you wrote a file. Overwrite if needed to be sure"
229+
},
230+
{
231+
"id": "xmvaREHAmaQfiXurNDt7Y5",
232+
"title": "AI Agent autonomy",
233+
"category": "workflow",
234+
"content": "You are being used as an AI Agent with more autonomy. Write files, perform privileged actions (send warning if sudo needed), or anything required"
235+
},
236+
{
237+
"id": "zob0ECwpEWHONzcGVLCeGj",
238+
"title": "Switch to pf",
239+
"category": "build-tools",
240+
"content": "ALL PF FILES MUST BE TESTED BEFORE YOU STOP WORKING. Every entry.",
241+
}
242+
],
243+
"categories": {
244+
"tools": "Tool preferences and configurations",
245+
"code-organization": "How code should be organized and structured",
246+
"architecture": "Architectural decisions and preferences",
247+
"build-tools": "Build system and task runner preferences",
248+
"metrics": "Performance metrics and tracking",
249+
"security": "Security practices and requirements",
250+
"style": "Output and code style preferences",
251+
"containers": "Container management and practices",
252+
"testing": "Testing approaches and tools",
253+
"python": "Python-specific configurations",
254+
"infrastructure": "Infrastructure and orchestration preferences",
255+
"usability": "User experience and default behaviors",
256+
"workflow": "Development workflow practices",
257+
"quality": "Code and output quality standards",
258+
"automation": "Automation and continuous execution modes",
259+
"toolchain": "Build and compilation toolchain preferences"
260+
},
261+
"precedence_note": "Rules listed in ASCENDING order of precedence. Later rules override earlier rules. Project rules (with file paths) override personal rules. Subdirectory rules override parent directory rules."
262+
}

0 commit comments

Comments
 (0)