-# Mokkit
-
[](https://www.nuget.org/packages/Mokkit)
[](https://github.com/GrafGenerator/mokkit/actions/workflows/ci.yml)
[](LICENSE)
-**Write tests that read like a story in your domain's language — as ordinary, compilable C#.**
-
Mokkit gives your tests the readability of BDD tools like Cucumber/SpecFlow, but with **no DSL**: no feature
files, no step bindings, no runtime glue. The "steps" are just C# extension methods you author — your
project's testing vocabulary — so you keep full IDE support (autocomplete, go-to-definition, refactoring) and
diff --git a/assets/banner.png b/assets/banner.png
new file mode 100644
index 0000000..e8c7171
Binary files /dev/null and b/assets/banner.png differ
diff --git a/assets/banner.svg b/assets/banner.svg
new file mode 100644
index 0000000..6c57c67
--- /dev/null
+++ b/assets/banner.svg
@@ -0,0 +1,38 @@
+
diff --git a/docs/scripts/gen-icon.mjs b/docs/scripts/gen-icon.mjs
index 428dca7..05f127c 100644
--- a/docs/scripts/gen-icon.mjs
+++ b/docs/scripts/gen-icon.mjs
@@ -29,3 +29,8 @@ for (const rel of ['assets/og.png', 'docs/public/og.png']) {
await sharp(og, { density: 192 }).resize(1280, 640).png().toFile(join(root, rel));
console.log(`wrote ${rel} (1280x640)`);
}
+
+// Compact 4:1 README header banner (1200x300).
+const banner = readFileSync(join(root, 'assets', 'banner.svg'));
+await sharp(banner, { density: 192 }).resize(1200, 300).png().toFile(join(root, 'assets', 'banner.png'));
+console.log('wrote assets/banner.png (1200x300)');