Skip to content

docs: slim README to landing page; defer reference content to docs site#770

Merged
vbreuss merged 3 commits into
mainfrom
docs/lean-readme
May 10, 2026
Merged

docs: slim README to landing page; defer reference content to docs site#770
vbreuss merged 3 commits into
mainfrom
docs/lean-readme

Conversation

@vbreuss
Copy link
Copy Markdown
Member

@vbreuss vbreuss commented May 10, 2026

The README has been ~95% verbatim duplicate of pages under Docs/pages/, which means every doc edit needed a parallel README edit and drift was inevitable. Cut the README to its actual jobs — the GitHub front page and the NuGet package readme — and link out for everything else.

Kept inline: tagline, feature bullets, Why-Mockolate comparison table, install one-liner, chocolate-dispenser hello-world.

Removed from README (still authoritative under Docs/pages/): full Create Mocks chapter, Setup chapters (Properties, Methods, Indexers, Parameter Matching), Mock Events, Verify Interactions, Advanced Features (six pages), Special Types (HttpClient, Delegates), Complete Example, Analyzers. All linked from a grouped Documentation index that mirrors the docs-site sidebar order.

Also dropped the "mirror README" expectation from CLAUDE.md and .github/copilot-instructions.md and updated the published-docs URL to the canonical https://docs.testably.org/Mockolate/.

The README has been ~95% verbatim duplicate of pages under Docs/pages/,
which means every doc edit needed a parallel README edit and drift was
inevitable. Cut the README to its actual jobs — the GitHub front page
and the NuGet package readme — and link out for everything else.

Kept inline: tagline, feature bullets, Why-Mockolate comparison table,
install one-liner, chocolate-dispenser hello-world.

Removed from README (still authoritative under Docs/pages/): full Create
Mocks chapter, Setup chapters (Properties, Methods, Indexers, Parameter
Matching), Mock Events, Verify Interactions, Advanced Features (six
pages), Special Types (HttpClient, Delegates), Complete Example,
Analyzers. All linked from a grouped Documentation index that mirrors
the docs-site sidebar order.

Also dropped the "mirror README" expectation from CLAUDE.md and
.github/copilot-instructions.md and updated the published-docs URL to
the canonical https://docs.testably.org/Mockolate/.
@vbreuss vbreuss self-assigned this May 10, 2026
Copilot AI review requested due to automatic review settings May 10, 2026 08:37
@vbreuss vbreuss added the documentation Improvements or additions to documentation label May 10, 2026
@vbreuss vbreuss enabled auto-merge (squash) May 10, 2026 08:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the repository’s documentation approach by slimming README.md down to a GitHub/NuGet landing page and treating Docs/pages/ as the canonical reference documentation (with updated publishing URL guidance).

Changes:

  • Reduced README.md to installation + quick start + curated links into the docs site (instead of duplicating full reference content).
  • Updated contributor guidance (CLAUDE.md, .github/copilot-instructions.md) to reflect the new docs/README relationship and the canonical docs URL.
  • Minor wording/clarity tweak in the parameter matching docs page.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
README.md Reworked into a lightweight landing page with links to full docs content.
Docs/pages/setup/04-parameter-matching.md Small wording adjustment in the covariance explanation.
CLAUDE.md Updated documentation guidance + published-docs URL.
.github/copilot-instructions.md Updated documentation guidance to match the new “README as landing page” approach.

