When ramping up in new programs and attempting to perform operations, I was always getting frustrated going from trial and error on the command-line, to looking through man-pages, and then finally ending up browsing through stackoverflow entries. I wanted a centralized "command center" that could replace all my notes and poorly organized lists of commands provided by colleagues. I wanted kommandr to be open so that there was no limit to knowledge acquisition and every one could avoid the frustrations of not knowing a command.

What it does

Kommandr is the smart and collaborative way to discover, learn, save and share commands. Kommandr facilitates learning and efficiency by providing a centralized space, to organize and access your commands from the cloud. With Kommandr you can easily discover commands by searching for what you want to do, or entering the pieces of a command you already know. You can save and share your commands, providing a name and description so you and others can find it with ease from the browser, or just fetch it straight from the command-line. Kommandr smartly organizes your commands into collections. Collections can be public or private (necessary when dealing with sensitive information that you want to remain within your team). It can also be installed on your own infrastructure because its open source. You can fork and customize commands that others create.

How I built it

The full stack of the application is built with JavaScript. GraphQL is consuming data from a SQLite database residing in the same host. Then, this data is sent to the client browser and rendered using reusable React.js components. The application is fully hosted on AWS using two compute nodes and interacting with two external API's: GitHub and Facebook.

Challenges I ran into

I had no experience with React or GraphQL when I started working on this project in my spare time three months ago. I also hadn't worked with JavaScript ES6 prior to this project and found it difficult to find standard conventions to execute what I had envisioned. The learning curves with these technologies were steep and required a lot of research.

Accomplishments that I'm proud of

Kommandr is truly open and collaborative, whether shared among individuals and teams or consumed by other collaboration platforms, I'm proud of the collaboration and proliferation of knowledge it enables. I am proud of what I learned (see next prompt).

What I learned

JavaScript ES6, React, GraphQL. I learned that the web space is evolving at an incredibly fast pace. It is so necessary to keep up to date as catching up is expensive.

What's next for Kommandr

  • Artificial intelligence to allow the analysis and understanding of manual pages and commands. Enabling smart completion of commands, options or parameters available as the user types.
  • Seamless integration via a command-line client: search and save commands straight from the terminal. With minimal configuration you could connect your terminal with and instantly access to your commands from anywhere (Windows, macOS, Linux).
  • Ability to create user teams for secret collaboration.
  • Provide a public API to open the opportunity for plugin creators of programmer tools and social platforms such as Slack and FB Workplace, for a seamless integration.
  • Allow embedding on websites to enable the learn and discovery piece of Kommandr with zero user effort. For example, websites containing embedded code blocks in documentation (think: stackoverflow) could have a similar experience to that within where the mouse over would prompt the description.

Built With

Share this project:


posted an update

The application is not mobile-friendly, as the target audience are users with a desktop computer. Delivering a mobile version could be a priority in the future as the are more important issues to solve right now.

Log in or sign up for Devpost to join the conversation.