# Repository Guidelines ## Project Structure & Module Organization - `index.asp` and `web.config` are the IIS entry point and configuration. - `App/` contains the application code: `Controllers/`, `Views/`, `DomainModels/`, `ViewModels/`, and `DAL/`. - `MVC/` provides the shared Classic ASP MVC framework and helper libraries (`lib.*.asp`). - `Data/` stores reports, sample assets, and database migrations under `Data/Migrations/`. - `Tests/` holds ASPUnit and test pages (`Test_*.asp`, `TestCase_*.asp`). - `ImportService/` and `CiCd/` include VBScript/PowerShell automation. - `Dependancies/` contains native/ActiveX binaries used by the app. - `dist/` and `uploads/` hold static assets and user-uploaded files. ## Build, Test, and Development Commands - No build step is required for Classic ASP; run under IIS with the repo as a site root. - Run unit tests through IIS by opening `Tests/Test_All.asp` (ASPUnit runner) in a browser. - Service/automation scripts are VBScript or PowerShell, e.g. `cscript ImportService/TrackingDataImport.vbs`. - `codex.cmd` uses Docker Compose for Codex tooling: `docker compose up -d --build`. ## Coding Style & Naming Conventions - VBScript/Classic ASP with `Option Explicit` at file start. - Keep includes near the top using ``. - Prefer PascalCase for classes (`HomeController`) and descriptive, PascalCase file names. - Migrations live in `Data/Migrations/` and follow `Migration_XX_Description.asp`. - No formatter/linter is configured; follow existing indentation and spacing in nearby files. ## Testing Guidelines - Framework: ASPUnit (`Tests/ASPUnit/`). - Test pages: `Tests/Test_*.asp`; test case definitions: `Tests/TestCase_*.asp`. - Execute tests through IIS; the runner renders HTML output in the browser. ## Commit & Pull Request Guidelines - Recent commits are short, descriptive sentences (e.g., “cleanup typo”). - Use concise, present-tense messages describing the behavior change. - PRs should include: a summary of changes, testing performed (or “not run”), and screenshots for UI changes. ## Configuration & Security Notes - Review `App/app.config.asp` and `web.config` for environment settings. - Do not commit secrets or machine-specific paths; prefer documented placeholders. - `Dependancies/` includes executables and ActiveX DLLs; verify licensing before redistribution.