Comment thread README.md Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 10, 2026

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 52.36 ns 0.314 ns 0.279 ns 0.86 440 B 1.00
Mockolate 60.99 ns 0.399 ns 0.354 ns 1.00 440 B 1.00
Imposter 273.70 ns 5.045 ns 4.719 ns 4.49 2248 B 5.11
TUnitMocks 40.62 ns 0.632 ns 0.560 ns 0.67 224 B 0.51
Moq 1,403.83 ns 9.511 ns 8.896 ns 23.02 2096 B 4.76
NSubstitute 1,980.39 ns 17.773 ns 16.625 ns 32.47 5048 B 11.47
FakeItEasy 1,825.72 ns 40.547 ns 37.928 ns 29.94 2763 B 6.28
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 280.9 ns 2.77 ns 2.59 ns 0.96 1.78 KB 1.00
Mockolate 293.1 ns 5.73 ns 5.36 ns 1.00 1.78 KB 1.00
Imposter 1,311.0 ns 12.64 ns 10.56 ns 4.47 8.8 KB 4.94
TUnitMocks 183.3 ns 2.59 ns 2.30 ns 0.63 1.37 KB 0.77
Moq 16,067.4 ns 139.43 ns 116.43 ns 54.83 12.51 KB 7.02
NSubstitute 5,626.4 ns 82.74 ns 77.40 ns 19.20 9.05 KB 5.08
FakeItEasy 212,938.9 ns 2,116.75 ns 1,980.01 ns 726.62 15.26 KB 8.57
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.63GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Indexer N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 683.5 ns 3.84 ns 3.40 ns 0.72 3.81 KB 1.00
Mockolate 1 946.7 ns 11.78 ns 10.44 ns 1.00 3.81 KB 1.00
Imposter 1 951.7 ns 21.36 ns 18.93 ns 1.01 5.16 KB 1.35
Moq 1 220,815.7 ns 1,485.49 ns 1,240.45 ns 233.28 20.37 KB 5.34
NSubstitute 1 9,401.0 ns 65.08 ns 60.88 ns 9.93 12.78 KB 3.35
FakeItEasy 1 12,358.8 ns 100.83 ns 94.32 ns 13.06 13.63 KB 3.57
baseline* 10 1,882.4 ns 2.14 ns 1.79 ns 0.73 4.87 KB 1.00
Mockolate 10 2,572.6 ns 28.87 ns 27.00 ns 1.00 4.87 KB 1.00
Imposter 10 2,211.1 ns 20.93 ns 19.58 ns 0.86 7.97 KB 1.64
Moq 10 230,092.2 ns 985.14 ns 873.31 ns 89.45 29.89 KB 6.14
NSubstitute 10 22,536.9 ns 104.72 ns 97.95 ns 8.76 25.58 KB 5.26
FakeItEasy 10 25,630.6 ns 111.91 ns 99.21 ns 9.96 32.97 KB 6.77
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Method N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 359.1 ns 3.37 ns 3.15 ns 1.03 2.04 KB 1.00
Mockolate 1 349.2 ns 1.43 ns 1.27 ns 1.00 2.04 KB 1.00
Imposter 1 552.7 ns 13.28 ns 12.42 ns 1.58 4.04 KB 1.98
TUnitMocks 1 640.7 ns 2.62 ns 2.45 ns 1.83 2.9 KB 1.42
Moq 1 188,685.0 ns 746.13 ns 661.43 ns 540.41 14.73 KB 7.23
NSubstitute 1 5,858.1 ns 21.88 ns 18.27 ns 16.78 9.12 KB 4.47
FakeItEasy 1 6,046.4 ns 19.10 ns 17.86 ns 17.32 8.05 KB 3.95
baseline* 10 633.6 ns 1.95 ns 1.73 ns 0.97 2.25 KB 1.00
Mockolate 10 655.4 ns 3.29 ns 2.92 ns 1.00 2.25 KB 1.00
Imposter 10 1,141.1 ns 8.04 ns 7.13 ns 1.74 5.52 KB 2.45
TUnitMocks 10 1,666.8 ns 11.07 ns 10.35 ns 2.54 4.49 KB 2.00
Moq 10 193,579.6 ns 1,001.57 ns 936.87 ns 295.35 18.64 KB 8.28
NSubstitute 10 8,602.5 ns 35.09 ns 29.30 ns 13.13 12.07 KB 5.37
FakeItEasy 10 9,260.5 ns 28.05 ns 24.87 ns 14.13 15.42 KB 6.85
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Property N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 512.3 ns 11.23 ns 10.50 ns 0.98 2.46 KB 1.00
Mockolate 1 520.8 ns 7.53 ns 7.04 ns 1.00 2.46 KB 1.00
Imposter 1 445.6 ns 12.06 ns 11.28 ns 0.86 3.13 KB 1.27
TUnitMocks 1 682.8 ns 7.68 ns 6.80 ns 1.31 2.51 KB 1.02
Moq 1 11,710.4 ns 39.86 ns 35.34 ns 22.49 10.39 KB 4.22
NSubstitute 1 7,483.4 ns 51.47 ns 48.14 ns 14.37 11.45 KB 4.65
FakeItEasy 1 8,267.6 ns 23.45 ns 20.79 ns 15.88 11.24 KB 4.57
baseline* 10 1,036.9 ns 6.86 ns 6.42 ns 1.00 2.95 KB 1.00
Mockolate 10 1,034.8 ns 4.04 ns 3.58 ns 1.00 2.95 KB 1.00
Imposter 10 1,093.2 ns 8.28 ns 7.34 ns 1.06 4.67 KB 1.58
TUnitMocks 10 2,079.8 ns 5.87 ns 5.49 ns 2.01 4.66 KB 1.58
Moq 10 18,606.0 ns 56.90 ns 53.22 ns 17.98 18.28 KB 6.19
NSubstitute 10 16,593.8 ns 57.85 ns 51.28 ns 16.04 21.08 KB 7.14
FakeItEasy 10 19,513.8 ns 88.20 ns 82.50 ns 18.86 30.81 KB 10.43
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 337.5 ns 4.88 ns 4.57 ns 1.06 1.68 KB 1.00
Mockolate 317.3 ns 4.28 ns 4.00 ns 1.00 1.68 KB 1.00
Imposter 409.8 ns 4.58 ns 4.28 ns 1.29 2.38 KB 1.42
TUnitMocks 589.9 ns 9.62 ns 9.00 ns 1.86 2.63 KB 1.56
Moq 98,956.9 ns 496.13 ns 414.29 ns 311.96 8.88 KB 5.29
NSubstitute 4,477.7 ns 21.06 ns 19.70 ns 14.12 7.74 KB 4.61
FakeItEasy 4,692.3 ns 17.13 ns 16.02 ns 14.79 6.81 KB 4.05

baseline* rows show the corresponding Mockolate benchmark from the most recent successful main branch build with results, for regression comparison.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 10, 2026

Test Results

    24 files  ±0      24 suites  ±0   7m 28s ⏱️ - 1m 9s
 4 086 tests ±0   4 084 ✅ ±0  2 💤 ±0  0 ❌ ±0 
26 388 runs  ±0  26 384 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit 3e51a13. ± Comparison against base commit c447736.

♻️ This comment has been updated with latest results.

@sonarqubecloud
Copy link
Copy Markdown

@vbreuss vbreuss merged commit 51e47a3 into main May 10, 2026
17 checks passed
@vbreuss vbreuss deleted the docs/lean-readme branch May 10, 2026 11:00
github-actions Bot added a commit that referenced this pull request May 10, 2026
…r reference content to docs site (#770) by Valentin Breuß
github-actions Bot added a commit that referenced this pull request May 10, 2026
…r reference content to docs site (#770) by Valentin Breuß
@github-actions
Copy link
Copy Markdown

This is addressed in release v3.2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants