Commit graph

10395 commits

Author SHA1 Message Date
Paul Gauthier
fb6ada2774 copy 2023-05-21 16:25:02 -07:00
Paul Gauthier
3e7ce3b0fc copy 2023-05-21 16:23:54 -07:00
Paul Gauthier
d93018111b copy 2023-05-21 16:22:23 -07:00
Paul Gauthier
bb8520898a aider: Added link to "add-test" example in "examples/README.md".
# Context:
USER: add the add-test example to the example readme
ASSISTANT: I need to see the content of the README file to make the requested changes. Please provide the content of the README file.
USER: Please note that I shared content of these additional files: examples/add-test.md, examples/README.md
ASSISTANT: I apologize for the oversight. I will now add the "add-test" example to the "examples/README.md" file.

Here's the code change:

```markdown
examples/README.md
<<<<<<< ORIGINAL
* [**CSS Exercise: Animation Dropdown Menu**](css-exercises.md): A small CSS exercise involving adding animation to a dropdown menu.

* [**Automatically Update Docs**](update-docs.md): Automatically updating documentation based on the latest version of the main() function.
=======
* [**CSS Exercise: Animation Dropdown Menu**](css-exercises.md): A small CSS exercise involving adding animation to a dropdown menu.

* [**Automatically Update Docs**](update-docs.md): Automatically updating documentation based on the latest version of the main() function.

* [**Add Test Example**](add-test.md): Creating a "black box" test case for the `cmd_add()` function without access to the source code, using a ctags-based repo map.
>>>>>>> UPDATED
```

This change adds a link to the "add-test" example in the "examples/README.md" file.
2023-05-21 16:20:58 -07:00
Paul Gauthier
f5d59fa033 copy 2023-05-21 16:19:23 -07:00
Paul Gauthier
e34c35ff9b copy 2023-05-21 16:16:21 -07:00
Paul Gauthier
d687261194 copy 2023-05-21 16:13:40 -07:00
Paul Gauthier
8297a7251f copy 2023-05-21 16:10:17 -07:00
Paul Gauthier
081781dcf1 copy 2023-05-21 16:00:58 -07:00
Paul Gauthier
64acbaecac copy 2023-05-21 15:58:57 -07:00
Paul Gauthier
f4f1c0cb1c added test example 2023-05-21 15:57:44 -07:00
Paul Gauthier
6df03a8dfb aider: Updated title of docs/ctags.md to "Improving GPT-4's codebase understanding with ctags".
# Context:
USER: can you suggest 10 different options for the title?
ASSISTANT: Here are 10 different title options for the `docs/ctags.md` file:

1. "Leveraging ctags for Enhanced Code Navigation in GPT-4"
2. "Improving GPT-4's Codebase Understanding with ctags"
3. "ctags: A Powerful Tool for GPT-4's Repo Navigation"
4. "Boosting GPT-4's Codebase Comprehension using ctags"
5. "Navigating Large Repositories with GPT-4 and ctags"
6. "Enhancing GPT-4's Repo Exploration Capabilities with ctags"
7. "ctags: Empowering GPT-4 to Handle Bigger Codebases"
8. "Supercharging GPT-4's Codebase Navigation with ctags"
9. "ctags: A Key to Unlocking GPT-4's Potential in Large Repos"
10. "Optimizing GPT-4's Repo Understanding through ctags Integration"

Please let me know which title you would like to use, and I will provide the necessary edit block to update the title in the `docs/ctags.md` file.
USER: 2, but normal capitalization
ASSISTANT: Here's the edit block to update the title in the `docs/ctags.md` file with the chosen option "Improving GPT-4's codebase understanding with ctags" using normal capitalization:

```markdown
docs/ctags.md
<<<<<<< ORIGINAL
# Enhancing GPT-4's understanding of repos using ctags
=======
# Improving GPT-4's codebase understanding with ctags
>>>>>>> UPDATED
```

