Codex introduction
This commit is contained in:
+32
-1
@@ -1,8 +1,39 @@
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
# Normalize text in the Git index, with explicit working-tree endings below.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
# Windows and .NET source, project, configuration, and documentation files.
|
||||
*.cs text eol=crlf
|
||||
*.csproj text eol=crlf
|
||||
*.sln text eol=crlf
|
||||
*.props text eol=crlf
|
||||
*.targets text eol=crlf
|
||||
*.config text eol=crlf
|
||||
*.json text eol=crlf
|
||||
*.xml text eol=crlf
|
||||
*.md text eol=crlf
|
||||
*.txt text eol=crlf
|
||||
*.ps1 text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.bat text eol=crlf
|
||||
|
||||
# Web assets and files commonly consumed by Unix tooling.
|
||||
*.svg text eol=lf
|
||||
*.html text eol=lf
|
||||
*.css text eol=lf
|
||||
*.js text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.yml text eol=lf
|
||||
*.yaml text eol=lf
|
||||
|
||||
# Binary assets.
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.ico binary
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
|
||||
`BusinessMgr.sln` contains the `SaBusinessMgrCoreWebControl` administration app and `SaBusinessMgrCoreWebPortal` user portal. Shared code is divided among `SaBusMgrStandardBase`, `SaBusMgrStandardDbas`, `SaBusMgrCoreProcs`, and `SaBusMgrCoreWeb`. Tests live in `SaBusMgrTest_Control` and `SaBusMgrTest_Portal`. Web-project assets are under `Views`, `Localisation`, and `wwwroot`.
|
||||
|
||||
The solution also requires the sibling `..\..\Common-VS\Workspace` projects. Preserve this relative layout when cloning or configuring a build agent.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
|
||||
Run commands from the repository root:
|
||||
|
||||
```powershell
|
||||
dotnet restore BusinessMgr.sln
|
||||
dotnet build BusinessMgr.sln --configuration Debug
|
||||
dotnet test BusinessMgr.sln --configuration Debug
|
||||
dotnet run --project SaBusinessMgrCoreWebControl
|
||||
dotnet run --project SaBusinessMgrCoreWebPortal
|
||||
```
|
||||
|
||||
Use `--configuration Release` for release validation. After code changes, run `dotnet build BusinessMgr.sln` where practical and report validation that could not be completed. Both launch profiles default to ports 5000/5001; override ports to run them together.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
|
||||
Match existing C# conventions: tabs, braces on new lines, top-of-file `using` directives, PascalCase public members, and established `Sbm`/`Sacs` prefixes. Tests use descriptive names such as `Test_Application_ControlDatabase`. No repository-wide formatter is configured, so follow nearby code. Target the framework versions declared in project files. Do not upgrade frameworks or NuGet packages unless explicitly requested.
|
||||
|
||||
Processes derived from `SaProcess_Base` must actively poll `IsInterrupted` during long-running loops and before expensive or blocking stages, then exit promptly when cancellation is requested.
|
||||
|
||||
Use Windows CRLF line endings for C# source, Visual Studio project files, configuration files, PowerShell or command scripts, and general documentation. Use LF for web assets and files commonly consumed by Unix tooling, including SVG, HTML, CSS, JavaScript, shell scripts, and YAML. Follow `.gitattributes` as the authoritative policy and preserve the configured ending when editing files.
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
Tests use MSTest with Moq and coverlet. Add `[TestClass]` and `[TestMethod]` attributes and place tests in the project matching the affected application. Run the relevant test project after a change, and run the full solution tests when the change crosses project boundaries. Several tests access configured databases and are integration-oriented; verify machine configuration and test data before assuming failures are isolated unit-test regressions.
|
||||
|
||||
## Change Discipline
|
||||
|
||||
Do not edit generated files or build output under `bin`, `obj`, or `TestResults`. Change source inputs instead. Before implementing a significant architectural change, describe the proposed design, affected projects, compatibility implications, and migration approach, then wait for agreement.
|
||||
|
||||
## Conversation Tracking
|
||||
|
||||
Read `docs/topics.md` and `docs/component-reviews.md` before starting repository review or follow-up work. Update them when a conversation identifies, starts, completes, or reprioritises work, or when a component is reviewed. Follow the tracking conventions in `docs/README.md` and use ISO `YYYY-MM-DD` dates.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
|
||||
Recent commits use concise subjects, usually prefixed with a release version, such as `3.0.2.1 Vehicle Classes`. Keep commits focused and use an imperative or clear feature/fix summary. Pull requests should describe scope, affected projects, configuration or database implications, and build/test results. Link relevant issues and include screenshots for changes to Razor views or portal/control styling.
|
||||
|
||||
## Security & Configuration
|
||||
|
||||
Do not commit credentials or machine secrets. Runtime startup requires `appsettings.machine.{ComputerName}.json`; keep environment-specific values local and document any new required keys in the pull request.
|
||||
+3
-2
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.11.35303.130
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.9.12112.369 stable
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SacsStandardBase", "..\..\Common-VS\Workspace\SacsStandardBase\SacsStandardBase.csproj", "{DD291122-8616-4200-BF75-EAFFD9F099C7}"
|
||||
EndProject
|
||||
@@ -11,6 +11,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SacsCoreWeb", "..\..\Common
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution files", "Solution files", "{EFEB34E6-2DD8-4A21-B047-0696511DB847}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
AGENTS.md = AGENTS.md
|
||||
ReadMe.md = ReadMe.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Conversation Documentation
|
||||
|
||||
This folder records review findings and follow-up work relevant to the BusinessMgr workspace.
|
||||
|
||||
## Files
|
||||
|
||||
- `topics.md` tracks prioritised work, work in progress, and completed work.
|
||||
- `component-reviews.md` records which projects, paths, and classes have been reviewed.
|
||||
|
||||
## Tracking Rules
|
||||
|
||||
- Read both trackers before continuing an existing review or starting related work.
|
||||
- Use ISO `YYYY-MM-DD` dates.
|
||||
- Assign priorities as P1 (urgent or high risk), P2 (important), or P3 (improvement).
|
||||
- Keep an active topic in one state section. Move its row when work starts or completes rather than copying the active topic between state sections.
|
||||
- Preserve the original date noted when moving a topic. Add the date started and date completed as the topic progresses.
|
||||
- Record concrete next steps and validation evidence. Link to workspace files using repository-relative paths.
|
||||
- Update the component register after a review, even when no action is required.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Component Review Register
|
||||
|
||||
Last updated: 2026-09-09
|
||||
|
||||
No formal BusinessMgr component reviews have been recorded yet.
|
||||
@@ -0,0 +1,15 @@
|
||||
# Topic Tracker
|
||||
|
||||
Last updated: 2026-09-09
|
||||
|
||||
## Prioritised Topics to Be Actioned
|
||||
|
||||
No topics recorded yet.
|
||||
|
||||
## In-Progress Topics
|
||||
|
||||
No topics recorded yet.
|
||||
|
||||
## Completed Topics
|
||||
|
||||
No topics recorded yet.
|
||||
Reference in New Issue
Block a user