{"id":"b0nn133/wisp","name":"wisp","scope":"b0nn133","platform":"roblox","description":"A lightweight and fast test framework for Luau","version":"0.1.0","latest":"0.1.0","versions":["0.1.0"],"license":"BSD-3-Clause","licenseRating":"safe","licenseCaveats":["The copyright notice must be preserved in copies. The author's name may not be used to promote your product."],"licenseVerified":true,"dependencies":{},"integrity":"2da9c4e2d4d979713e65622884c35659f3c8d49c061ac753fc43579d4d929ddd","likes":0,"downloads":0,"install":"forest install b0nn133/wisp","url":"https://forest.dev/p/roblox/b0nn133/wisp","files":"https://api.forest.dev/ai/package/roblox/b0nn133/wisp/files","readme":"<div align=\"center\">\n  <img src=\"./assets/wispLogo.png\" width=\"256\" alt=\"Wisp\">\n  <p>Runs like a wisp.</p>\n</div>\n\n---\n\nA lightweight and fast test framework for [Luau](https://luau.org/)\n\nWisp gives you a chainable suite API, fluent assertions, and plain text reports — in a few hundred lines of code with zero dependencies.\n\n```lua\nlocal Wisp = require(\"@wisp\")\n\nWisp.suite(\"Calculator\")\n  :action(\"adds numbers\", function()\n    Wisp.assume(1 + 1):equalsTo(2)\n  end)\n  :action(\"throws on division by zero\", function()\n    Wisp.assume(function()\n      error(\"divide by zero\")\n    end):throws()\n  end)\n\nWisp()\n```\n\n```text\nCalculator\n ✓ adds numbers\n ✓ throws on division by zero\n\nSuites: 1 passed out of 1 total\nTests:  2 passed out of 2 total\n\nTook:   0.11ms\n```\n## Features\n\n- **Fast** — 22 suites with 72 tests, all passing in 0.48ms\n- **Elegant** — Chainable syntax that stands out from traditional frameworks\n- **Lightweight** — Zero dependencies, works anywhere Luau runs, ~170 lines total\n\n## Getting Started\n\n- [Introduction](docs/getting-started/introduction.md) — what Wisp is and isn't\n- [Installation](docs/getting-started/installation.md) — add Wisp to a Rojo project\n- [Your First Test](docs/getting-started/first-test.md) — a five minute walkthrough\n- [Assertions](docs/guides/assertions.md) — the full catalogue of expectations\n- [API Reference](docs/api/index.md) — every exported function, signature, and error","readmeTruncated":false}