Skip to content

Commit 132a4de

Browse files
authored
Merge pull request #2372 from getappmap/next-doc
Next doc
2 parents 4d80a1f + 1a78b14 commit 132a4de

24 files changed

Lines changed: 1864 additions & 401 deletions

docs/appmap-docs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ By using AppMap data, Navie is the first AI code architect with the context to u
1818

1919
Over 90,000 software developers are using the [AppMap extension for VSCode](https://marketplace.visualstudio.com/items?itemName=appland.appmap) and the [AppMap plugin for JetBrains](https://plugins.jetbrains.com/plugin/16701-appmap).
2020

21-
<a class="btn btn-primary btn-lg" href="/docs/get-started-with-appmap/">Get Started</a>
21+
<a class="btn btn-primary btn-lg" href="/docs/get-started-with-appmap/">Get Started</a> <a class="btn btn-secondary btn-lg" href="/docs/troubleshooting/">Troubleshooting</a>
2222

2323
![AppMap Navie with Sequence diagram in Visual Studio Code](/assets/img/docs/vscode-with-navie-prompt.webp)
2424
_AppMap Navie with Sequence diagram in Visual Studio Code_

docs/get-started-with-appmap/navie-ai-quickstart.md

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,67 +18,87 @@ redirect_from: [/docs/setup-appmap-in-your-code-editor/navie-ai-quickstart]
1818

1919
## Choose your AI Provider (Optional)
2020

21-
By default, Navie uses an AppMap proxy of the latest OpenAI supported AI models. If you would like to customize your own model, you can leverage a variety of other AI model providers such as [Azure OpenAI](https://appmap.io/docs/navie-reference#azure-openai), [Fireworks.ai](https://appmap.io/docs/navie-reference#fireworks-ai), [LM Studio](https://appmap.io/docs/navie-reference#lm-studio), and more.
21+
By default, Navie uses the GitHub Copilot LLM.
2222

23-
If you have an active GitHub Copilot subscription, you can use Navie with the [Copilot Language Model](/docs/navie-reference/navie-bring-your-own-model-examples.html#github-copilot-language-model) as a supported backend. Refer to the [Navie Copilot documentation](/docs/navie-reference/navie-bring-your-own-model-examples.html#github-copilot-language-model) for instructions on how to enable.
23+
If you aren't using Copilot, or if you would like to use your own LLM API key or local LLM, you can use a variety of other AI model providers such as OpenAI, Anthropic, Gemini, Fireworks.ai, LM Studio, and more. View the
24+
instructions for [Choosing an LLM Provider](/docs/using-navie-ai/choose-llm-provider) for more details.
2425

2526
## Open AppMap Navie AI
2627

27-
After you complete the installation of AppMap for your code editor. Open the Navie Chat Window to ask Navie about your application.
28+
After you complete the installation of AppMap for your code editor. Open the Navie Chat Window to ask Navie about your application.
2829

2930
To open the Navie Chat, open the AppMap plugin in the sidebar menu for your code editor, and select the `New Navie Chat` option.
3031

31-
![Open Navie](/assets/img/open-navie.webp)
32+
![Open Navie](/assets/img/open-navie.png)
3233

3334
## Ask Navie about your App
3435

3536
You can ask questions about your application with Navie immediately after installing the plugin. Navie will answer questions based on analysis of your project code. For increased accuracy of more complex projects, you can record AppMap data and Navie will utilize this information as well.
3637

37-
By default, Navie will utilize an OpenAI service hosted by AppMap. If, for data privacy or other reasons, you are do not wish to use the AppMap OpenAI proxy, you can [bring your own OpenAI API key](/docs/using-navie-ai/bring-your-own-model.html#bring-your-own-openai-api-key-byok), or use an [entirely different AI Model](/docs/using-navie-ai/bring-your-own-model.html#ollama), hosted in your environment or hosted locally.
38-
39-
When you ask a question to Navie, it will search through all the available AppMap data for your project to pull in relevant traces, sequence diagrams, and code snippets for analysis. it will send the selected context to your preferred LLM provider.
38+
When you ask a question to Navie, it will search through all the available AppMap data for your project to pull in relevant traces, sequence diagrams, and code snippets for analysis. It will send the selected context to your preferred LLM provider.
4039

4140
To achieve the highest quality results, we suggest using the available command modes when prompting Navie. Simply type `@` into the chat input to access the list of available command modes.
4241

43-
By default, Navie chat is in a default mode called `@explain`. Other specialized modes are available for generating diagrams, planning work, generating code and tests, and more. Consult [Using Navie docs](/docs/navie-reference/navie-commands.html) for more details on Navie commands.
42+
By default, Navie chat is in a default mode called `@explain`. Other specialized modes are available for generating diagrams, planning work, generating code and tests, and more. Consult [Navie commands documentation](/docs/using-navie-ai/navie-commands.html) for more details.
43+
44+
The Navie UI includes a standard chat window, and a context panel which will include all the context that is included in the query to the AI provider. This context can include things such as:
4445

45-
The Navie UI includes a standard chat window, and a context panel which will include all the context that is included in the query to the AI provider. This context can include things such as:
46+
**Always available:**
4647

47-
**Always available:**
4848
- Code Snippets
4949
- Pinned Content
5050

5151
<p class="alert alert-warning"><b>Note:</b> Only code files and other files that are tracked by Git will be included as context and sent to the LLM when you ask a question. AppMap Navie will respect your <code>.gitignore</code> and will not access files which are not tracked or ignored by Git (such as passwords or sensitive data).</p>
5252

53-
**If AppMap Data exists:**
53+
**If AppMap Data exists:**
54+
5455
- Sequence Diagrams
5556
- HTTP Requests
5657
- SQL Queries
5758
- Other I/O Data
5859

59-
**Navie will look for the files listed above in the following locations:**
60+
**Navie will look for the files listed above in the following locations:**
61+
6062
- The currently open project
6163
- All workspace folders in Visual Studio Code
6264
- All modules available in JetBrains IDEs
6365

6466
![Navie Context Window](/assets/img/navie-context-window.webp)
6567

68+
## Review Your Code
69+
70+
You can also use Navie to review your code. This is a great way to get an overview of your codebase, identify potential issues, and improve the quality of your code.
71+
Navie uses the same types of data to perform code review as it does for answering questions, including code snippets, sequence diagrams, traces, and other I/O data.
72+
73+
To start a code review, click the `Review Your Code` button in the Navie sidebar. This will generate a list of suggested improvements for your codebase, including:
74+
75+
![Review Your Code](/assets/img/review_your_code_button.png)
76+
77+
- Potential bugs
78+
- SQL query optimizations
79+
- HTTP request optimizations
80+
- Security vulnerabilities
81+
- Performance improvements
82+
- Code design improvements and anti-patterns
83+
84+
... and more. Because Navie uses AppMap Data, it can provide more accurate and relevant suggestions than other code review tools.
85+
6686
## Improve Navie AI Responses with AppMap Data
6787

68-
Generate AppMap Data and you will greatly improve the quality of your Navie AI responses. With AppMap Data for your project, you can now ask much deeper architectural questions about your application. This is possible because of the additional context from AppMap Data and the higher accuracy and relevance of the code snippets which are relevant to your question.
88+
Generate AppMap Data and you will greatly improve the quality of your Navie AI responses. With AppMap Data for your project, you can now ask much deeper architectural questions about your application. This is possible because of the additional context from AppMap Data and the higher accuracy and relevance of the code snippets which are relevant to your question.
6989

7090
View the [Navie AI examples page](/product/examples/navie) to see some examples of Navie fixing complex architectural issues, performance issues, and adding new features to your application.
7191

72-
After your AppMap Data is generated, the Navie window will indicate the AppMap Data that exists for your project.
92+
After your AppMap Data is generated, the Navie window will indicate the AppMap Data that exists for your project.
7393

7494
![Navie AppMap Data Exists](/assets/img/navie-appmap-data-exists.webp)
7595

76-
With this AppMap Data in your project, asking questions to Navie will now include data flows, sequence diagrams, traces, in addition to the relevant code snippets for the project.
96+
With this AppMap Data in your project, asking questions to Navie will now include data flows, sequence diagrams, traces, in addition to the relevant code snippets for the project.
7797

7898
![Navie AppMap context window 2](/assets/img/navie-appmap-context-window.webp)
7999

80100
## Next Steps
81101

82-
Continue to ask questions to Navie, creating new code for your application, and continue to generate additional AppMap Data as your code changes. On each subsequent question asked, Navie will re-query your AppMap Data, traces, data flows, and source code for your project to power the context for the answer.
102+
Continue to ask questions to Navie, creating new code for your application, and continue to generate additional AppMap Data as your code changes. On each subsequent question asked, Navie will re-query your AppMap Data, traces, data flows, and source code for your project to power the context for the answer.
83103

84-
[Learn more about making AppMap Data to improve Navie response accuracy](/docs/get-started-with-appmap/making-appmap-data)
104+
[Learn more about making AppMap Data to improve Navie response accuracy](/docs/get-started-with-appmap/making-appmap-data)

docs/navie-reference/navie-options.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ When enabled, gather will perform any or all of the following actions:
7676
- List files in the repository.
7777
- Fetch full the full content of a file in the repository.
7878
- Search the repository for context by keyword.
79+
- Fetch the diff between the current working code and the base branch.
7980

8081
Gatherer runs autonomously, there's no user control over what actions it will take. To explicitly
8182
control the context that's available to Navie, you can other features such as pinned files,
@@ -118,4 +119,54 @@ To include only Python files and exclude files containing the word "test":
118119

119120
```shell
120121
@plan /include=\.py /exclude=test
121-
```
122+
```
123+
124+
## /diff
125+
126+
The `/diff` option is used to enable or disable the diff feature. This option allows you to control whether Navie should show the difference between the current working code and the base branch.
127+
128+
**Syntax**
129+
```shell
130+
/diff
131+
```
132+
133+
**Description**
134+
135+
While gathering context, Navie will automatically collect the diff between the current working code and the base branch. This feature can help provide more accurate and relevant responses by considering the changes made in the codebase.
136+
137+
The diff information collected uses the git `log` format, so it includes individual commits as well as the commit messages.
138+
139+
The base branch will be determined automatically based on the history. The history is searched for a branch called `main`, `master`, or `develop`. The base branch can be specified manually using the `/base` option.
140+
141+
**Example**
142+
143+
To enable the diff feature, you can use:
144+
145+
```shell
146+
/diff <question>
147+
```
148+
149+
## /base
150+
151+
The `/base` option is used to specify the base branch for the diff feature. This option allows you to control which branch Navie should use as the base when showing the difference between the current working code and the base branch.
152+
153+
**Syntax**
154+
```shell
155+
/base=<branch-name>
156+
```
157+
158+
- `<branch-name>`: The name of the branch to be used as the base branch.
159+
160+
**Description**
161+
162+
When executing commands, the `/base` option specifies the base branch for the diff feature. If not specified, the base branch will be determined automatically based on the history. The history is searched for a branch called `main`, `master`, or `develop`.
163+
164+
If you specify the `/base` option, then `/diff` option is automatically enabled.
165+
166+
**Example**
167+
168+
To specify the base branch as `work`, you can use:
169+
170+
```shell
171+
@generate /base=work <question>
172+
```

0 commit comments

Comments
 (0)