Hi HN,
I want to share with you an IntelliJ plugin I have developed and launched.
Based on my own needs, I wanted a plugin that monitors my coding practices and gives me stats about them in order for me to improve on them.
So, here is Kasama: An IDE plugin that works like a sport fitness tracker, gathering data on:
- your coding sessions, i.e. how long are you active in the IDE and for which project
- your activity in different modules, and how the activity is split between test code and prod code
- your version control (git) interactions: how often you commit, the lifespan your branches, and the types of branches you work on over time (feature, bugfix, etc.)
- your testing interaction: how often are you running tests, how often are they failing, how large are they
- the refactoring interactions: which tool-driven refactorings you use
- the build tasks you are running, and in which you spend the most time in
The plugin runs locally and provides graph visualization for the different stats.
It can be directly installed from the JetBrains marketplace - it works with IntelliJ IDEA as well as with other JetBrains IDEs: https://plugins.jetbrains.com/plugin/24683-kasama
You can find more documentation here: https://spark-teams.github.io/kasama-intellij-support/
Coming soon, it will show even more stats, including records and achievements. I’m also exploring additional data to collect, such as the proportion of AI generated code compared to manually written code.
I’d love your feedback and questions! You can reach me at kasama@sparkteams.de
While I appreciate the effort put into development, I have some questions about the underlying premise.
1. How do detailed metrics about coding sessions, git interactions, and test runs actually leads to meaningful improvements in your productivity?
2. Assuming you have used this plugin for a while now, how does tracking these metrics correlate with better code quality?
I hope I'm not coming across as overly critical, as that's not my intent. I appreciate the effort put into the development of software regardless of the final intent.