Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# copilot-instructions.md
# GitHub Copilot Instructions

## Key Technologies

### Technologies
- **C# 13.0**
- **ASP.NET Core 9.0**
- **Blazor**: Component-based web UI framework
- **.NET MAUI**: Cross-platform app development
- **.NET MAUI Blazor Hybrid**: Cross-platform app development
- **ASP.NET Core Identity**: Authentication and authorization
- **Entity Framework Core**: Data access
- **SignalR**: Real-time communication
Expand All @@ -15,7 +16,7 @@
- **TypeScript**: Type-safe JavaScript development
- **SCSS**: Advanced CSS preprocessing

### Best Practices
## Coding Conventions & Best Practices

1. **Follow the established project structure**: Adhere to the defined layout for consistency.
2. **Use Bit.BlazorUI Components**: Prioritize using components from the Bit.BlazorUI library over generic HTML to ensure UI consistency and leverage built-in features.
Expand All @@ -24,47 +25,46 @@
5. **Implement Structured Logging**: Use structured logging for clear, queryable application logs.
6. **Adhere to Security Best Practices**: Implement robust authentication and authorization patterns.
7. **Use Async Programming**: Employ `async/await` for I/O-bound operations to prevent blocking threads.
8. **Utilize Latest C# Features**: Write modern, concise, and efficient code by using the latest C# language features.
9. **Leverage Implicit Usings**: Take advantage of global using statements.
8. **Modern C#**: Write modern, concise, and efficient code by using the latest C# language features, including implicit usings and global using statements.
10. **Respect .editorconfig**: Adhere to the `.editorconfig` file for consistent code style across all IDEs.
12. **Prefer razor.cs code-behind files**: Use `.razor.cs` files for component logic instead of @code blocks in `.razor` files.
13. **Prefer razor.scss files**: Use `.razor.scss` files for component styles instead of inline styles in `.razor` files.
11. **Prefer razor.cs code-behind files**: Use `.razor.cs` files for component logic instead of @code blocks in `.razor` files.
12. **Prefer razor.scss files**: Use `.razor.scss` files for component styles instead of inline styles in `.razor` files.

### Rules for Using DeepWiki

The `deepwiki` MCP tool is essential for this project. Use it not only to answer questions but also to guide **code modifications**.
The deepwiki's `ask_question` mcp tool is essential for this project. Use it not only to answer questions but also to guide **code modifications**.
For the topics below, you **MUST** consult `deepwiki` to find correct implementations and usage patterns before writing or changing any code.

**RULE 1:** If a task (which includes answering a question or performing a code modification) involves the use of bit BlazorUI components (e.g., `BitButton`, `BitTooltip`, `BitTextField`), or refers to `bitplatform`, `bit Bswup`, `bit Butil`, `bit Besql`, or `bit Boilerplate`,
you **MUST** use the `deepwiki` mcp tool to find the correct implementation and usage patterns before writing or changing any code.
you **MUST** use the deepwiki's `ask_question` mcp tool to find the correct implementation and usage patterns before writing or changing any code.

**RULE 1 Command:**
`deepwiki fetch bitfoundation/bitplatform`

**End of RULE 1**

**RULE 2:** If a task (question or code modification) involves mappers, or refers to `mapperly`, `map`, `project`, or `patch`, you **MUST** use the `deepwiki` mcp tool to find the correct implementation before writing or changing any code.
**RULE 2:** If a task (question or code modification) involves mappers, or refers to `mapperly`, `map`, `project`, or `patch`, you **MUST** use the deepwiki's `ask_question` mcp tool to find the correct implementation before writing or changing any code.

**RULE 2 Command:**
`deepwiki fetch riok/mapperly`

**End of RULE 2**

**RULE 3:** If a task (question or code modification) involves .NET MAUI, or refers to `xaml`, `Android`, `iOS`, or `Windows`, you **MUST** use the `deepwiki` mcp tool to find the correct implementation before writing or changing any code.
**RULE 3:** If a task (question or code modification) involves .NET MAUI, or refers to `xaml`, `Android`, `iOS`, or `Windows`, you **MUST** use the deepwiki's `ask_question` mcp tool to find the correct implementation before writing or changing any code.

**RULE 3 Command:**
`deepwiki fetch dotnet/maui`

**End of RULE 3**

**RULE 4:** If a task (question or code modification) involves Hangfire, or refers to `background job` or `recurring jobs`, you **MUST** use the `deepwiki` mcp tool to find the correct implementation before writing or changing any code.
**RULE 4:** If a task (question or code modification) involves Hangfire, or refers to `background job` or `recurring jobs`, you **MUST** use the deepwiki's `ask_question` mcp tool to find the correct implementation before writing or changing any code.

**RULE 4 Command:**
`deepwiki fetch HangfireIO/Hangfire`

**End of RULE 4**

**RULE 5:** If a task (question or code modification) involves file storage, or refers to `fluent storage` or `S3`, you **MUST** use the `deepwiki` mcp tool to find the correct implementation before writing or changing any code.
**RULE 5:** If a task (question or code modification) involves file storage, or refers to `fluent storage` or `S3`, you **MUST** use the deepwiki's `ask_question` mcp tool to find the correct implementation before writing or changing any code.

**RULE 5 Command:**
`deepwiki fetch robinrodricks/FluentStorage`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"liveSassCompile.settings.watchOnLaunch": true,
"dotnet.defaultSolution": "Boilerplate.Web.slnf",
"dotnet.unitTests.runSettingsPath": "src/Tests/.runsettings",
"github.copilot.chat.codesearch.enabled": true,
"csharp.preview.improvedLaunchExperience": true,
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
Expand Down
Loading