3.4 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What this is
ROAAUTO is a Visual FoxPro 9 desktop application (Romanian-language) for auto-service /
car-dealer operations: devize (quotes/estimates), comenzi (work orders), facturare (invoicing).
It is one member of the larger "ROA" suite and shares the COMUN\ framework with the other
ROA applications (ROAACNPRO, ROAGEST, etc.).
Build, run, version control
- Build/run requires the Visual FoxPro 9 IDE on Windows. There is no command-line build.
Open
roaauto.pjxin the VFP IDE and use Build > Build Executable to produceroaauto.exe. .prgfiles are source;.fxpare compiled,.bakare backups. Edit the.prg. The.scx/.sct(forms),.vcx/.vct(class libraries),.frx/.frt(reports), and.mnx/.mpr(menus) are VFP binary/generated artifacts — edit them in the VFP IDE, not by hand.- Version control: git runs in parallel with the legacy SVN. SVN (
.svn/) remains the "live" source of truth for this project and especially forCOMUN/, which stays a working copy synced manually to git — git does not replace it, just mirrors it for tooling (search, diffing, agent workflows). Don't runsvncommands from here unless explicitly asked;.gitignoresimply excludes.svn/.- Repo principal (rădăcina acestui folder):
git@gitea.romfast.ro:romfast/roaauto.git. COMUN/are propriul.git, separat de repo-ul principal (de aceeaCOMUN/e în.gitignore-ul de la rădăcină — nu e tracked de repo-ul principal). Origin-ul lui e același pentru toate aplicațiile ROA:git@gitea.romfast.ro:romfast/comun.git— repo partajat, populat inițial din ROAACNPRO. Nu face force-push peste el fără să verifici întâi diferențele față deorigin/main(ar afecta toate proiectele ROA care îl folosesc).
- Repo principal (rădăcina acestui folder):
config.fpwsets the runtime environment. Don't enable SAFETY — the code relies on silent overwrite (seeEXCLUSIVE=OFF/SAFETY=OFFconventions shared across ROA apps).- The compiler error log is
roaauto.ERR; the runtime log isLOG.txt.
Searching code inside .vcx/.scx (binary) libraries
Most class/form code lives inside binaries (.vcx+.vct, .scx+.sct, …), not in .prg,
so plain grep can't read it cleanly. Convert to TEXT form first and grep the text:
powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 `
-Project D:\ROA\ROAAUTO\roaauto.pjx -ProjectRoot D:\ROA\ROAAUTO `
-CacheRoot D:\ROA\UTIL\foxbin2prg\_textcache_roaauto
This is project-driven (reads roaauto.pjx, converts only the .vcx/.scx the project
actually uses) and writes to a cache dedicated to this project
(D:\ROA\UTIL\foxbin2prg\_textcache_roaauto\) — don't mix it with other ROA projects' caches
(e.g. _textcache_roaacnpro). Then Grep in that cache. Full guide: docs/cautare_vcx_vct.md.
The COMUN shared framework
COMUN/ is shared, framework-level code used by every ROA app — not specific to ROAAUTO. Treat
it as a vendored library: prefer app-specific changes in this repo's top-level Programe/,
Clase/, Ferestre/, Rapoarte/, Meniuri/ directories, and only touch COMUN/ when the fix
genuinely belongs to the shared framework (and remember it's versioned separately, shared with
every other ROA app).