You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+86-15Lines changed: 86 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,74 @@ This is "Copilot That Jawn" - a comprehensive ASP.NET Core web application that
10
10
11
11
## Technology Stack
12
12
-**Framework**: ASP.NET Core 9.0+ with Razor Pages
13
-
-**Architecture**: Razor Pages application with MVC controllers for complex operations
13
+
-**Architecture**: .NET Aspire cloud-native application stack with Razor Pages application and MVC controllers for complex operations
14
+
-**Orchestration**: .NET Aspire AppHost for service orchestration and configuration
14
15
-**Content Storage**: Markdown files in Content/ directory for tips, tutorials, and guides
15
16
-**Database**: Entity Framework Core (SQL Server or SQLite for development) for dynamic data
16
17
-**Frontend**: Bootstrap 5, modern responsive design with CSS Grid/Flexbox
17
18
-**JavaScript**: Vanilla JS with modern ES6+ features, minimal dependencies
19
+
-**Cloud Services**: Azure integration through .NET Aspire service defaults and components
20
+
21
+
## .NET Aspire Architecture
22
+
23
+
This application is built using .NET Aspire, Microsoft's cloud-native application stack that provides a consistent, opinionated set of tools and patterns for building observable, production-ready apps.
24
+
25
+
### Aspire Project Structure
26
+
```
27
+
├── AppHost/ # .NET Aspire orchestration project
28
+
│ ├── AppHost.cs # Application composition and service configuration
- Service configuration is managed through Aspire's configuration system
80
+
- Observability and monitoring are built-in through Aspire's telemetry
18
81
19
82
## Project Structure Guidelines
20
83
@@ -198,22 +261,30 @@ Content/
198
261
### Development Workflow Best Practices
199
262
200
263
#### Running and Testing the Application
201
-
-**Prefer `dotnet watch`**: Always use `dotnet watch run` for development instead of manually building, running, stopping, and restarting the application
202
-
-**Hot Reload Benefits**: `dotnet watch` provides automatic rebuilding and browser refresh when files change, significantly improving development efficiency
203
-
-**Recommended Commands**:
204
-
-`dotnet watch run` - Start the application with hot reload
205
-
-`dotnet watch test` - Run tests with automatic re-execution on file changes
206
-
-`dotnet watch build` - Build with automatic rebuilding on changes
207
-
208
-
#### File Monitoring
209
-
-`dotnet watch` automatically monitors C# files, Razor pages, CSS, JavaScript, and other static assets
210
-
- Changes trigger automatic compilation and browser refresh
211
-
- Reduces context switching and speeds up the development cycle
264
+
-**Primary Development Command**: `dotnet run --project AppHost` - Starts the entire Aspire application stack
265
+
-**With Hot Reload**: `dotnet watch run --project AppHost` - Starts with automatic rebuilding and browser refresh
266
+
-**Aspire Dashboard**: Monitor services, logs, and metrics through the Aspire development dashboard
267
+
-**Individual Service Testing**: Use `dotnet test` in specific project directories for unit tests
268
+
-**Integration Testing**: Run full stack tests using Aspire's testing framework
269
+
270
+
#### Aspire-Specific Development Workflow
271
+
-**Service Orchestration**: All services are managed through the AppHost project
272
+
-**Configuration Management**: Use Aspire's configuration system for service settings and connection strings
273
+
-**Service Discovery**: Services communicate through Aspire's built-in service discovery
274
+
-**Observability**: Monitor application performance through the Aspire dashboard during development
275
+
276
+
#### File Monitoring and Hot Reload
277
+
- Aspire's `dotnet watch` automatically monitors all projects in the application stack
278
+
- Changes to any service trigger appropriate rebuilds and restarts
279
+
- The Aspire dashboard provides real-time feedback on service status during development
280
+
- Static assets (CSS, JS) are monitored and trigger browser refresh automatically
212
281
213
282
#### Development Environment Setup
214
-
- Ensure the development environment is configured for optimal `dotnet watch` performance
215
-
- Use the `--verbose` flag for debugging watch issues: `dotnet watch run --verbose`
216
-
- Configure file exclusions in `.csproj` if needed to avoid unnecessary rebuilds
283
+
- Ensure .NET 9.0+ SDK is installed for Aspire support
284
+
- Use `dotnet run --project AppHost` as the primary development command
285
+
- Configure the Aspire dashboard for optimal monitoring during development
286
+
- Set up appropriate logging levels in `appsettings.Development.json` for each service
287
+
- Use environment variables through Aspire's configuration system rather than direct file configuration
0 commit comments