Skip to content

Commit

Permalink
Merge pull request #803 from getappmap/develop
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
dustinbyrne authored Oct 17, 2024
2 parents ae21cf2 + 9a205a5 commit 3197c3d
Show file tree
Hide file tree
Showing 35 changed files with 7,740 additions and 6,820 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
- name: Save AppMaps
uses: actions/cache/save@v4
if: runner.os == 'Linux' && matrix.ide_version == 'IC-2023.1'
if: runner.os == 'Linux' && matrix.ide_version == '2023.1'
with:
path: ./tmp/appmap
key: appmaps-${{ github.sha }}-${{ github.run_attempt }}
Expand Down
44 changes: 31 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,28 @@ AppMap is a developer tools platform powered by runtime analysis and AI. It's co
* AppMap data - Runtime traces of your application runtime.
* AppMap diagrams - Interactive visualizations of AppMap data.

By using AppMap data, 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.
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.

![image](https://appmap.io/assets/img/appmap-navie-intellij-screenshot.png)


## Requirements and Use

**2023.1** and newer JetBrains IDEs are required to use this plugin.
Supported web applications and API frameworks: Ruby on Rails, Django, Flask, Express, Nest.js, Next.js, and Spring, Kotlin, and Scala
Supported programming languages: Java, Python, Ruby, TypeScript/JavaScript (for Node.js).


## Get started
1. **Install [the AppMap Plugin](https://plugins.jetbrains.com/plugin/16701-appmap)** 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.

1. [Understand complex data flows and add a new feature in Java Spring](https://appmap.io/navie/how-to/understand-complex-data-flows-and-add-new-features-in-java-spring/)
2. [Find and fix slow API endpoints in a FastAPI app](https://appmap.io/navie/how-to/fix-slow-api-endpoints-in-a-fastapi-app-with-navie/)
3. [Find and fix a database performance issue in Ruby on Rails](https://appmap.io/navie/how-to/find-and-fix-a-database-performance-issue-in-ruby-on-rails/)
4. [Quickly add a new feature to a complex Python app](https://appmap.io/navie/how-to/adding-a-new-feature-to-a-complex-python-application/)
5. [Fixing performance issues with MongoDB in a MERN app](https://appmap.io/navie/how-to/fixing-performance-issues-with-mongodb-in-a-mern-app/)
## Examples
[Here are some examples](https://appmap.io/product/examples/navie) of Navie making context-aware suggestions, providing tactical solutions, and reasoning about the larger context of the specific code being worked on.


## Chat Modes
Expand All @@ -37,18 +39,34 @@ Navie provides different modes of interaction to assist you with your code and p

- **`@explain` (default)**: Navie makes context-aware suggestions, provides specific solutions, and reasons about the larger context of the specific code being worked on.

- **`@help`**: Activate help mode by beginning any question with the prefix "@help". This mode offers assistance with using AppMap, including guidance for generating and leveraging AppMap data effectively.
- **`@plan`**: Navie focuses the AI response on building a detailed implementation plan for the relevant query. This will focus Navie on only understanding the problem and the application to generate a step-by-step plan.

- **`@generate`**: Activate code generation mode by beginning any question with the prefix "@generate". In this mode Navie's response are optimized to include code snippets you can use directly in the files are working on.

- **`@test`**: Navie's responses are optimized for test case creation, such as unit testing or integration testing. This prefix will understand how your tests are currently written and provide updated tests based on features or code that is provided.

- **`@diagram`**: Navie will create and render a Mermaid compatible diagram within the Navie chat window. You can open this diagram in the [Mermaid Live Editor](https://mermaid.live), copy the Mermaid Definitions to your clipboard, save to disk, or expand a full window view.

- **`@help`**: Activate help mode by beginning any question with the prefix "@help". This mode offers assistance with using AppMap, including guidance for generating and leveraging AppMap data effectively.

**Via the JetBrains Tools menu option**
You can open Navie by clicking on the JetBrains menu option *Tools -> AppMap*. From there you can select *Explain with AppMap Navie*.

![image](https://appmap.io/assets/img/product/tools-appmap-vscode.webp)
![image](https://appmap.io/assets/img/product/tools-appmap-vscode.png)

**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.

![image](https://appmap.io/assets/img/product/ask-navie-about-a-map.webp)
![image](https://appmap.io/assets/img/product/ask-navie-about-a-map.png)

## Pin files to Navie's context

Pin specific data files to your conversation with Navie to include data sources you know are relevant to the issue. This includes pinning the text of the issue itself.

![image](https://appmap.io/assets/img/pinned-context.webp)

Pin code from Navie responses to your conversation when a Navie response contains code that you want to reference in subsequent prompts.

![image](https://appmap.io/assets/img/pin-from-response.webp)

## Bring your own key or model for Navie

Expand Down Expand Up @@ -95,4 +113,4 @@ Make AppMap data by running your app—either by [running test cases](https://ap

To learn more about security of AppMap, or the use of data with AI when using Navie, see the AppMap [security disclosure](https://appmap.io/security) for more detailed information and discussion.

There is [no fee](https://appmap.io/pricing) for personal use of AppMap for graphing and limited Navie use. Pricing for premium features and integrations are listed on [AppMap’s Pricing Page](https://appmap.io/pricing).
There is [no fee](https://appmap.io/pricing) for personal use of AppMap for graphing and limited Navie use. Pricing for premium features and integrations are listed on [AppMap’s Pricing Page](https://appmap.io/pricing).
1 change: 0 additions & 1 deletion appland-navie/.yarnrc.yml

This file was deleted.

Loading

0 comments on commit 3197c3d

Please sign in to comment.