From 0db14839f50c63b6a9238524bb5165d97d7eaa7e Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Thu, 19 Mar 2026 22:55:40 +0100 Subject: [PATCH] Updated agents and db --- AGENTS.md | 21 ++++++++++++++++----- src/RolemasterDb.App/rolemaster.db | Bin 4124672 -> 4128768 bytes 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f9767f9..035b3bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,16 +12,27 @@ These tool paths should be used instead of any entry in the PATH environment var ## Rules -- This is a Windows environment, WSL is not installed (i.e. sed is not available). You're running under PowerShell 7.5.5. Due to platform restrictions, file deletions are not possible. Replacing the entire file content via a context diff is a viable alternative. -- PowerShell doesn't support bash-style heredocs. If complex scripts need to be executed, consider using python as a last resort. Run Python code using python -c with inline commands instead of python - <<'PY'. -- If you find unexpected changes in the code (deletions, changes, diff results that were not communicated), never revert them and never restore the old state. Assume that those changes happened with intent. -- Never use reset commands or equivalent rollback actions to discard local changes unless the user explicitly asks for that exact rollback. Assume that uncommunicated file changes are a possibility between each interaction with the user. - Prefer extracting code to a shared helper to be reused instead of duplicating code. Always keep high maintainability standards. - Keep changes as small as possible, design solutions that achieve the goals with minimal churn. - Always place each newly created class into its own file. The file name must match the class name. - When asked to begin working on a task, create a detailed implementation plan first, present the plan to the user, and ask for approval before beginning with the actual implementation. - When an task is finished, perform a code review to evaluate if the change is clean and maintainable with high software engineering standards. Iterate on the code and repeat the review process until satisfied. -- Check if the code compiles with a compile-only `dotnet build` to avoid artifact conflicts. - After the implementation is finished, verify all changed files, and run `python D:\Code\crlf.py $file1 $file2 ...` only for files you recognize, in order to normalize all line endings of all touched files to CRLF. - If there's documnentation present, always keep it updated. - At the end perform a git commit with a one-liner summary. + +### PowerShell + +- This is a Windows environment, WSL is not installed (i.e. sed is not available). You're running under PowerShell 7.5.5. Due to platform restrictions, file deletions are not possible. Replacing the entire file content via a context diff is a viable alternative. +- PowerShell doesn't support bash-style heredocs. If complex scripts need to be executed, consider using python as a last resort. Run Python code using python -c with inline commands instead of python - <<'PY'. +- Parallel PowerShell calls are flaky, stick to sequential reads and command execution. +- Commands like `rg` and `Get-Content` are always allowed. + +### Dotnet CLI + +- Use `$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1'` +- Use `$env:DOTNET_CLI_HOME = 'D:\EE\prometheus'` +- Use `$env:NUGET_PACKAGES = Join-Path $env:USERPROFILE '.nuget\packages'` +- Always build with `-c Editor_Dev -p:Platform=x64 -p:ArtifactsPath=D:\EE\prometheus\artifacts_test\ -v minimal -clp:ErrorsOnly -m:1`. +- Always build with `D:\EE\prometheus` as cwd. +- If a build fails with 0 errors / 0 warnings, do not keep retrying the same build command, instead use --no-restore. \ No newline at end of file diff --git a/src/RolemasterDb.App/rolemaster.db b/src/RolemasterDb.App/rolemaster.db index 1f338c3a23939ded190d6072f4928f793495c3ae..ec19177c637510a075cb5a5acec70c07a85630f3 100644 GIT binary patch delta 7876 zcmcIpc~}(JvhVKG-P7IE!wmbtAoKt(48ta?LIgENuPZKbNt8vzU_?OFXjVW4y%7~$ zD5HrnCNa55R9rhoZzM*INiZQQ>bRmouW{w7*Lc;ZuX<*@AwJ*t{(3WCRsFh7ojx^Z zty5Fpa-S|Qe?Zq*xYZOz+G>?_diAE9UD5Q#IUQo=b%>$W4l&Fnla5@W$Q3DJOGVpR z;#J+J@fk0QrWmF|H$1g=l0}5>{h11AoTsdXjB5eK@aVoW71rw`!ytRBt&4hXmBP`m z(a+WehAg)&g!=VL3EV$oONH|Oj9>8B8L_cllcy<##WV9umBRd&qQ{nwEsCFJSKey$QMs69yt9&N&-dV%^;2ZdB zEF7Vj$c|7SLx!eu+v#y!6(wegqs3w3Krut?E+&Z4Viz$~^b<{@B(lOo;jVB~I3XMn zei9A{dxTxWcA;MQ49ZJs3w%&Yo0opG*2lX>_qJ}X?k(LcU8$~6H&K_PdjZ-?=>YI- z^Dsl)G&&HhaU{4yJ@*;+5x1IK!7bscxhnAsahP0a5=563B}9%b=heQT)Ws_-m?= zds!-x%a*ywd05?z_#3N!O;GA8|bdhz(e{QL>oCHbY zwI%{R*c`Se8_E*WO23K)^K+y`IQL8Up)fU045lx-#Bs>&D*AA*qW`||k2rA%4CpG3 zfUO$q5HF^~)Oc|z1SE(ryX^Nl1&m4*zk;rDVh9{d(2VenFjRZ=OcH|`dq0<^Bu>nN zIMk@IN#ZXN-gFx^hc2a{o4F6T8m@>N#|`9CIU5(i{?1-x_p)2qTDF`mW(TopY$S`TjohuP6{{e& z7Kf&)R?KBsHjDCvD@(;`EV~xb_+?@S%Qhogw@i#-IRTNwiOLYk%h8UzgJ_P1_y|Pz zmZKg27NV#+aVX0lMl@SPx-N*0A!2lePz0hs^n6?Nf#)^UutE%gN)RJqDu_PxK_~&y z7fxu3J>x}h#@^)8#H@I1a>%8a`ya(Im%_0^wA1Gx6+{bI-w`Lnk}o8zf5BNwpLf0g zj5YsQO!hWYMvo(4SMPQZ5G4YUotyf`NVuPHd4nLR6V_EG3NY z!0^2UgRVulMSMpr6uXL?a9sGCah>s1V_##S$8R3HJQf&!Hmo)j8+sW$<@0jA{DwRb z2A502prl;#f;HvRS-MCquaK^@tk8|_gNM1bi@LH(T0_(O)ztaY0-Dutrk26=D%9Wn ztJFZVh6mJ2*uFqY)KD(mSRln}C`xUsusUegc$ivTw@8Z7z}ULER@@d2V`0o(>r`6% zZBcM+v1BtK>hAFoa?)nJ4yF=PsJ>PsyLWUj$f2@9x-6N6D%Omv^*V8oy?n*CW?+Oc zpiGyfv$DO|DBT&|_qwgR_vwYgRAH>pSLiBq5Cq*V3`GJk1i69X$36@?R?)L0B3>6A z;$Cs1xKgatrjghiPm>1ebE!_MkP4+yQZFfr&ePvD=;UkiVR?uAzFa9!mWRs8`k(dN z^sDq0`j_;B^zr%tiFrf;y+iV$k2-}qeUtQo0MTXI6mE2?VB}ZQ-?U-*Hw@h=`GR?; z)Z(gg5-O%jJ}|0G@`H+B0;f7-V@pZzUxOxBO|j<+9mKF8ae-SP-z81zy4c>8g; z;uy3XkuqfuiZXQyu>_(NAgx)lGafa-c<2{}8_iUgPVtrzC>4~$QJPT>Luo=e6r})j z4@(n#j5SyiZRw5Dgt8Y(0UkI@?qW%VCBb+XOCl`sCi&ZF+qJ`)Q4vB>|M5v zy`+Zc=qC`C>q6(K)p`0{+Pkm)qSM#D_6u&=T9>cy;v+ZVOZ!>?r3qynN?~4FzFtks zmk$I6Eu^;!`gdhse^uWk7kbz{_82c38;zTdD~xY}P%ckSWSIhH1e3wonHJ_t<|F0} zwjZmoGHE4EWEc6Al#@d8EQ!VKLEv(@6fT@Iu@7KZxm*V$E96p!F~biP@?e&!p?n}{ zwmh9>8WAmRc=pc2PcRW~KZrFUTV(VcPT=Mb1?RLA#_t`i2ve!;h7hc1rP(QZ0x0nl;NJ zjC@LqXB17C7P!xwL@=(JTX#x<>igC5TpG%%Wd&B^B8I51aFOTilsI^0k=)JO?}_T& zjV4#+a?SYmA~}RE0-we5%TQG<2hdktg}6x!sj88yY7Ek* zEUi;N+2>DKOZBkEX!jl2IIdgmG>a&XncL@OhSP0?NBjIk;PgKKT-esoV=dJ0P$FT_ zF>=5CJvn=yZ4peqZ7X)&ld(#N&X4cO6N^jpb4#Z$H-~B^j z=Yin%cjboneEik?pZ(XEcyg5@S0&Z6Bvzug)U+LAJgXxc!#$lB`r-jmwfT6TAAH&W zWw@|3>S_1+6;LkQilF|mZLsEX2O2WZgopD5`O~H=_}GgiGht&)vRgAaG<9_?lq7*jpUJqCM(7_J+385SF|40ib@#&)&x zD19TwmXr0}^@4Ol`a+tCai~em6hnk-!fs)KFj5HD-O+ugTh1Tn*YPv?zwl-ZpjEDt z8_5M>$owVwFY+U)C3zTzGt4i{`%DRw&KT%3L3I89{#D=2v@Rm7j-wVq^a#96Aj*bu zBdpOHic%Mku)e~u;+vRw5J#aBQ5K|*vPNkrN-Z2^^~40mzp15AF$Rkf<-(RRR=bAc z)L+L~{TS9`J=XcJ7qJeaC^dSlwal5USOlB0uthv7vY{ml>mZ6zP1)8vnNkX6FpIbN zqoe^$ZJoP#&SM*S*It?$=RF_SIGn4uCV^K^bHjY zLPjgjp0<-DT5WE!KF}}2vx^%->1T37a6jwKc~*xvnp~|<=^bA?4qK0Gu@=DLVah>B zzsOusW3L6+Xh3d)hkcb&zzul{Y&jZkgWazy?nzz#Fo1=CUjwWdpDJK$sLd zACd!cdwY4Da;2S9n5v#kE3oNk_z1u)_8lnkx9xJ(+3}mAhgni+hjx2y0v=^kaGQ0l zyu`-~ujsswPCe@pYNgdAHuP(5yD5}6@eGBxUj{wALp-Y^8UtOuHS;gYwL`JDUJDN` zb>_@f%$YN^D^-5*Rs{RBRCyZg2oLQbYs+8jrMN#Q#s}_gKWm`AduV{VJR-CtNu*jS zs#WU6ZN|;&sOMk%H-@;J7!u#HIuD)rdU9xgm~}tk=?7=iui>d3`eWp!pu8#-93D>3l%_>xehFr;v#j!2!5IwN&Kia@d< zMIzaeqL8AIVvu50z9jBph_Hr!hoXO?-%*8{xMW&-KwrS!VhMho0UzYm#w9rs-5qKR zBp->vl_C}uW6&_G9dOTw!9wlDLxwa)xbOs{gP|o!{p1kWuG;7&nN9 zuw-t>ythA&L+Yx&{c-%vuXM&)R5Ohk-rxoyczKF3P|e6m=ttY+-3DS9ZRl$}NMek; zh{O0fS#DfOGDt8nupRJraUXNJ2Z&16she{XDrm!mNu~LD)3XaEO`m4}9y0P0#{5a; zfOUBZ$$wJ)qF&BRXcn9Sa{JnUho-`W`2V5)8hoZC#D{8eZ+q*8Cl$NZNmCNM7&;W* zC{BnEQ=Al@!|$a}k?Yh_Wo-kTX-ew2^xWDZE{_r#Czgx zOoLn!&x@zTqhb>z98MaNE_+~}$#C0n)zE4fV0Z$xmtg>00|q_59(a zy_}5IW0)^Z91JA z$9S`IsCqVS79tNUYQ=ezq?=V9-uQfG8d!wiN zV{2-+RHD*bRh^RdA`Roek$iA@_JF3*30`IPR_*5Y=j)jL+*5R?pQ1bQ6kYREbU!~u z_oGvn{HJTA{fDO*?thBz8}*IQwD}#_JiOC_DMugdzT3kFD;uk(WTaKI(9&Jc!hzFC zwe#NWlZNz+`evUVb6+!vyD37&P;4RAGdE+~ zZ%!VKJvJ?4Se0$+@gSrwvl~0wCUBJTi1Ab7>&C&x5Ra=KyFC_o4D$#x+%oJnfMKE` z(ZFGnZJj(r?k)T2TQR{lPd{8AEM1j0OO?_HDO9{A?h$LmT>M{=2)_txF~OHEa5xSA zrX$IYiC{e>q%e+rc=3=B%Qz;$Li`(s*d2K=6aQvm9OGeKvsRD`$D4&1#*qW!QNe}= z*)Z(5W{?FH$2Eg-um%5k!Gf`{|D;y%BK+&5R`3FJKBd(h1EWs~k&I(BM4#1~90dhu zwepd$@~jZgIG%@}@qZQ)=@m>Ou;Pn`!PpU2G#m*xiK7D{o9qbEF?qt(oS+(nX&*c|C_ X6w}2d!qEe+RaqktJOfj!q=^3p!sMnN delta 5986 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