|
1 | 1 | # Contributing to Prova |
2 | 2 |
|
3 | 3 | > [!NOTE] |
4 | | -> Prova is an **Experimental Research Project** and community-driven initiative. It is a standalone reference implementation for Native AOT testing and is not an official Microsoft product. |
| 4 | +> Prova is an **open-source, community-driven** testing framework for .NET. Contributions of all sizes are welcome! |
5 | 5 |
|
6 | 6 | ## Getting Started |
7 | 7 |
|
8 | 8 | 1. **Fork and Clone**: Fork the repo and clone it locally. |
9 | | -2. **Environment**: You need `dotnet sdk 8.0` or higher. |
| 9 | +2. **Environment**: You need the [.NET 10 SDK](https://dotnet.microsoft.com/download). |
10 | 10 | 3. **Build**: |
11 | 11 | ```bash |
12 | 12 | dotnet build |
13 | 13 | ``` |
14 | 14 | 4. **Run Tests**: |
15 | 15 | ```bash |
16 | | - dotnet run --project tests/Prova.Core.Tests/Prova.Core.Tests.csproj |
| 16 | + dotnet test tests/Prova.Core.Tests |
| 17 | + dotnet test tests/Prova.Generators.Tests |
17 | 18 | ``` |
18 | 19 |
|
19 | 20 | ## Development Workflow |
20 | 21 |
|
21 | 22 | - **Branching**: Create a feature branch for your changes (e.g., `feature/awesome-new-assert`). |
22 | 23 | - **Committing**: Keep commits atomic and descriptive. |
23 | | -- **Testing**: **ALWAYS** add a test case in `Prova.Core.Tests` for your new feature. |
| 24 | +- **Testing**: **ALWAYS** add a test case in `Prova.Core.Tests` or `Prova.Generators.Tests` for your new feature. |
24 | 25 |
|
25 | 26 | ## Project Structure |
26 | 27 |
|
27 | | -- `src/Prova.Core`: The runtime library (Attributes, Assert, Reporters). |
28 | | -- `src/Prova.Generators`: The magic 🧙♂️. Roslyn Source Generators that build the runner. |
29 | | -- `tests/Prova.Core.Tests`: The test suite (yes, Prova tests itself!). |
| 28 | +| Directory | Purpose | |
| 29 | +|-----------|---------| |
| 30 | +| `src/Prova.Core` | The runtime library (Attributes, Assert, Reporters) | |
| 31 | +| `src/Prova.Generators` | Roslyn Source Generators that build the runner | |
| 32 | +| `src/Prova.Analyzers` | Migration analyzers and code fixers | |
| 33 | +| `src/Prova.AspNetCore` | ASP.NET Core integration package | |
| 34 | +| `src/Prova.Playwright` | Playwright browser testing package | |
| 35 | +| `src/Prova.Testcontainers` | Testcontainers integration package | |
| 36 | +| `src/Prova.FsCheck` | FsCheck property-based testing package | |
| 37 | +| `tests/` | Test suite (Prova tests itself!) | |
| 38 | +| `samples/` | Sample projects demonstrating features | |
| 39 | +| `docs/` | VitePress documentation site | |
| 40 | + |
| 41 | +## Running the Documentation Site Locally |
| 42 | + |
| 43 | +```bash |
| 44 | +cd docs |
| 45 | +npm install |
| 46 | +npm run docs:dev |
| 47 | +``` |
30 | 48 |
|
31 | 49 | ## Submitting a Pull Request |
32 | 50 |
|
33 | 51 | 1. Push your branch to your fork. |
34 | | -2. Open a Pull Request against `main`. |
35 | | -3. Ensure CI passes. |
| 52 | +2. Open a Pull Request against `master`. |
| 53 | +3. Ensure CI passes (build + tests). |
36 | 54 | 4. Wait for review! We try to review PRs within 48 hours. |
37 | 55 |
|
38 | 56 | ## Code of Conduct |
|
0 commit comments