C++ Personal Assistant

Do more with less effort!

Make the computer do the work! C++ Personal Assistant can help developers quickly find the code sections they need to work with and present the code in a way that aids understanding.

Raw source text may be fine as input to a compiler, but not for a person. When viewing raw source text a developer may only see part of what they need at a time, forcing the developer to jump from location to location and even view lots of code not related to the task at hand. In any non-trivial program much of what developers need to understand at any one time spans multiple classes or functions.

C++ Personal Assistant can find all the code relevant to the developer's current task and display it all in one place. Relevant context (namespace, class and/or function names) is included. Developers can iteratively request specific information be added to build up a view that gives them exactly the information they need and leaves out details they don't need.

C++ Personal Assistant can answer queries about high-level application code or low-level details or anything in between.
  Where is a particular piece of program state set or modified?
  Where and how is a particular function called?
  What are the subclasses of a particular class?

Less time spent understanding code leaves more time for "real" development such as implementing new features for the users of your software.

C++ Personal Assistant uses libraries from the clang compiler. It includes a plugin for the Vim editor. C++ Personal Assistant will obtain compiler options and project structure from the build system on projects where CMake, gyp, or other tools that can use the ninja build tool are used.

C++ Personal Assistant is still in development.

Demos that run on Linux, macOS, and Microsoft Windows will be made available.

Last update: 27 February 2017