getappmap / vscode-appland

AppLand extension for VSCode
MIT License
142 stars 16 forks source link

Version Avg Stars GitHub Stars Slack

AppMap for Visual Studio Code

AppMap is a developer tools platform powered by runtime analysis and AI. It's composed of three components:

Navie is the first AI code architect with the context to understand how your app works when it runs, like a principal engineer or software architect. AppMap data provides Navie with accurate information about application behavior, APIs, database queries, and more, providing valuable context so you can ask more challenging questions and get better answers.

implement-redis

Get started

  1. Install the AppMap extension from within the code editor or from the marketplace.

  2. Sign in with an email address, or with GitHub or GitLab and Navie will be available in @explain mode. This enables Navie to respond to general coding and development questions and answer questions about using AppMap data.

  3. Ask Navie for guidance recording AppMap data specific to interactions or code scenarios you're interested in analyzing.

Examples

Here are some examples of Navie making context-aware suggestions, providing tactical solutions, and reasoning about the larger context of the specific code being worked on.

Chat Modes

Navie provides different modes of interaction to assist you with your code and project. Here's a quick overview:

💡 Ask Navie - Using the lightbulb: This feature is available in the Code Action menu when you have code selected. Choosing ‘Ask Navie’ from the Code Actions Menu initiates a new Navie chat populated with the snippet of selected code, enabling Navie answers based on that specific code snippet. Similarly, if you select some code in the active code window and open Navie, the selected code will be passed along.

Ask Navie about a specific AppMap visualization: You can target your question more specifically to an AppMap, representing a test case, API call, or other interaction by clicking the “Ask Navie” box on any AppMap you open.

Bring your own key or model for Navie

In order to configure Navie for your own LLM, certain environment variables need to be set for AppMap services. Refer to the AppMap documentation for details on how to do that.

Creating AppMap Data

Ask Navie to guide you through the process of making AppMap data, or navigate to the Record AppMaps screen in your code editor.

You’ll start by configuring the AppMap language library for your project. Then you’ll make a recording of the code you are working on by running your application in your development environment with AppMap enabled. AppMap data files will automatically be generated and stored on your local file system.

Once you’ve recorded AppMap data, Navie's awareness of your application’s behavior and code will be significantly upgraded.

Using AppMap data Navie can:

Naive answers are backed up by references to AppMap data. Naive presents this data alongside the chat discussion, and you can also open and use AppMap diagrams independently of Navie.

AppMap diagrams include:

appmap-visualizations-2

Requirements for making AppMap data

Supported programming languages: Node.js, Java (+ Kotlin), Ruby, and Python. AppMap works particularly well with web application frameworks such as: Nest.js, Next.js, Spring, Ruby on Rails, Django, and Flask.

To start making AppMap data, you’ll need to install and configure the AppMap client agent for your project.

Make AppMap data by running your app—either by running test cases, or by recording a short interaction with your app.

Licensing and Security

Open source MIT license | Terms and conditions

To learn more about security of AppMap, or the use of data with AI when using Navie, see the AppMap security disclosure for more detailed information and discussion.

There is no fee for personal use of AppMap for graphing and limited Navie use. Pricing for premium features and integrations are listed on AppMap’s Pricing Page.