Skip to content

Commit

Permalink
Merge pull request #1 from codeautopilot/add-new-structure-and-docs
Browse files Browse the repository at this point in the history
added more information and structure to docs
  • Loading branch information
caxaria authored Oct 30, 2023
2 parents 9519046 + 2e7d2a9 commit a936ded
Show file tree
Hide file tree
Showing 15 changed files with 287 additions and 149 deletions.
9 changes: 0 additions & 9 deletions docs/Settings/_category_.json

This file was deleted.

17 changes: 0 additions & 17 deletions docs/Settings/default.md

This file was deleted.

19 changes: 0 additions & 19 deletions docs/Settings/ignore.md

This file was deleted.

19 changes: 19 additions & 0 deletions docs/community-and-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
sidebar_position: 10
---
# Community and Support

Engaging with the community and accessing support are integral aspects of making the most out of Code Autopilot.

## Providing Feedback

Your feedback is invaluable to us! If you encounter issues or have suggestions for improving Code Autopilot, please report them through [email](mailto:[email protected]).

## Additional Resources

For further assistance or to learn more about Code Autopilot, consider exploring the following resources:

- **[Official Website](https://www.codeautopilot.com)**: Discover more about Code Autopilot, its features, and how it can benefit your development process.
- **[GitHub Repository](https://github.com/codeautopilot/docs)**: Explore the Code Autopilot Docs GitHub repository to help build the knowledge base around Autopilot.
- **[Community](https://discord.gg/r72ykfvyx7)**: Join the Code Autopilot community in discord to connect with other users, share experiences, and learn from others.

89 changes: 89 additions & 0 deletions docs/configuring-autopilot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
sidebar_position: 8
---
# Configuring Autopilot

This page provides guidance on configuring Autopilot to suit your project's needs. You can control how Autopilot interacts with issues and specify files or folders to be ignored during its operations.

## Work on Issues by Default

By default, Autopilot is activated for all issues opened in your repositories. However, this behavior can be modified through the configuration file.

Create an `autopilot.json` file in the root of your project and configure it as shown below:

```json title="/autopilot.json"
{
"workOnAllIssues": false
}
```

With the `workOnAllIssues` set to `false`, Autopilot will only engage with issues that:
- Mention `@autopilot` in their description, or
- Have an "autopilot" label attached to them.

## Excluding Files and Folders

Instructing Autopilot to ignore certain files or folders in your repository can be beneficial for:

- **Cost Efficiency**: Reducing operational costs by excluding unnecessary files or folders.
- **Improved File Selection**: Enhancing the likelihood of Autopilot selecting the correct files for a task.
- **Repo Size Management**: Managing the size of your repository if it's too large.

Update the `autopilot.json` file at the root of your project to include the ignore configuration:

```json title="/autopilot.json"
{
"ignore": ["**/folder_to_ignore/**"]
}
```

This configuration utilizes glob patterns to specify the files and folders to be ignored.

Glob patterns are utilized to match file paths based on wildcard characters. Below is a brief explanation along with examples illustrating how glob works:

- `*` matches any sequence of characters in a single directory.
- `**` matches any sequence of characters across multiple directories (recursively).
- `?` matches exactly one character.

### Example 1
Suppose you have a directory structure like this:
```plaintext
src/
|-- components/
| |-- Button.js
| |-- Icon.js
|-- styles/
| |-- main.css
| |-- reset.css
|-- index.js
```

If you want to exclude all JavaScript files in the `**components**` directory, your glob pattern would be:

```plaintext
src/components/*.js
```

### Example 2
To exclude all CSS files anywhere in the `**src**` directory or its subdirectories:

```plaintext
src/**/*.css
```

### Example 3
To exclude all files in the `**styles**` directory:

```plaintext
src/styles/*.*
```

### Example 4
If you only want to exclude a specific file, you would specify the full path:

```plaintext
src/components/Button.js
```

These glob patterns can be tested and visualized using the [Globster](https://globster.xyz/) tool, which can help ensure they are configured correctly to match the desired files and directories.

5 changes: 1 addition & 4 deletions docs/getting-started/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,5 @@
"position": 2,
"label": "Getting Started",
"collapsible": true,
"collapsed": false,
"link": {
"type": "generated-index"
}
"collapsed": false
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 3
---

# Create a new issue
Expand Down
27 changes: 27 additions & 0 deletions docs/getting-started/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
slug: /getting-started
sidebar_position: 2
tags:
- Getting started
---

# Getting Started

This section guides you through the initial setup process, enabling you to start automating your development tasks with Code Autopilot. Follow the steps below to get started.

## Prerequisites

Before you begin with Code Autopilot, ensure you have the following:

- A GitHub account. If you don’t have a GitHub account, create one [here](https://github.com/join).
- Your code is hosted on a GitHub repository.

## Installation

Follow the steps below to set up Code Autopilot:

1. **Install GitHub App**: Install the Code Autopilot GitHub App on your repositories [here](https://github.com/marketplace/code-autopilot-ai-coder).
2. **Create a New Issue**: In one of your repositories, [**create a new issue**](./getting-started/create-issue) and describe the task you want to automate. Remember to mention `@autopilot` to invoke Autopilot.
3. Autopilot will start indexing your repository and will reply to your issue with a suggested solution

By completing the above steps, you've successfully set up Code Autopilot and are ready to start automating your development tasks!
69 changes: 69 additions & 0 deletions docs/getting-started/issue-advice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
sidebar_position: 1
---
# How to create good issues


Creating well-defined issues is essential for obtaining accurate and helpful suggestions from Code Autopilot. This section provides guidelines on crafting effective issues that communicate your tasks clearly to the AI.

Creating issues for autopilot is similar to creating issues for humans.
Providing detailed information on your issues will result in better suggestions from the bot.

You should spend a few minutes making sure that your task is descriptive and issue to understand for someone that is not familiar with your code.

:::note

At this moment, autopilot is not able to read images or follow links that you add to the description

:::

## Guidelines

- **Be Descriptive**: Provide as much detail as possible to describe the task at hand.
- **Use Clear Language**: Avoid jargon and ensure your description is easy to understand, even for individuals not familiar with your code.
- **Provide Context**: If the task relates to existing code or features, provide relevant context to help Autopilot understand the bigger picture.
- **Invoke autopilot**: Make sure you mention `@autopilot` so that Autopilot knows it should work on that issue.


## Example 1 - OAuth task

### Issue Title
Implement OAuth 2.0 Authentication

### Description

**What**:
Implement OAuth 2.0 authentication to allow users to log in using their Google accounts.

**Why**:
This will provide a more user-friendly login experience and potentially increase sign-up rates.

**How**:
1. Set up a project on the Google Developer Console and configure the OAuth 2.0 credentials.
2. Utilize a library such as Passport.js to integrate OAuth 2.0 authentication in our Node.js application.
3. Ensure that the authentication flow works seamlessly and securely, adhering to best practices.

**Invoke Autopilot**:
@autopilot


## Example 2 - Billing task

### Issue Title
Implement a Robust Billing System

### Description

**What**:
Develop and integrate a billing system to handle user subscriptions and payments.

**Why**:
This will automate the payment processing, making it easier for users to subscribe and for us to manage subscriptions.

**How**:
1. Evaluate and select a suitable billing platform or library such as Stripe.
2. Design the billing system to handle different subscription tiers, one-time payments, and recurring charges.
3. Ensure the system complies with security standards and regulations, such as PCI DSS.

**Invoke Autopilot**:
@autopilot
31 changes: 0 additions & 31 deletions docs/getting-started/issueAdvice.md

This file was deleted.

28 changes: 28 additions & 0 deletions docs/getting-started/user-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
sidebar_position: 1
tags:
- Getting started
---

# User Guide

This section provides a detailed guide on how to use Code Autopilot for various tasks.

## Proposing a Coding Solution

1. **Create a New Issue**: In your GitHub repository, create a new issue describing the task for which you need a coding solution.
2. **Invoke Autopilot**: Mention `@autopilot` in the issue description or on a comment to invoke Autopilot on the task.
3. **Review Suggestions**: Once Autopilot processes the task description, review the suggested coding solution provided.

## Bug Fixing

1. **Create a Bug Ticket**: Create a ticket describing the bug you wish to fix.
2. **Invoke Autopilot**: Mention `@autopilot` in the ticket description or on a comment to invoke Autopilot on the bug.
3. **Review Suggestions**: Review the suggested bug fix provided by Autopilot, and implement the fix as necessary.

## Reviewing PRs

1. **Open a Pull Request**: Open a pull request (PR) in your GitHub repository.
2. **Invoke Autopilot**: `@autopilot` will automatically comment on the PR with the intent of the author and additional improvements, if any.

These guidelines will help you utilize Code Autopilot effectively for proposing coding solutions, fixing bugs, and reviewing PRs.
32 changes: 16 additions & 16 deletions docs/intro.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
---
slug: /
sidebar_position: 1
tags:
- Intro
tags:
- Getting started
---

# Introduction

**Code Autopilot** is tool that applies SOTA LLMs to software development processes. You can ask it to:
## Overview of Code Autopilot

- Provide step-by-step instructions on how to **implement features**
- **Fix bugs**
- **Explain** how a codebase works


## Getting Started
**Code Autopilot** is an advanced tool designed to assist software developers in automating tasks, bug fixing, and code reviewing. By leveraging state-of-the-art Language Models (SOTA LLMs), Code Autopilot simplifies and expedites the software development process, making it an indispensable asset for modern development teams.

To use Autopilot, you need to have a github account and your code hosted in a github repository.
## Core Features

Steps:
1. Install our [Github App](https://github.com/marketplace/code-autopilot-ai-coder) in your repositories
2. Go to one of the repositories where you installed the app and [**create a new issue**](./getting-started/createissue)
3. Autopilot will start indexing your repository and will reply to your issue with a suggested solution

By default, autopilot will work on all issue opened, but it is possible to change that setting.
- **Proposing Coding Solutions**: Given a task description, Autopilot proposes a coding solution to implement the required functionality.
- **Bug Fixing**: Upon receiving a bug ticket, Autopilot suggests a fix to resolve the identified issue.
- **Reviewing PRs**: Autopilot aids in reviewing pull requests by commenting on the PR, explaining the intent of the author, and offering suggestions for improvement.
- **Explain** how a codebase works
- Create tests *(Coming soon)*
- Help build tasks that are compreensive and refined *(Coming soon)*
- Rewrite commits and pull request descriptions *(Coming soon)*
- Create release notes *(Coming soon)*
- Create documentation *(Coming soon)*
- Chat in the comments for additional information *(Coming soon)*

To make the most of Code Autopilot, ensure your task descriptions are clear and detailed. Mention `@autopilot` in your issue descriptions to invoke Autopilot on a particular task.
Loading

0 comments on commit a936ded

Please sign in to comment.