Redo is a set of devtools that make it easier to build and test JS/TS. Their shared goal is to abstract some of the ecosystem's ugliest problems behind beautiful code that is fun to write and intuitive to read so that you can focus on creating something new instead of understanding something old.
In other words, you can finally get back to doing what you love.
We use a pnpm workspace to manage our packages. You might want to make changes to one or more of them depending on the goals of your contribution. Take a look at any of them individually to learn more:
- @re-/model: Type-first validation from editor to runtime 🧬
- @re-/state: Self-validating states from simple shapes 🧮
- @re-/test: Web testing that writes itself 🤖
You might also find parts of these packages useful, but they are mostly for internal use and/or are missing documentation:
- @re-/assert: Seamless testing for types and code ✅
- @re-/tools: Lightweight utilities and types shared across Redo packages 🧰
- @re-/node: Node-based utilities, scripts, and configs for Redo packages ⚙️
- redo.dev: Source code for redo.dev 🔁
If you're interested in contributing to one of our packages for the first time:
- Thank you 😍 We'll do everything we can to make this as straightforward as possible, regardless of your experience.
- Check out our guide to get started!
Our current and planned work can always be found here.
This project is licensed under the terms of the MIT license.