# 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 `<!--#include file="..."-->`.
- 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.
