39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
|
|
# AGENTS.md
|
|
|
|
## Project
|
|
This is an ASP.NET WebForms project in C# targeting .NET Framework 4.8.
|
|
|
|
## Core rules
|
|
- Do not add VB.NET code.
|
|
- Do not convert WebForms pages to ASP.NET Core.
|
|
- Keep pages as .aspx, .ascx, .master, and C# code-behind.
|
|
- Keep the copied `Styles`, `Scripts`, and `Metronic` folders unchanged unless the user explicitly asks for a cleanup.
|
|
- Do not connect WebForms pages directly to database classes.
|
|
- Pages must use contracts and services from `AppCode`.
|
|
- Use `SIG` as the prefix for new controls/classes.
|
|
- Do not use `SITIC` in new examples, namespaces, or file names.
|
|
- `Site.master` must keep ContentPlaceHolder IDs short: `H`, `C`, `J`.
|
|
- Do not restore the hidden searcher in the header.
|
|
- Keep the header actions button.
|
|
- User data must come from `IUserContextProvider`.
|
|
- Menu data must come from `IMenuProvider`.
|
|
- Login must use `ILoginService`.
|
|
- Search controls must use `IBuscadorCatalogoDataProvider`.
|
|
- `ClsPaginaBase` must only handle session and permissions.
|
|
- Database access must go through `IDomainConnectionResolver` and `IDbConnectionFactory`.
|
|
- Notification channels must go through the notification center contracts.
|
|
|
|
## Folder rules
|
|
- Configuration files go under `AppCode/Configuration`.
|
|
- Session/user/menu contracts go under `AppCode/Session`.
|
|
- Permission-related code goes under `AppCode/Security`.
|
|
- Business process folders go under `AppCode/Modules` later.
|
|
- Do not create process folders such as Sales/Purchases/Inventory until the user asks.
|
|
|
|
## Coding style
|
|
- Prefer small contracts and small services.
|
|
- Avoid large static helper classes.
|
|
- Avoid putting SQL in pages or controls.
|
|
- Prefer explicit null checks and clear error messages.
|