chore: update project structure with contracts and services for CaddyManager, including configuration and Docker integration
All checks were successful
Caddy Manager CI build / docker (push) Successful in 1m16s

This commit is contained in:
2025-07-23 10:37:51 +07:00
parent 18c710d341
commit ec454d0346
56 changed files with 8511 additions and 34 deletions

View File

@@ -0,0 +1,38 @@
---
alwaysApply: true
---
# Blazor Development Workflow and Environment
## Development Environment
- All running, debugging, and testing of the Blazor app should happen in Cursor ide
- Code editing, AI suggestions, and refactoring will be done within Cursor AI
- Recognize that Cursor ide is installed and should be used for compiling and launching the app
## Blazor Code Style and Structure
- Write idiomatic and efficient Blazor and C# code
- Follow .NET and Blazor conventions
- Use Razor Components appropriately for component-based UI development
- Prefer inline functions for smaller components but separate complex logic into code-behind or service classes
- Async/await should be used where applicable to ensure non-blocking UI operations
## Blazor and .NET Specific Guidelines
- Utilize Blazor's built-in features for component lifecycle (e.g., OnInitializedAsync, OnParametersSetAsync)
- Use data binding effectively with @bind
- Leverage Dependency Injection for services in Blazor
- Structure Blazor components and services following Separation of Concerns
- Use C# 10+ features like record types, pattern matching, and global usings
- Logic code of the blazor component must be implemented in a separated .razor.cs code file.
- Prefer using the Tailwind classes to the Style attribute
## Performance Optimization
- Use asynchronous methods (async/await) for API calls or UI actions that could block the main thread
- Optimize Razor components by reducing unnecessary renders and using StateHasChanged() efficiently
- Minimize the component render tree by avoiding re-renders unless necessary, using ShouldRender() where appropriate
- Use EventCallbacks for handling user interactions efficiently, passing only minimal data when triggering events
## Testing and Debugging
- All unit testing and integration testing should be done in Cursor ide
- Test Blazor components and services using xUnit
- Use Moq for mocking dependencies during tests
- Debug Blazor UI issues using browser developer tools and Cursor ide's debugging tools for backend and server-side issues
- For performance profiling and optimization, rely on Cursor ide's diagnostics tools