This will replace the original title with the new one.
2023-05-21 15:52:20 -07:00
paul-gauthier
cf5fa778c8
Update ctags.md 2023-05-21 15:04:22 -07:00
paul-gauthier
9ccae2e5ef
Update ctags.md 2023-05-21 14:58:01 -07:00
paul-gauthier
d1ccd1328c
Update ctags.md 2023-05-21 14:55:32 -07:00
Paul Gauthier
cc3de6730a copy 2023-05-21 14:45:59 -07:00
Paul Gauthier
c99f242555 copy 2023-05-21 14:43:25 -07:00
Paul Gauthier
a81c94b197 copy 2023-05-21 14:42:23 -07:00
Paul Gauthier
eab65ee49d copy 2023-05-21 14:40:56 -07:00
Paul Gauthier
ff4dbb8973 copy 2023-05-21 14:38:23 -07:00
Paul Gauthier
386a262434 copy 2023-05-21 14:35:27 -07:00
Paul Gauthier
a78d8a7121 copy 2023-05-21 14:30:05 -07:00
Paul Gauthier
b081dd9e19 copy 2023-05-21 14:29:47 -07:00
Paul Gauthier
dde6577cdf aider: Enhanced GPT-4's understanding of entire repos using ctags.
# Context:
USER: improve the first para
ASSISTANT: ```markdown
docs/ctags.md
<<<<<<< ORIGINAL
# Using ctags to help GPT-4 understand an entire repo

GPT-4 is great at coding, but it's hard to work with it to make
modifications inside a large code base.
GPT can't really understand and navigate more code than can fit
in its context window.
And many
common types of code changes will need knowledge and context from
multiple files strewn about the repo.
A new experimental feature of `aider` uses `ctags` to give GPT a
**repo map**, so that it can better understand and navigate larger repos.
=======
# Enhancing GPT-4's understanding of entire repos using ctags

While GPT-4 excels at coding tasks, it struggles with making modifications within large code bases. Its limited context window prevents it from understanding and navigating code beyond its capacity. Many common code changes require knowledge and context from multiple files scattered throughout the repo. To address this issue, `aider` introduces an experimental feature that utilizes `ctags` to provide GPT with a **repo map**, enabling it to better comprehend and navigate larger repositories.
>>>>>>> UPDATED
```
2023-05-21 14:28:26 -07:00
Paul Gauthier
f35bc2f157 copy 2023-05-21 14:27:37 -07:00
Paul Gauthier
adcfbf5d85 copy 2023-05-21 14:26:46 -07:00
Paul Gauthier
8e6774babd copy 2023-05-21 14:24:26 -07:00
Paul Gauthier
7cef19e455 copy 2023-05-21 14:23:54 -07:00
Paul Gauthier
aac77d9659 aider: Improve para starting 'Of course for large repos' in ctags.md.
# Context:
USER: improve the para starting "Of course for large repos"
ASSISTANT: ```markdown
docs/ctags.md
<<<<<<< ORIGINAL
Of course, for large repos even their map might be too large for
the context window.
But this mapping approach enables
collaboration with GPT-4 on larger code bases
than was previously possible.
And it reduces the need to manually curate which files to add
to the chat, giving GPT itself more ability to identify which files
are relevant to the task at hand.
=======
Of course, for large repositories, even their map might be too large for the context window. However, this mapping approach significantly improves collaboration with GPT-4 on larger codebases compared to previous methods. It also minimizes the need for manual curation of files to add to the chat, empowering GPT to autonomously identify relevant files for the task at hand.
>>>>>>> UPDATED
```
2023-05-21 14:22:51 -07:00
Paul Gauthier
29bb9398df copy 2023-05-21 14:21:41 -07:00
Paul Gauthier
35d99ee08b copy 2023-05-21 14:19:13 -07:00
Paul Gauthier
e64353ada1 copy 2023-05-21 14:18:57 -07:00
Paul Gauthier
fe1d0b0e09 copy 2023-05-21 14:17:27 -07:00
Paul Gauthier
3f1eaf566c copy 2023-05-21 14:16:13 -07:00
Paul Gauthier
e047976ce4 copy 2023-05-21 14:15:44 -07:00
Paul Gauthier
8b28539b4e copy 2023-05-21 14:14:30 -07:00
Paul Gauthier
897e19372e copy 2023-05-21 14:12:42 -07:00
Paul Gauthier
7c8bc9453c copy 2023-05-21 14:10:32 -07:00
Paul Gauthier
cfab008989 copy 2023-05-21 12:55:54 -07:00
Paul Gauthier
ab4b379db3 copy 2023-05-21 12:51:05 -07:00
Paul Gauthier
5db6346a39 added ctags doc 2023-05-21 12:50:31 -07:00
Paul Gauthier
4f2e1d14ef sort the file list in the prompt 2023-05-20 07:28:23 -07:00
Paul Gauthier
ffe3da4df1 do not sent file lists longer than 100 files 2023-05-19 16:17:40 -07:00
paul-gauthier
7d08c346bb
Merge pull request #4 from mobyvb/prompt-compression
aider/prompts.py: reduce token size of prompts
2023-05-19 16:10:26 -07:00
Paul Gauthier
c441906a22 aider: Made -v a short option for --verbose.
# Context:
USER: make -v short for --verbose
ASSISTANT: To make `-v` a short option for `--verbose`, you can modify the `aider/main.py` file. Here's the change:

