You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/appmap-docs.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ By using AppMap data, Navie is the first AI code architect with the context to u
18
18
19
19
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).
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.
22
22
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.
24
25
25
26
## Open AppMap Navie AI
26
27
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.
28
29
29
30
To open the Navie Chat, open the AppMap plugin in the sidebar menu for your code editor, and select the `New Navie Chat` option.
30
31
31
-

32
+

32
33
33
34
## Ask Navie about your App
34
35
35
36
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.
36
37
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.
40
39
41
40
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.
42
41
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:
44
45
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:**
46
47
47
-
**Always available:**
48
48
- Code Snippets
49
49
- Pinned Content
50
50
51
51
<pclass="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>
52
52
53
-
**If AppMap Data exists:**
53
+
**If AppMap Data exists:**
54
+
54
55
- Sequence Diagrams
55
56
- HTTP Requests
56
57
- SQL Queries
57
58
- Other I/O Data
58
59
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:**
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
+

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
+
66
86
## Improve Navie AI Responses with AppMap Data
67
87
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.
69
89
70
90
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.
71
91
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.
73
93
74
94

75
95
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.
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.
83
103
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)
Copy file name to clipboardExpand all lines: docs/navie-reference/navie-options.md
+52-1Lines changed: 52 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,7 @@ When enabled, gather will perform any or all of the following actions:
76
76
- List files in the repository.
77
77
- Fetch full the full content of a file in the repository.
78
78
- Search the repository for context by keyword.
79
+
- Fetch the diff between the current working code and the base branch.
79
80
80
81
Gatherer runs autonomously, there's no user control over what actions it will take. To explicitly
81
82
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":
118
119
119
120
```shell
120
121
@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:
0 commit comments