Cosmos in my opinion is a fantastic tool and covers even some areas we haven't touch yet, but planning to do soon like injecting/manipulating the internal state of a component.
While there a many more differences these are probably the most interesting ones:
- The core of Carte blanche is a Webpack plugin. By hooking into the main compilation of Webpack Carte blanche can identify your components and list them in an application living within your running server on different URL path. The coolest part from my perspective is that we inherit all your webpack settings by default. No need to configure your loaders. Cosmos in comparison is a separate app.
- In Cosmos your need to write your examples by hand. Carte blanche reads out your propTypes/Flow types and allows us to generate a form input for each of your properties including nested structures like a person object containing an avatarUrl, firstName & lastName. This approach allowed us to create some kind of UI fuzz-testing feature in the interface. While I believe that it's important to focus your efforts designing/developing for the most likely cases it's also relevant to cover edge-cases. Fuzz-testing is a great way to discover them.
I hope this help. Let me know if you any other questions :)