```python
aider/main.py
<<<<<<< ORIGINAL
    parser.add_argument(
        "--verbose",
        action="store_true",
        help="Enable verbose output",
        default=False,
    )
=======
    parser.add_argument(
        "-v", "--verbose",
        action="store_true",
        help="Enable verbose output",
        default=False,
    )
>>>>>>> UPDATED
```
2023-05-19 10:57:59 -07:00
Paul Gauthier
7e6ea0660d Refactor show_messages function to accept an optional title parameter and remove unused code. 2023-05-19 10:57:24 -07:00
Paul Gauthier
10e38e1fe9 aider: Added --verbose option to enable verbose output.
# Context:
USER: Add --verbose with no env default. pass into Coder and set self.verbose
ASSISTANT: To add the `--verbose` option, we need to modify the `aider/main.py` file. Here's the step-by-step process:

1. Add the `--verbose` argument to the `argparse.ArgumentParser` in the `main` function.
2. Pass the `args.verbose` value to the `Coder` class when initializing it.
3. Update the `Coder` class in the `aider/coder.py` file to accept the `verbose` parameter and set `self.verbose`.

Here are the changes to the code:

```python
aider/main.py
<<<<<<< ORIGINAL
    parser.add_argument(
        "--yes",
        action="store_true",
        help="Always say yes to every confirmation",
        default=False,
    )
=======
    parser.add_argument(
        "--yes",
        action="store_true",
        help="Always say yes to every confirmation",
        default=False,
    )
    parser.add_argument(
        "--verbose",
        action="store_true",
        help="Enable verbose output",
        default=False,
    )
>>>>>>> UPDATED
```

```python
aider/main.py
<<<<<<< ORIGINAL
    coder = Coder(
        io,
        main_model=args.model,
        fnames=args.files,
        pretty=args.pretty,
        show_diffs=args.show_diffs,
        auto_commits=args.auto_commits,
        dry_run=args.dry_run,
        use_ctags=args.ctags,
    )
=======
    coder = Coder(
        io,
        main_model=args.model,
        fnames=args.files,
        pretty=args.pretty,
        show_diffs=args.show_diffs,
        auto_commits=args.auto_commits,
        dry_run=args.dry_run,
        use_ctags=args.ctags,
        verbose=args.verbose,
    )
>>>>>>> UPDATED
```

```python
aider/coder.py
<<<<<<< ORIGINAL
    def __init__(
        self,
        io,
        main_model="gpt-4",
        fnames=None,
        pretty=True,
        show_diffs=False,
        auto_commits=True,
        dry_run=False,
        use_ctags=False,
    ):
=======
    def __init__(
        self,
        io,
        main_model="gpt-4",
        fnames=None,
        pretty=True,
        show_diffs=False,
        auto_commits=True,
        dry_run=False,
        use_ctags=False,
        verbose=False,
    ):
        self.verbose = verbose
>>>>>>> UPDATED
```
2023-05-19 10:55:48 -07:00
Paul Gauthier
7d2c59432e copy 2023-05-19 10:52:23 -07:00
Paul Gauthier
a7d9a4790f aider: Added --ctags option to the usage section in README.md.
# Context:
USER: update the usage to include --ctags
ASSISTANT: ```markdown
README.md
<<<<<<< ORIGINAL
You can also use additional command-line options to customize the behavior of the tool. The following options are available, along with their corresponding environment variable overrides:

- `--input-history-file INPUT_HISTORY_FILE`: Specify the chat input history file (default: .aider.input.history). Override the default with the environment variable `AIDER_INPUT_HISTORY_FILE`.
- `--chat-history-file CHAT_HISTORY_FILE`: Specify the chat history file (default: .aider.chat.history.md). Override the default with the environment variable `AIDER_CHAT_HISTORY_FILE`.
- `--model MODEL`: Specify the model to use for the main chat (default: gpt-4). Override the default with the environment variable `AIDER_MODEL`.
- `-3`: Use gpt-3.5-turbo model for the main chat (not advised). No environment variable override.
=======
You can also use additional command-line options to customize the behavior of the tool. The following options are available, along with their corresponding environment variable overrides:

- `--input-history-file INPUT_HISTORY_FILE`: Specify the chat input history file (default: .aider.input.history). Override the default with the environment variable `AIDER_INPUT_HISTORY_FILE`.
- `--chat-history-file CHAT_HISTORY_FILE`: Specify the chat history file (default: .aider.chat.history.md). Override the default with the environment variable `AIDER_CHAT_HISTORY_FILE`.
- `--model MODEL`: Specify the model to use for the main chat (default: gpt-4). Override the default with the environment variable `AIDER_MODEL`.
- `-3`: Use gpt-3.5-turbo model for the main chat (not advised). No environment variable override.
- `--ctags`: Add ctags to the chat to help GPT understand the codebase (default: False, `AIDER_CTAGS`). Override the default with the environment variable `AIDER_CTAGS`.
>>>>>>> UPDATED
```
I've updated the usage section in the README.md to include the `--ctags` option.
2023-05-19 10:50:53 -07:00
Paul Gauthier
b82bb65b86 help msg for --ctags 2023-05-19 10:49:11 -07:00