This file defines the default behavior for Copilot in this repository.
- Follow the user's request first.
- Prefer repository scripts and existing conventions over ad hoc commands.
- Make the smallest change that solves the problem.
- Do not modify unrelated files or code paths.
- Code comments are not necessary, but if there are special, explan WHY not HOW.
Build the full solution with Build.cmd on windows or Build.sh on Linux.
Run the web host with Run.cmd on windows or Run.sh on Linux.
This repository uses Central Package Management (CPM).
- Update package versions only in
Directory.Packages.propsat the root. - Do not add package versions inside individual
.csprojfiles. - If a package version change is required, keep the scope limited to the smallest set of packages needed.
Configure file:src/ZKEACMS.WebHost/appsettings.json.
- Database: Supported
DbTypevalues:MsSql,Sqlite,MySql,DM(Dameng).
src/EasyFrameWork: Core framework and infrastructure.src/ZKEACMS: Main CMS business logic and base classes.src/ZKEACMS.WebHost: ASP.NET Core web host entry point.src/Plugins/: Pluggable features. New plugins must inherit fromPluginBase.tools/:PluginTemplate: Template for generating new plugins.MsSql2Any: Tools for database migration and schema conversion.
- Unit tests live under
test/and use MSTest. Run them withdotnet test. - E2E tests live under
test/End-To-End/and use Playwright. - Install E2E dependencies with
npm installinsidetest/End-To-End/. - Run E2E tests with
npx playwright test. - Prefer targeted tests for the area you changed before running broader suites.
- Preserve existing style and public APIs unless the task requires a breaking change.
- Avoid broad refactors when a focused fix is enough.
- Do not revert or overwrite user changes unless explicitly asked.
- When a change affects build, assets, tests, or publishing, verify the relevant path if possible.