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
@@ -4,193 +4,51 @@ Always follow these instructions first and fallback to additional search and con
4
4
5
5
## Project Overview
6
6
7
-
Coalesce is a framework for rapid development of ASP.NET Core + Vue.js web applications. It generates DTOs, API controllers, and TypeScript from Entity Framework Core models.
7
+
Coalesce is a framework for rapid development of ASP.NET Core + Vue.js web applications. It generates DTOs, API controllers, and TypeScript from Entity Framework Core models and other C# code.
8
8
9
9
## Prerequisites & Dependencies
10
10
11
-
**CRITICAL**: Install these exact versions and runtimes before working with the codebase:
11
+
The required tools and dependencies are automatically installed via the GitHub Actions workflow at `.github/workflows/copilot-setup-steps.yml`.
12
12
13
-
-**.NET 9.0 SDK**: Required for building projects. Install via: `curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 9.0 --install-dir ~/.dotnet`
14
-
-**.NET 8.0 runtime and ASP.NET Core runtime**: Required for tests. Install via:
-**Add .NET to PATH**: `export PATH="$HOME/.dotnet:$PATH"`
13
+
## Instructions
22
14
23
-
## Build & Development Workflow
15
+
- Always update the documentation when making changes or adding features that will affect developers who use Coalesce.
16
+
- Always add an entry to CHANGELOG.md when adding new features or fixing non-trivial bugs.
17
+
- Avoid making breaking changes if not necessary. A less obvious example of a breaking change would be changing an existing CSS class name.
18
+
- Consider adding or updating example files in `playground\Coalesce.Web.Vue3\src\examples` when making changes to coalesce-vue-vuetify.
24
19
25
-
**ALWAYS run these commands in order with the specified timeouts:**
26
-
27
-
### 1. Install Dependencies
28
-
```bash
29
-
# From repository root - NEVER run npm ci in subdirectories
30
-
npm ci
31
-
```
32
-
-**Timing**: 2-3 minutes. NEVER CANCEL. Set timeout to 300+ seconds.
33
-
-**Purpose**: Installs all NPM workspace dependencies
20
+
## Validation Checklist
34
21
35
-
### 2. Restore .NET Packages
36
-
```bash
37
-
export PATH="$HOME/.dotnet:$PATH"# Always set PATH first
38
-
dotnet restore
39
-
```
40
-
-**Timing**: 1-2 minutes. NEVER CANCEL. Set timeout to 180+ seconds.
41
-
-**Purpose**: Restores NuGet packages for all projects
22
+
After making changes, ALWAYS run this validation sequence:
42
23
43
-
### 3. Build Solution
44
-
```bash
45
-
export PATH="$HOME/.dotnet:$PATH"
46
-
dotnet build --no-restore --configuration Release
47
-
```
48
-
-**Timing**: 45-60 seconds. NEVER CANCEL. Set timeout to 120+ seconds.
49
-
-**Purpose**: Builds all .NET projects
24
+
1.**Build verification**:
25
+
From the repo root:
50
26
51
-
### 4. Run Tests
52
27
```bash
53
-
export PATH="$HOME/.dotnet:$PATH"
54
-
# Run .NET 9.0 tests (reliable)
55
-
dotnet test --no-build --configuration Release --framework net9.0
28
+
npm ci
29
+
dotnet build
30
+
cd src/coalesce-vue && npm run build
31
+
cd ../coalesce-vue-vuetify3 && npm run build
56
32
```
57
-
-**Timing**: 35-40 seconds. NEVER CANCEL. Set timeout to 120+ seconds.
58
-
-**Results**: 704 tests should pass, 4 may be skipped
59
-
-**Note**: .NET 8.0 tests may fail due to runtime dependencies
60
-
61
-
## Code Generation Workflow
62
33
63
-
Test code generation using the playground project:
34
+
2.**Test verification**:
35
+
From the repo root:
64
36
65
37
```bash
66
-
cd playground/Coalesce.Web.Vue3
67
-
export PATH="$HOME/.dotnet:$PATH"
68
-
npm run coalesce
38
+
dotnet test
39
+
cd src/coalesce-vue && npm run test
40
+
cd ../coalesce-vue-vuetify3 &&npm run test
69
41
```
70
-
-**Timing**: 15-20 seconds. Set timeout to 60+ seconds.
71
-
-**Purpose**: Generates TypeScript and API code from .NET models
72
-
73
-
## Frontend Build & Test
74
42
75
-
### Vue Package Testing
76
-
```bash
77
-
# Test core Vue package
78
-
cd src/coalesce-vue
79
-
npm run test
80
-
```
81
-
-**Timing**: 7-10 seconds. 568 tests should pass.
43
+
3.**Template verification**:
44
+
If you make changes to the template in the `templates` directory, validate the changes by running `TestLocal.ps1 -- "--FeatureOne --FeatureTwo"` where the FeatureOne, FeatureTwo parameters are replaced with each flag that might affect the changes you made. Run it multiple times if there are different combinations of feature flags that might interact in different ways. The flags are the variables checked by the `#if` in the template code.
0 commit comments