Optimize for Developer Joy
I get joy out of building good software. Especially when it works, but even more so when it looks beautiful and runs fast.
Every interaction with Riot should make information clear, feedback actionable, and iteration fast. Put commands near claims, examples near explanations, and recovery paths near failures.
Joy does not mean everything is soft, friendly, or simplified until it becomes useless. Riot can be sharp. It can be loud. It can be opinionated. It can say no.
In Practice
- When running CLI commands, there is always prompt feedback with the right amount of information to understand what is going on. The output should say what Riot is doing, what changed, what succeeded, and what still needs attention without turning every command into a wall of logs.
- When something goes wrong, there is always a clear next step to take. The user should know how to fix it, where to look deeper, how to report the issue, or what command to run next.
- When searching for things, results should bring back adjacent information that helps the user find exactly what they want faster: package names, versions, docs status, freshness, owners, related modules, and enough context to make the next click obvious.